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.
+ }
+}