From df752eee906f877e029adc311bf40988a84915bb Mon Sep 17 00:00:00 2001 From: David Cernat Date: Thu, 4 Jul 2013 21:54:21 +0300 Subject: [PATCH] Simplify "on player changes sign" world event. --- .../containers/core/WorldScriptHelper.java | 31 ++++++++++--------- .../denizen/utilities/Utilities.java | 15 ++++----- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/main/java/net/aufdemrand/denizen/scripts/containers/core/WorldScriptHelper.java b/src/main/java/net/aufdemrand/denizen/scripts/containers/core/WorldScriptHelper.java index 52758529ff..28e8b1bb33 100644 --- a/src/main/java/net/aufdemrand/denizen/scripts/containers/core/WorldScriptHelper.java +++ b/src/main/java/net/aufdemrand/denizen/scripts/containers/core/WorldScriptHelper.java @@ -230,27 +230,30 @@ public void blockRedstone(BlockRedstoneEvent event) { } @EventHandler - public void signChange(final SignChangeEvent event) { + public void signChange(SignChangeEvent event) { final Map context = new HashMap(); final Player player = event.getPlayer(); - final Block block = event.getBlock(); - final String[] original = ((Sign) block.getState()).getLines(); - + final Block block = event.getBlock(); + Sign sign = (Sign) block.getState(); + final String[] oldLines = sign.getLines(); + + context.put("old", new dList(Arrays.asList(oldLines))); + context.put("location", new dLocation(block.getLocation())); + Bukkit.getScheduler().scheduleSyncDelayedTask(DenizenAPI.getCurrentInstance(), new Runnable() { public void run() { - ((Sign) block.getState()).update(); - - context.put("old", new dList(Arrays.asList(original))); - - context.put("location", new dLocation(block.getLocation())); - context.put("lines", new dList(Arrays.asList(((Sign) block.getState()).getLines()))); + + Sign sign = (Sign) block.getState(); + context.put("new", new dList(Arrays.asList(sign.getLines()))); - String determination = doEvents - (Arrays.asList("player changes sign"), + String determination = doEvents(Arrays.asList + ("player changes sign"), null, player, context); - if (determination.toUpperCase().startsWith("CANCELLED")) Utilities.setSignLines(((Sign) block.getState()), original); + + if (determination.toUpperCase().startsWith("CANCELLED")) + Utilities.setSignLines(sign, oldLines); } }, 1); } @@ -691,7 +694,7 @@ public void inventoryClickEvent(InventoryClickEvent event) { events.add(interaction + " in inventory"); events.add(interaction + " in " + type + " inventory"); - if (item.getItemStack() == null) { + if (item.getItemStack() != null) { events.add(interaction + " on " + item.identify().split(":")[0] + " in inventory"); events.add(interaction + " on " + diff --git a/src/main/java/net/aufdemrand/denizen/utilities/Utilities.java b/src/main/java/net/aufdemrand/denizen/utilities/Utilities.java index 7981993f5f..205f26973a 100644 --- a/src/main/java/net/aufdemrand/denizen/utilities/Utilities.java +++ b/src/main/java/net/aufdemrand/denizen/utilities/Utilities.java @@ -316,19 +316,16 @@ public static Random getRandom() { return random; } - public static void setSignLines(final BlockState sign, String[] lines) { - int n = 0; + public static void setSignLines(Sign sign, String[] lines) { + + int n = 0; for (String line : lines) { - - ((Sign) sign).setLine(n, line); + sign.setLine(n, line); n++; } - Bukkit.getScheduler().scheduleSyncDelayedTask(DenizenAPI.getCurrentInstance(), new Runnable() { - public void run() { - ((Sign) sign).update(); - } - }, 1); + + sign.update(); } } \ No newline at end of file