From 10b5bc8913c21d479a7847f37810e38a492d5130 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Mon, 19 Aug 2024 05:58:47 +0200 Subject: [PATCH] do not log explosions that do not remove blocks --- .../de/diddiz/LogBlock/listeners/ExplosionLogging.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/diddiz/LogBlock/listeners/ExplosionLogging.java b/src/main/java/de/diddiz/LogBlock/listeners/ExplosionLogging.java index a9fdb96..0caedf9 100644 --- a/src/main/java/de/diddiz/LogBlock/listeners/ExplosionLogging.java +++ b/src/main/java/de/diddiz/LogBlock/listeners/ExplosionLogging.java @@ -7,6 +7,7 @@ import de.diddiz.LogBlock.config.Config; import de.diddiz.LogBlock.config.WorldConfig; import de.diddiz.LogBlock.util.BukkitUtils; import org.bukkit.Bukkit; +import org.bukkit.ExplosionResult; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; @@ -41,6 +42,9 @@ public class ExplosionLogging extends LoggingListener { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onEntityExplode(EntityExplodeEvent event) { + if (event.getExplosionResult() == ExplosionResult.KEEP || event.getExplosionResult() == ExplosionResult.TRIGGER_BLOCK) { + return; + } final WorldConfig wcfg = getWorldConfig(event.getLocation().getWorld()); if (wcfg != null) { Actor actor = new Actor("Explosion"); @@ -49,8 +53,6 @@ public class ExplosionLogging extends LoggingListener { if (!wcfg.isLogging(Logging.MISCEXPLOSION)) { return; } - } else if (source instanceof WindCharge) { - return; } else if (source instanceof TNTPrimed) { if (!wcfg.isLogging(Logging.TNTEXPLOSION)) { return; @@ -176,6 +178,9 @@ public class ExplosionLogging extends LoggingListener { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onBlockExplode(BlockExplodeEvent event) { + if (event.getExplosionResult() == ExplosionResult.KEEP || event.getExplosionResult() == ExplosionResult.TRIGGER_BLOCK) { + return; + } Player bedCause = null; if (lastBedInteractionPlayer != null && lastBedInteractionLocation != null) { Location block = event.getBlock().getLocation();