diff --git a/build.gradle b/build.gradle index 8ccf6a0..ab41e9c 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group = 'net.momirealms' -version = '3.1.0-hotfix' +version = '3.1.0-hotfix2' repositories { mavenCentral() diff --git a/src/main/java/net/momirealms/customcrops/api/customplugin/Handler.java b/src/main/java/net/momirealms/customcrops/api/customplugin/Handler.java index 4175ee5..60ed14e 100644 --- a/src/main/java/net/momirealms/customcrops/api/customplugin/Handler.java +++ b/src/main/java/net/momirealms/customcrops/api/customplugin/Handler.java @@ -27,6 +27,7 @@ import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.data.type.Farmland; import org.bukkit.entity.Player; +import org.bukkit.event.Cancellable; import org.bukkit.event.EventHandler; import org.bukkit.event.HandlerList; import org.bukkit.event.Listener; @@ -34,6 +35,8 @@ import org.bukkit.event.block.*; import org.bukkit.event.entity.EntityChangeBlockEvent; import org.bukkit.event.player.PlayerInteractEvent; +import java.util.List; + public abstract class Handler extends Function implements Listener { protected PlatformManager platformManager; @@ -102,8 +105,18 @@ public abstract class Handler extends Function implements Listener { @EventHandler public void onPistonExtend(BlockPistonExtendEvent event) { if (!PotManager.enableVanillaBlock || event.isCancelled()) return; + handlePiston(event.getBlocks(), event); + } + + @EventHandler + public void onPistonRetract(BlockPistonRetractEvent event) { + if (!PotManager.enableVanillaBlock || event.isCancelled()) return; + handlePiston(event.getBlocks(), event); + } + + public void handlePiston(List blocks, Cancellable event) { PotManager potManager = CustomCrops.getInstance().getPotManager(); - for (Block block : event.getBlocks()) { + for (Block block : blocks) { String id = block.getType().name(); if (potManager.containsPotBlock(id)) { platformManager.onBreakPot(null, id, block.getLocation(), event);