From 3c3f41777c4a15c9f558116fbf94d2dbb6f06597 Mon Sep 17 00:00:00 2001 From: Hugo5000 <50522012+Hugo5000@users.noreply.github.com> Date: Thu, 25 Mar 2021 14:05:22 +0100 Subject: [PATCH] Added structure grow listener to resolve block protection timer overrides (#1130) --- .../java/com/gamingmesh/jobs/listeners/JobsListener.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java b/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java index 347d304d..269bfabd 100644 --- a/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java +++ b/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java @@ -57,6 +57,7 @@ import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerSwapHandItemsEvent; +import org.bukkit.event.world.StructureGrowEvent; import org.bukkit.event.world.WorldLoadEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.PlayerInventory; @@ -362,6 +363,13 @@ public class JobsListener implements Listener { } } + @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) + public void onTreeGrown(final StructureGrowEvent event) { + if (!event.getBlocks().isEmpty() && Jobs.getGCManager().canPerformActionInWorld(event.getBlocks().get(0).getWorld())) { + plugin.getServer().getScheduler().runTaskLater(plugin, () -> event.getBlocks().forEach(blockState -> Jobs.getBpManager().remove(blockState.getBlock())), 1L); + } + } + @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onLimitedItemInteract(PlayerInteractEvent event) { Player player = event.getPlayer();