diff --git a/src/main/java/de/diddiz/LogBlock/LogBlock.java b/src/main/java/de/diddiz/LogBlock/LogBlock.java index 4075e23..4079104 100644 --- a/src/main/java/de/diddiz/LogBlock/LogBlock.java +++ b/src/main/java/de/diddiz/LogBlock/LogBlock.java @@ -161,6 +161,9 @@ public class LogBlock extends JavaPlugin { if (isLogging(Logging.SCAFFOLDING)) { pm.registerEvents(scaffoldingLogging = new ScaffoldingLogging(this), this); } + if (isLogging(Logging.CAULDRONINTERACT)) { + pm.registerEvents(new CauldronLogging(this), this); + } if (isLogging(Logging.CREEPEREXPLOSION) || isLogging(Logging.TNTEXPLOSION) || isLogging(Logging.GHASTFIREBALLEXPLOSION) || isLogging(Logging.ENDERDRAGON) || isLogging(Logging.MISCEXPLOSION)) { pm.registerEvents(new ExplosionLogging(this), this); } diff --git a/src/main/java/de/diddiz/LogBlock/Logging.java b/src/main/java/de/diddiz/LogBlock/Logging.java index 62eef5e..7f8a362 100644 --- a/src/main/java/de/diddiz/LogBlock/Logging.java +++ b/src/main/java/de/diddiz/LogBlock/Logging.java @@ -27,6 +27,7 @@ public enum Logging { COMPARATORINTERACT, PRESUREPLATEINTERACT, TRIPWIREINTERACT, + CAULDRONINTERACT(true), CREATURECROPTRAMPLE, CROPTRAMPLE, NATURALSTRUCTUREGROW, diff --git a/src/main/java/de/diddiz/LogBlock/listeners/CauldronLogging.java b/src/main/java/de/diddiz/LogBlock/listeners/CauldronLogging.java new file mode 100644 index 0000000..5676adb --- /dev/null +++ b/src/main/java/de/diddiz/LogBlock/listeners/CauldronLogging.java @@ -0,0 +1,27 @@ +package de.diddiz.LogBlock.listeners; + +import de.diddiz.LogBlock.Actor; +import de.diddiz.LogBlock.LogBlock; +import de.diddiz.LogBlock.Logging; +import de.diddiz.LogBlock.config.Config; +import org.bukkit.entity.Entity; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.block.CauldronLevelChangeEvent; + +public class CauldronLogging extends LoggingListener { + public CauldronLogging(LogBlock lb) { + super(lb); + } + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onCauldronLevelChange(CauldronLevelChangeEvent event) { + if (Config.isLogging(event.getBlock().getWorld(), Logging.CAULDRONINTERACT)) { + Entity causingEntity = event.getEntity(); + if (causingEntity instanceof Player) { + consumer.queueBlockReplace(Actor.actorFromEntity(causingEntity), event.getBlock().getBlockData(), event.getNewState()); + } + } + } +}