From 090e0b675755525e98ede205d7dea5ace53e0ab5 Mon Sep 17 00:00:00 2001 From: drtshock Date: Mon, 20 Apr 2015 18:04:09 -0500 Subject: [PATCH] Add banner meta. Resolves #8. --- .../src/com/earth2me/essentials/ItemDb.java | 12 +++++++ .../earth2me/essentials/MetaItemStack.java | 33 ++++++++++++++++--- Essentials/src/messages.properties | 3 +- Essentials/src/messages_cs.properties | 3 +- Essentials/src/messages_da.properties | 3 +- Essentials/src/messages_de.properties | 3 +- Essentials/src/messages_en.properties | 3 +- Essentials/src/messages_es.properties | 3 +- Essentials/src/messages_et.properties | 3 +- Essentials/src/messages_fi.properties | 3 +- Essentials/src/messages_fr.properties | 3 +- Essentials/src/messages_hu.properties | 3 +- Essentials/src/messages_it.properties | 3 +- Essentials/src/messages_ko.properties | 3 +- Essentials/src/messages_lt.properties | 3 +- Essentials/src/messages_nl.properties | 3 +- Essentials/src/messages_pl.properties | 3 +- Essentials/src/messages_pt.properties | 3 +- Essentials/src/messages_pt_BR.properties | 3 +- Essentials/src/messages_ro.properties | 3 +- Essentials/src/messages_ru.properties | 3 +- Essentials/src/messages_sv.properties | 3 +- Essentials/src/messages_tr.properties | 3 +- Essentials/src/messages_zh.properties | 3 +- Essentials/src/messages_zh_HK.properties | 3 +- Essentials/src/messages_zh_TW.properties | 3 +- 26 files changed, 88 insertions(+), 29 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/ItemDb.java b/Essentials/src/com/earth2me/essentials/ItemDb.java index 0429126b8..b799552dc 100644 --- a/Essentials/src/com/earth2me/essentials/ItemDb.java +++ b/Essentials/src/com/earth2me/essentials/ItemDb.java @@ -320,6 +320,18 @@ public class ItemDb implements IConf, net.ess3.api.IItemDb { int rgb = leatherArmorMeta.getColor().asRGB(); sb.append("color:").append(rgb).append(" "); break; + case BANNER: + BannerMeta bannerMeta = (BannerMeta) is.getItemMeta(); + if (bannerMeta != null) { + int basecolor = bannerMeta.getBaseColor().getColor().asRGB(); + sb.append("basecolor:").append(basecolor).append(" "); + for (org.bukkit.block.banner.Pattern p : bannerMeta.getPatterns()) { + String type = p.getPattern().getIdentifier(); + int color = p.getColor().getColor().asRGB(); + sb.append(type).append(",").append(color).append(" "); + } + } + break; } return sb.toString().trim().replaceAll("ยง", "&"); diff --git a/Essentials/src/com/earth2me/essentials/MetaItemStack.java b/Essentials/src/com/earth2me/essentials/MetaItemStack.java index 6c223e1de..ac0b08553 100644 --- a/Essentials/src/com/earth2me/essentials/MetaItemStack.java +++ b/Essentials/src/com/earth2me/essentials/MetaItemStack.java @@ -11,6 +11,7 @@ import org.bukkit.Color; import org.bukkit.DyeColor; import org.bukkit.FireworkEffect; import org.bukkit.Material; +import org.bukkit.block.banner.PatternType; import org.bukkit.enchantments.Enchantment; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.*; @@ -189,12 +190,12 @@ public class MetaItemStack { final FireworkMeta meta = (FireworkMeta) stack.getItemMeta(); meta.setPower(power > 3 ? 4 : power); stack.setItemMeta(meta); - } else if (stack.getType() == Material.FIREWORK) //WARNING - Meta for fireworks will be ignored after this point. - { + } else if (stack.getType() == Material.FIREWORK) {//WARNING - Meta for fireworks will be ignored after this point. addFireworkMeta(sender, false, string, ess); - } else if (stack.getType() == Material.POTION) //WARNING - Meta for potions will be ignored after this point. - { + } else if (stack.getType() == Material.POTION) { //WARNING - Meta for potions will be ignored after this point. addPotionMeta(sender, false, string, ess); + } else if (stack.getType() == Material.BANNER) { //WARNING - Meta for banners will be ignored after this point. + addBannerMeta(sender, false, string, ess); } else if (split.length > 1 && (split[0].equalsIgnoreCase("color") || split[0].equalsIgnoreCase("colour")) && (stack.getType() == Material.LEATHER_BOOTS || stack.getType() == Material.LEATHER_CHESTPLATE || stack.getType() == Material.LEATHER_HELMET || stack.getType() == Material.LEATHER_LEGGINGS)) { final String[] color = split[1].split("(\\||,)"); if (color.length == 3) { @@ -215,7 +216,6 @@ public class MetaItemStack { public void addFireworkMeta(final CommandSource sender, final boolean allowShortName, final String string, final IEssentials ess) throws Exception { if (stack.getType() == Material.FIREWORK) { final String[] split = splitPattern.split(string, 2); - if (split.length < 2) { return; } @@ -401,6 +401,29 @@ public class MetaItemStack { return enchantment; } + public void addBannerMeta(final CommandSource sender, final boolean allowShortName, final String string, final IEssentials ess) throws Exception { + if (stack.getType() == Material.BANNER && string != null) { + final String[] split = splitPattern.split(string, 2); + + if (split.length < 2) { + throw new Exception(tl("invalidBanner", split[1])); + } + + final BannerMeta meta = (BannerMeta) stack.getItemMeta(); + if (split[0].equalsIgnoreCase("basecolor")) { + Color color = Color.fromRGB(Integer.valueOf(split[1])); + meta.setBaseColor(DyeColor.getByColor(color)); + } else if (PatternType.valueOf(split[0]) != null) { + PatternType type = PatternType.valueOf(split[0]); + DyeColor color = DyeColor.getByColor(Color.fromRGB(Integer.valueOf(split[1]))); + org.bukkit.block.banner.Pattern pattern = new org.bukkit.block.banner.Pattern(color, type); + meta.addPattern(pattern); + } + + stack.setItemMeta(meta); + } + } + private boolean hasMetaPermission(final CommandSource sender, final String metaPerm, final boolean graceful, final boolean includeBase, final IEssentials ess) throws Exception { final User user = sender != null && sender.isPlayer() ? ess.getUser(sender.getPlayer()) : null; return hasMetaPermission(user, metaPerm, graceful, includeBase); diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties index 51fb9f3cc..d60ead2af 100644 --- a/Essentials/src/messages.properties +++ b/Essentials/src/messages.properties @@ -560,4 +560,5 @@ createKit=\u00a74/createkit createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_cs.properties b/Essentials/src/messages_cs.properties index 6af9d4a72..62331ff98 100644 --- a/Essentials/src/messages_cs.properties +++ b/Essentials/src/messages_cs.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_da.properties b/Essentials/src/messages_da.properties index c0b3f427d..502da6dd0 100644 --- a/Essentials/src/messages_da.properties +++ b/Essentials/src/messages_da.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_de.properties b/Essentials/src/messages_de.properties index 0200b2a2f..958223bf8 100644 --- a/Essentials/src/messages_de.properties +++ b/Essentials/src/messages_de.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_en.properties b/Essentials/src/messages_en.properties index b16a2dfb9..b7eeaf733 100644 --- a/Essentials/src/messages_en.properties +++ b/Essentials/src/messages_en.properties @@ -559,4 +559,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_es.properties b/Essentials/src/messages_es.properties index cc3f2befa..6acbe1784 100644 --- a/Essentials/src/messages_es.properties +++ b/Essentials/src/messages_es.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_et.properties b/Essentials/src/messages_et.properties index e94c04a7c..0e0d1a033 100644 --- a/Essentials/src/messages_et.properties +++ b/Essentials/src/messages_et.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_fi.properties b/Essentials/src/messages_fi.properties index 7ec9f2cc3..444f51c68 100644 --- a/Essentials/src/messages_fi.properties +++ b/Essentials/src/messages_fi.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_fr.properties b/Essentials/src/messages_fr.properties index 083adac74..85d5db47e 100644 --- a/Essentials/src/messages_fr.properties +++ b/Essentials/src/messages_fr.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_hu.properties b/Essentials/src/messages_hu.properties index 24a9787d9..6891a24c4 100644 --- a/Essentials/src/messages_hu.properties +++ b/Essentials/src/messages_hu.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_it.properties b/Essentials/src/messages_it.properties index 838899c5b..512514fef 100644 --- a/Essentials/src/messages_it.properties +++ b/Essentials/src/messages_it.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_ko.properties b/Essentials/src/messages_ko.properties index 382ca0a8d..3d25cfee3 100644 --- a/Essentials/src/messages_ko.properties +++ b/Essentials/src/messages_ko.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_lt.properties b/Essentials/src/messages_lt.properties index 269ed3a58..ad725fa02 100644 --- a/Essentials/src/messages_lt.properties +++ b/Essentials/src/messages_lt.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_nl.properties b/Essentials/src/messages_nl.properties index 81d04a1d8..0832e7e21 100644 --- a/Essentials/src/messages_nl.properties +++ b/Essentials/src/messages_nl.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_pl.properties b/Essentials/src/messages_pl.properties index c0cf46aef..3db93ccf2 100644 --- a/Essentials/src/messages_pl.properties +++ b/Essentials/src/messages_pl.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_pt.properties b/Essentials/src/messages_pt.properties index 94802b0a5..b1c8b901d 100644 --- a/Essentials/src/messages_pt.properties +++ b/Essentials/src/messages_pt.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_pt_BR.properties b/Essentials/src/messages_pt_BR.properties index ca992496b..4487392fe 100644 --- a/Essentials/src/messages_pt_BR.properties +++ b/Essentials/src/messages_pt_BR.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_ro.properties b/Essentials/src/messages_ro.properties index 5965842f7..a5a4f91e3 100644 --- a/Essentials/src/messages_ro.properties +++ b/Essentials/src/messages_ro.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_ru.properties b/Essentials/src/messages_ru.properties index 0995dcc25..3a30983da 100644 --- a/Essentials/src/messages_ru.properties +++ b/Essentials/src/messages_ru.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_sv.properties b/Essentials/src/messages_sv.properties index 782540702..0239686bb 100644 --- a/Essentials/src/messages_sv.properties +++ b/Essentials/src/messages_sv.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_tr.properties b/Essentials/src/messages_tr.properties index 6f3563ad2..eadf42d33 100644 --- a/Essentials/src/messages_tr.properties +++ b/Essentials/src/messages_tr.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_zh.properties b/Essentials/src/messages_zh.properties index a988b236a..6ca498600 100644 --- a/Essentials/src/messages_zh.properties +++ b/Essentials/src/messages_zh.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_zh_HK.properties b/Essentials/src/messages_zh_HK.properties index 86c0646f1..1c267dd5f 100644 --- a/Essentials/src/messages_zh_HK.properties +++ b/Essentials/src/messages_zh_HK.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file diff --git a/Essentials/src/messages_zh_TW.properties b/Essentials/src/messages_zh_TW.properties index c765e7f0b..0467d380f 100644 --- a/Essentials/src/messages_zh_TW.properties +++ b/Essentials/src/messages_zh_TW.properties @@ -560,4 +560,5 @@ cantGamemode=\u00a74You do not have permission to change to gamemode {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} spectator=spectator kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: -kitItem=\u00a76- \u00a7f{0} \ No newline at end of file +kitItem=\u00a76- \u00a7f{0} +invalidBanner=\u00a74Invalid banner syntax. \ No newline at end of file