From efd7d1282a07c9cfea2ef80c262d765bce4b8c53 Mon Sep 17 00:00:00 2001 From: Xiao-MoMi <70987828+Xiao-MoMi@users.noreply.github.com> Date: Fri, 5 May 2023 22:49:02 +0800 Subject: [PATCH] 3.1.0-hotfix2 --- build.gradle | 2 +- .../customcrops/api/customplugin/Handler.java | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) 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);