From fdc262a205633a94e845014a771c9752d017b87f Mon Sep 17 00:00:00 2001 From: KHobbits Date: Mon, 14 Jan 2013 23:11:19 +0000 Subject: Start work on firework effect - syntax in flux --- .../src/com/earth2me/essentials/MetaItemStack.java | 40 +++++++++++++++++++++- Essentials/src/config.yml | 2 +- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/MetaItemStack.java b/Essentials/src/com/earth2me/essentials/MetaItemStack.java index 6a0257c8b..a5453f69e 100644 --- a/Essentials/src/com/earth2me/essentials/MetaItemStack.java +++ b/Essentials/src/com/earth2me/essentials/MetaItemStack.java @@ -7,6 +7,9 @@ import java.util.List; import java.util.Locale; import java.util.regex.Pattern; import org.bukkit.Color; +import org.bukkit.DyeColor; +import org.bukkit.FireworkEffect; +import org.bukkit.FireworkEffect.Builder; import org.bukkit.Material; import org.bukkit.enchantments.Enchantment; import org.bukkit.inventory.ItemStack; @@ -31,6 +34,7 @@ public class MetaItemStack //TODO: TL this public void addStringMeta(final User user, final boolean allowUnsafe, final String string, final IEssentials ess) throws Exception { + ess.getLogger().info("Adding meta to " + stack.getType().name()); final String[] split = splitPattern.split(string, 2); if (split.length < 1) { @@ -94,13 +98,47 @@ public class MetaItemStack meta.setTitle(title); stack.setItemMeta(meta); } + else if (split.length > 1 && split[0].equalsIgnoreCase("power") && stack.getType() == Material.FIREWORK) + { + final int power = Integer.parseInt(split[1]); + final FireworkMeta meta = (FireworkMeta)stack.getItemMeta(); + meta.setPower(power); + stack.setItemMeta(meta); + } + else if (split.length > 1 && split[0].equalsIgnoreCase("effect") && stack.getType() == Material.FIREWORK) + { + //TODO: Add validation messages + final FireworkMeta meta = (FireworkMeta)stack.getItemMeta(); + Builder builder = FireworkEffect.builder(); + + String[] effectData = split[1].toUpperCase(Locale.ENGLISH).split("\\|"); + + builder.with(FireworkEffect.Type.valueOf(effectData[0])); + + String[] primaryColorStrings = effectData[1].split(","); + List primaryColors = new ArrayList(); + + for (String primaryColorString : primaryColorStrings) { + primaryColors.add(DyeColor.valueOf(primaryColorString).getFireworkColor()); + } + + //if (effectData.length > 2) { + + //} + + builder.withColor(primaryColors); + + final FireworkEffect effect = builder.build(); + meta.addEffect(effect); + stack.setItemMeta(meta); + } 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("\\|"); + final String[] color = split[1].split(","); if (color.length == 3) { final int red = Util.isInt(color[0]) ? Integer.parseInt(color[0]) : 0; diff --git a/Essentials/src/config.yml b/Essentials/src/config.yml index fb91f18f0..dd68dba05 100644 --- a/Essentials/src/config.yml +++ b/Essentials/src/config.yml @@ -222,7 +222,7 @@ kits: items: - 278 1 efficiency:1 durability:1 fortune:1 name:&4Gigadrill lore:The_drill_that_&npierces|the_heavens - 277 1 digspeed:3 name:Dwarf lore:Diggy|Diggy|Hole - - 298 1 color:255|255|255 name:Top_Hat lore:Good_day,_Good_day + - 298 1 color:255,255,255 name:Top_Hat lore:Good_day,_Good_day - 279:780 1 notch: delay: 6000 -- cgit v1.2.3 From 04bd9e8bafb22dad1df841a4093169a33b1cd633 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Tue, 15 Jan 2013 00:37:08 +0000 Subject: Remove broken firework meta. --- .../src/com/earth2me/essentials/MetaItemStack.java | 30 ++-------------------- 1 file changed, 2 insertions(+), 28 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/MetaItemStack.java b/Essentials/src/com/earth2me/essentials/MetaItemStack.java index a5453f69e..ac0c88b9e 100644 --- a/Essentials/src/com/earth2me/essentials/MetaItemStack.java +++ b/Essentials/src/com/earth2me/essentials/MetaItemStack.java @@ -104,34 +104,8 @@ public class MetaItemStack final FireworkMeta meta = (FireworkMeta)stack.getItemMeta(); meta.setPower(power); stack.setItemMeta(meta); - } - else if (split.length > 1 && split[0].equalsIgnoreCase("effect") && stack.getType() == Material.FIREWORK) - { - //TODO: Add validation messages - final FireworkMeta meta = (FireworkMeta)stack.getItemMeta(); - Builder builder = FireworkEffect.builder(); - - String[] effectData = split[1].toUpperCase(Locale.ENGLISH).split("\\|"); - - builder.with(FireworkEffect.Type.valueOf(effectData[0])); - - String[] primaryColorStrings = effectData[1].split(","); - List primaryColors = new ArrayList(); - - for (String primaryColorString : primaryColorStrings) { - primaryColors.add(DyeColor.valueOf(primaryColorString).getFireworkColor()); - } - - //if (effectData.length > 2) { - - //} - - builder.withColor(primaryColors); - - final FireworkEffect effect = builder.build(); - meta.addEffect(effect); - stack.setItemMeta(meta); - } + //TODO: Complain at Snowleo to code firework meta + } else if (split.length > 1 && (split[0].equalsIgnoreCase("color") || split[0].equalsIgnoreCase("colour")) && (stack.getType() == Material.LEATHER_BOOTS || stack.getType() == Material.LEATHER_CHESTPLATE -- cgit v1.2.3 From b3cc4dbe096638e6e57e9ce8e4f0d9703019eebb Mon Sep 17 00:00:00 2001 From: KHobbits Date: Wed, 16 Jan 2013 16:30:30 +0000 Subject: Remove logger. --- .../src/com/earth2me/essentials/MetaItemStack.java | 27 +++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/MetaItemStack.java b/Essentials/src/com/earth2me/essentials/MetaItemStack.java index ac0c88b9e..ae4648367 100644 --- a/Essentials/src/com/earth2me/essentials/MetaItemStack.java +++ b/Essentials/src/com/earth2me/essentials/MetaItemStack.java @@ -34,7 +34,6 @@ public class MetaItemStack //TODO: TL this public void addStringMeta(final User user, final boolean allowUnsafe, final String string, final IEssentials ess) throws Exception { - ess.getLogger().info("Adding meta to " + stack.getType().name()); final String[] split = splitPattern.split(string, 2); if (split.length < 1) { @@ -104,8 +103,30 @@ public class MetaItemStack final FireworkMeta meta = (FireworkMeta)stack.getItemMeta(); meta.setPower(power); stack.setItemMeta(meta); - //TODO: Complain at Snowleo to code firework meta - } + } +// else if (split.length > 1 && split[0].equalsIgnoreCase("effect") && stack.getType() == Material.FIREWORK) +// { +// //TODO: Add validation messages +// final FireworkMeta meta = (FireworkMeta)stack.getItemMeta(); +// Builder builder = FireworkEffect.builder(); +// +// String[] effectData = split[1].toUpperCase(Locale.ENGLISH).split("\\|"); +// +// builder.with(FireworkEffect.Type.valueOf(effectData[0])); +// +// String[] primaryColorStrings = effectData[1].split(","); +// List primaryColors = new ArrayList(); +// +// for (String primaryColorString : primaryColorStrings) { +// primaryColors.add(DyeColor.valueOf(primaryColorString).getFireworkColor()); +// } +// +// builder.withColor(primaryColors); +// +// final FireworkEffect effect = builder.build(); +// meta.addEffect(effect); +// stack.setItemMeta(meta); +// } else if (split.length > 1 && (split[0].equalsIgnoreCase("color") || split[0].equalsIgnoreCase("colour")) && (stack.getType() == Material.LEATHER_BOOTS || stack.getType() == Material.LEATHER_CHESTPLATE -- cgit v1.2.3 From 35036ecc186cff2366a00571ac599095c3701b67 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Wed, 16 Jan 2013 16:56:27 +0000 Subject: Fix null args on /book --- Essentials/src/com/earth2me/essentials/commands/Commandbook.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbook.java b/Essentials/src/com/earth2me/essentials/commands/Commandbook.java index 90c5c4f35..1a28a5f86 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandbook.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandbook.java @@ -25,26 +25,26 @@ public class Commandbook extends EssentialsCommand { BookMeta bmeta = (BookMeta)item.getItemMeta(); - if (args[0].equalsIgnoreCase("author")) + if (args.length > 1 && args[0].equalsIgnoreCase("author")) { if (user.isAuthorized("essentals.book.author")) { bmeta.setAuthor(args[1]); item.setItemMeta(bmeta); - user.sendMessage(_("bookAuthorSet", args[1])); + user.sendMessage(_("bookAuthorSet", getFinalArg(args, 1))); } else { throw new Exception(_("denyChangeAuthor")); } } - else if (args[0].equalsIgnoreCase("title")) + else if (args.length > 1 && args[0].equalsIgnoreCase("title")) { if (user.isAuthorized("essentials.book.title") && (isAuthor(bmeta, player) || user.isAuthorized("essentials.book.others"))) { bmeta.setTitle(args[1]); item.setItemMeta(bmeta); - user.sendMessage(_("bookTitleSet", args[1])); + user.sendMessage(_("bookTitleSet", getFinalArg(args, 1))); } else { -- cgit v1.2.3