From e5ca8597dab380c49fecc928bfbb5591b6e1cec5 Mon Sep 17 00:00:00 2001 From: Marcus Rokatis <39190460+CommandDan@users.noreply.github.com> Date: Sat, 16 Jul 2022 14:49:40 +0200 Subject: [PATCH] Allow pistons to break blocks at borders Pistons are now able to break blocks when pushing against a plot border or plot area border --- .../com/plotsquared/bukkit/listener/BlockEventListener.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Bukkit/src/main/java/com/plotsquared/bukkit/listener/BlockEventListener.java b/Bukkit/src/main/java/com/plotsquared/bukkit/listener/BlockEventListener.java index 198710578..3bc9297b6 100644 --- a/Bukkit/src/main/java/com/plotsquared/bukkit/listener/BlockEventListener.java +++ b/Bukkit/src/main/java/com/plotsquared/bukkit/listener/BlockEventListener.java @@ -69,6 +69,7 @@ import org.bukkit.Tag; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; import org.bukkit.block.BlockState; +import org.bukkit.block.PistonMoveReaction; import org.bukkit.block.data.BlockData; import org.bukkit.entity.Entity; import org.bukkit.entity.Fireball; @@ -828,6 +829,7 @@ public class BlockEventListener implements Listener { } for (Block block1 : event.getBlocks()) { Location bloc = BukkitUtil.adapt(block1.getLocation()); + if (block1.getPistonMoveReaction() == PistonMoveReaction.BREAK) return; if (bloc.isPlotArea() || bloc .add(relative.getBlockX(), relative.getBlockY(), relative.getBlockZ()) .isPlotArea()) { @@ -850,6 +852,7 @@ public class BlockEventListener implements Listener { for (Block block1 : event.getBlocks()) { Location bloc = BukkitUtil.adapt(block1.getLocation()); Location newLoc = bloc.add(relative.getBlockX(), relative.getBlockY(), relative.getBlockZ()); + if (block1.getPistonMoveReaction() == PistonMoveReaction.BREAK) return; if (!area.contains(bloc.getX(), bloc.getZ()) || !area.contains(newLoc)) { event.setCancelled(true); return;