From 9b23043139bd0ead4c92b9c990e0e8606f414808 Mon Sep 17 00:00:00 2001 From: Ben Woodford Date: Tue, 30 Oct 2012 13:36:42 +0000 Subject: [PATCH] Added Wither and WitherSkull to logging types --- pom.xml | 2 +- .../java/de/diddiz/LogBlock/LogBlock.java | 3 +++ src/main/java/de/diddiz/LogBlock/Logging.java | 1 + .../LogBlock/listeners/ExplosionLogging.java | 10 +++++++++ .../LogBlock/listeners/WitherLogging.java | 22 +++++++++++++++++++ 5 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 src/main/java/de/diddiz/LogBlock/listeners/WitherLogging.java diff --git a/pom.xml b/pom.xml index 88699c0..47449d4 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ org.bukkit bukkit - 1.3.2-R0.2-SNAPSHOT + 1.4.2-R0.1-SNAPSHOT ${project.groupId} diff --git a/src/main/java/de/diddiz/LogBlock/LogBlock.java b/src/main/java/de/diddiz/LogBlock/LogBlock.java index cd2a177..dfce675 100644 --- a/src/main/java/de/diddiz/LogBlock/LogBlock.java +++ b/src/main/java/de/diddiz/LogBlock/LogBlock.java @@ -49,6 +49,7 @@ import de.diddiz.LogBlock.listeners.SnowFadeLogging; import de.diddiz.LogBlock.listeners.SnowFormLogging; import de.diddiz.LogBlock.listeners.StructureGrowLogging; import de.diddiz.LogBlock.listeners.ToolListener; +import de.diddiz.LogBlock.listeners.WitherLogging; import de.diddiz.util.MySQLConnectionPool; public class LogBlock extends JavaPlugin @@ -184,6 +185,8 @@ public class LogBlock extends JavaPlugin pm.registerEvents(new ChatLogging(this), this); if (isLogging(Logging.ENDERMEN)) pm.registerEvents(new EndermenLogging(this), this); + if (isLogging(Logging.WITHER)) + pm.registerEvents(new WitherLogging(this), this); if (isLogging(Logging.NATURALSTRUCTUREGROW) || isLogging(Logging.BONEMEALSTRUCTUREGROW)) pm.registerEvents(new StructureGrowLogging(this), this); if (logPlayerInfo) diff --git a/src/main/java/de/diddiz/LogBlock/Logging.java b/src/main/java/de/diddiz/LogBlock/Logging.java index 9ac9f27..122fb93 100644 --- a/src/main/java/de/diddiz/LogBlock/Logging.java +++ b/src/main/java/de/diddiz/LogBlock/Logging.java @@ -6,6 +6,7 @@ public enum Logging 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), BONEMEALSTRUCTUREGROW; public static final int length = Logging.values().length; private final boolean defaultEnabled; diff --git a/src/main/java/de/diddiz/LogBlock/listeners/ExplosionLogging.java b/src/main/java/de/diddiz/LogBlock/listeners/ExplosionLogging.java index 759d363..508594a 100644 --- a/src/main/java/de/diddiz/LogBlock/listeners/ExplosionLogging.java +++ b/src/main/java/de/diddiz/LogBlock/listeners/ExplosionLogging.java @@ -10,6 +10,8 @@ import org.bukkit.entity.Entity; import org.bukkit.entity.Fireball; import org.bukkit.entity.Player; import org.bukkit.entity.TNTPrimed; +import org.bukkit.entity.Wither; +import org.bukkit.entity.WitherSkull; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.entity.EntityExplodeEvent; @@ -52,6 +54,14 @@ public class ExplosionLogging extends LoggingListener if (!wcfg.isLogging(Logging.ENDERDRAGON)) return; name = "EnderDragon"; + } else if (event.getEntity() instanceof Wither) { + if(!wcfg.isLogging(Logging.WITHER)) + return; + name = "Wither"; + } else if (event.getEntity() instanceof WitherSkull) { + if(!wcfg.isLogging(Logging.WITHER_SKULL)) + return; + name = "WitherSkull"; } else { if (!wcfg.isLogging(Logging.MISCEXPLOSION)) return; diff --git a/src/main/java/de/diddiz/LogBlock/listeners/WitherLogging.java b/src/main/java/de/diddiz/LogBlock/listeners/WitherLogging.java new file mode 100644 index 0000000..9312080 --- /dev/null +++ b/src/main/java/de/diddiz/LogBlock/listeners/WitherLogging.java @@ -0,0 +1,22 @@ +package de.diddiz.LogBlock.listeners; + +import static de.diddiz.LogBlock.config.Config.isLogging; +import org.bukkit.entity.Wither; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.entity.EntityChangeBlockEvent; +import de.diddiz.LogBlock.LogBlock; +import de.diddiz.LogBlock.Logging; + +public class WitherLogging extends LoggingListener +{ + public WitherLogging(LogBlock lb) { + super(lb); + } + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onEntityChangeBlock(EntityChangeBlockEvent event) { + if (event.getEntity() instanceof Wither && isLogging(event.getBlock().getWorld(), Logging.WITHER)) + consumer.queueBlockReplace("Wither", event.getBlock().getState(), event.getTo().getId(), (byte)0); // Wither walked through a block. + } +}