From 9c9f923536940e62d15a549aac337a30d19f08d5 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Mon, 13 Nov 2023 07:19:54 +0100 Subject: [PATCH] Log brushing suspicious sand/gravel --- .../LogBlock/listeners/BlockBreakLogging.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/de/diddiz/LogBlock/listeners/BlockBreakLogging.java b/src/main/java/de/diddiz/LogBlock/listeners/BlockBreakLogging.java index ffa6aca..018cffa 100644 --- a/src/main/java/de/diddiz/LogBlock/listeners/BlockBreakLogging.java +++ b/src/main/java/de/diddiz/LogBlock/listeners/BlockBreakLogging.java @@ -14,6 +14,7 @@ import org.bukkit.block.data.Waterlogged; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.block.BlockDropItemEvent; import org.bukkit.event.player.PlayerBucketFillEvent; import static de.diddiz.LogBlock.config.Config.getWorldConfig; @@ -71,4 +72,17 @@ public class BlockBreakLogging extends LoggingListener { } } } + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onBlockDropItem(BlockDropItemEvent event) { + if (isLogging(event.getBlock().getWorld(), Logging.BLOCKBREAK)) { + Material type = event.getBlock().getType(); + if (type == Material.SUSPICIOUS_GRAVEL || type == Material.SUSPICIOUS_SAND) { + Material simplyBroken = type == Material.SUSPICIOUS_SAND ? Material.SAND : Material.GRAVEL; + if (event.getItems().size() != 1 || event.getItems().get(0).getItemStack().getType() != simplyBroken) { + consumer.queueBlockReplace(Actor.actorFromEntity(event.getPlayer()), event.getBlockState(), simplyBroken.createBlockData()); + } + } + } + } }