Skip to content

Commit

Permalink
Simplify "on player changes sign" world event.
Browse files Browse the repository at this point in the history
  • Loading branch information
davidcernat committed Jul 4, 2013
1 parent 639d992 commit df752ee
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 23 deletions.
Expand Up @@ -230,27 +230,30 @@ public void blockRedstone(BlockRedstoneEvent event) {
}

@EventHandler
public void signChange(final SignChangeEvent event) {
public void signChange(SignChangeEvent event) {

final Map<String, Object> context = new HashMap<String, Object>();

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);
}
Expand Down Expand Up @@ -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 " +
Expand Down
15 changes: 6 additions & 9 deletions src/main/java/net/aufdemrand/denizen/utilities/Utilities.java
Expand Up @@ -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();
}

}

0 comments on commit df752ee

Please sign in to comment.