From 05c9a6d947091a974eccb6d9d3a65d8c7a4237bf Mon Sep 17 00:00:00 2001 From: Dark Arc Date: Fri, 29 Mar 2013 20:26:31 -0400 Subject: [PATCH] Added Logging for Comparator interaction --- .../java/de/diddiz/LogBlock/BlockChange.java | 2 +- src/main/java/de/diddiz/LogBlock/LogBlock.java | 2 +- src/main/java/de/diddiz/LogBlock/Logging.java | 5 +++-- .../LogBlock/listeners/InteractLogging.java | 18 +++++++++++------- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/main/java/de/diddiz/LogBlock/BlockChange.java b/src/main/java/de/diddiz/LogBlock/BlockChange.java index 6dd582d..af722b8 100644 --- a/src/main/java/de/diddiz/LogBlock/BlockChange.java +++ b/src/main/java/de/diddiz/LogBlock/BlockChange.java @@ -74,7 +74,7 @@ public class BlockChange implements LookupCacheElement msg.append("pressed ").append(materialName(type)); else if (type == 92) msg.append("ate a piece of ").append(materialName(type)); - else if (type == 25 || type == 93 || type == 94) + else if (type == 25 || type == 93 || type == 94 || type == 149 || type == 150) msg.append("changed ").append(materialName(type)); } else if (type == 0) msg.append("destroyed ").append(materialName(replaced, data)); diff --git a/src/main/java/de/diddiz/LogBlock/LogBlock.java b/src/main/java/de/diddiz/LogBlock/LogBlock.java index 714f4da..f27a4e5 100644 --- a/src/main/java/de/diddiz/LogBlock/LogBlock.java +++ b/src/main/java/de/diddiz/LogBlock/LogBlock.java @@ -149,7 +149,7 @@ public class LogBlock extends JavaPlugin if (isLogging(Logging.CHESTACCESS)) { pm.registerEvents(new ChestAccessLogging(this), this); } - if (isLogging(Logging.SWITCHINTERACT) || isLogging(Logging.DOORINTERACT) || isLogging(Logging.CAKEEAT) || isLogging(Logging.DIODEINTERACT) || isLogging(Logging.NOTEBLOCKINTERACT)) + if (isLogging(Logging.SWITCHINTERACT) || isLogging(Logging.DOORINTERACT) || isLogging(Logging.CAKEEAT) || isLogging(Logging.DIODEINTERACT) || isLogging(Logging.COMPARATORINTERACT) || isLogging(Logging.NOTEBLOCKINTERACT)) pm.registerEvents(new InteractLogging(this), this); if (isLogging(Logging.KILL)) pm.registerEvents(new KillLogging(this), this); diff --git a/src/main/java/de/diddiz/LogBlock/Logging.java b/src/main/java/de/diddiz/LogBlock/Logging.java index 2f5e3f4..7485d29 100644 --- a/src/main/java/de/diddiz/LogBlock/Logging.java +++ b/src/main/java/de/diddiz/LogBlock/Logging.java @@ -5,9 +5,10 @@ public enum Logging BLOCKPLACE(true), BLOCKBREAK(true), SIGNTEXT, TNTEXPLOSION(true), CREEPEREXPLOSION(true), GHASTFIREBALLEXPLOSION(true), ENDERDRAGON(true), MISCEXPLOSION, FIRE(true), LEAVESDECAY, LAVAFLOW, WATERFLOW, CHESTACCESS, KILL, CHAT, SNOWFORM, SNOWFADE, DOORINTERACT, - SWITCHINTERACT, CAKEEAT, ENDERMEN, NOTEBLOCKINTERACT, DIODEINTERACT, NATURALSTRUCTUREGROW, - WITHER(true), WITHER_SKULL(true), + SWITCHINTERACT, CAKEEAT, ENDERMEN, NOTEBLOCKINTERACT, DIODEINTERACT, COMPARATORINTERACT, + NATURALSTRUCTUREGROW, WITHER(true), WITHER_SKULL(true), BONEMEALSTRUCTUREGROW, WORLDEDIT, TNTMINECARTEXPLOSION(true); + public static final int length = Logging.values().length; private final boolean defaultEnabled; diff --git a/src/main/java/de/diddiz/LogBlock/listeners/InteractLogging.java b/src/main/java/de/diddiz/LogBlock/listeners/InteractLogging.java index 6d96757..3064b63 100644 --- a/src/main/java/de/diddiz/LogBlock/listeners/InteractLogging.java +++ b/src/main/java/de/diddiz/LogBlock/listeners/InteractLogging.java @@ -21,7 +21,7 @@ public class InteractLogging extends LoggingListener @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerInteract(PlayerInteractEvent event) { final WorldConfig wcfg = getWorldConfig(event.getPlayer().getWorld()); - if (wcfg != null && (event.getAction() == Action.LEFT_CLICK_BLOCK || event.getAction() == Action.RIGHT_CLICK_BLOCK)) { + if (wcfg != null) { final Material type = event.getClickedBlock().getType(); final int typeId = type.getId(); final byte blockData = event.getClickedBlock().getData(); @@ -32,23 +32,21 @@ public class InteractLogging extends LoggingListener case LEVER: case WOOD_BUTTON: case STONE_BUTTON: - if (wcfg.isLogging(Logging.SWITCHINTERACT)) + if (wcfg.isLogging(Logging.SWITCHINTERACT) && event.getAction() == Action.RIGHT_CLICK_BLOCK) consumer.queueBlock(player.getName(), loc, typeId, typeId, blockData); break; case FENCE_GATE: - if (event.getAction() != Action.RIGHT_CLICK_BLOCK) - break; case WOODEN_DOOR: case TRAP_DOOR: - if (wcfg.isLogging(Logging.DOORINTERACT)) + if (wcfg.isLogging(Logging.DOORINTERACT) && event.getAction() == Action.RIGHT_CLICK_BLOCK) consumer.queueBlock(player.getName(), loc, typeId, typeId, blockData); break; case CAKE_BLOCK: - if (wcfg.isLogging(Logging.CAKEEAT) && player.getFoodLevel() < 20) + if (wcfg.isLogging(Logging.CAKEEAT) && event.getAction() == Action.RIGHT_CLICK_BLOCK && player.getFoodLevel() < 20) consumer.queueBlock(player.getName(), loc, typeId, typeId, blockData); break; case NOTE_BLOCK: - if (wcfg.isLogging(Logging.NOTEBLOCKINTERACT)) + if (wcfg.isLogging(Logging.NOTEBLOCKINTERACT) && event.getAction() == Action.RIGHT_CLICK_BLOCK) consumer.queueBlock(player.getName(), loc, typeId, typeId, blockData); break; case DIODE_BLOCK_OFF: @@ -56,6 +54,12 @@ public class InteractLogging extends LoggingListener if (wcfg.isLogging(Logging.DIODEINTERACT) && event.getAction() == Action.RIGHT_CLICK_BLOCK) consumer.queueBlock(player.getName(), loc, typeId, typeId, blockData); break; + case REDSTONE_COMPARATOR_OFF: + case REDSTONE_COMPARATOR_ON: + if (wcfg.isLogging(Logging.COMPARATORINTERACT) && event.getAction() == Action.RIGHT_CLICK_BLOCK) { + consumer.queueBlock(player.getName(), loc, typeId, typeId, blockData); + } + break; } } }