From 2812c6d07d60916a5df56d18bdeb86f988e42e42 Mon Sep 17 00:00:00 2001 From: Fabrizio La Rosa Date: Thu, 9 Jul 2020 18:37:52 +0200 Subject: [PATCH] Fix for FallBreak not working on old versions --- .../songoda/skyblock/listeners/FallBreak.java | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/songoda/skyblock/listeners/FallBreak.java b/src/main/java/com/songoda/skyblock/listeners/FallBreak.java index 47a1af87..b3b9ba1a 100644 --- a/src/main/java/com/songoda/skyblock/listeners/FallBreak.java +++ b/src/main/java/com/songoda/skyblock/listeners/FallBreak.java @@ -83,21 +83,18 @@ public class FallBreak implements Listener { } }, 2L, 1L); } - - @EventHandler(ignoreCancelled = true) - public void onSpawnFallingBlock(EntitySpawnEvent event) { + + @EventHandler + public void onFallingBlockModify(EntityChangeBlockEvent event) { if(event.getEntity() instanceof FallingBlock) { WorldManager worldManager = plugin.getWorldManager(); if (worldManager.isIslandWorld(event.getEntity().getLocation().getWorld())) { - fallingBlocks.add((FallingBlock) event.getEntity()); + if (!event.getTo().equals(CompatibleMaterial.AIR.getMaterial())){ + fallingBlocks.remove((FallingBlock) event.getEntity()); + } else if(!event.isCancelled()) { + fallingBlocks.add((FallingBlock) event.getEntity()); + } } } } - - @EventHandler - public void onDespawnFallingBlock(EntityChangeBlockEvent event) { - if(event.getEntity() instanceof FallingBlock && !event.getTo().equals(CompatibleMaterial.AIR.getMaterial())) { - fallingBlocks.remove((FallingBlock) event.getEntity()); - } - } } \ No newline at end of file