From 9c5b7712cb4efdb9ab416eeb53cd90528557d21e Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Thu, 2 Oct 2025 20:41:21 +0200 Subject: [PATCH] Improve PistonCalculator --- .../features/util/PistonCalculator.java | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/util/PistonCalculator.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/util/PistonCalculator.java index 03ee6d5c..b5ba6a00 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/util/PistonCalculator.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/util/PistonCalculator.java @@ -55,13 +55,12 @@ public class PistonCalculator implements Listener { public void onPlayerInteract(PlayerInteractEvent event) { if (!Permission.BUILD.hasPermission(event.getPlayer())) return; if (event.getAction() != Action.RIGHT_CLICK_BLOCK) return; - if (event.getItem() == null) {} - else if (event.getItem() != null && event.getItem().getType() == Material.SLIME_BALL) {} - else if (!event.getItem().getType().isBlock()) { + if (event.getItem() == null) { + } else if (event.getItem() != null && event.getItem().getType() == Material.SLIME_BALL) { + } else if (!event.getItem().getType().isBlock()) { DEBOUNCE.put(event.getPlayer(), System.currentTimeMillis()); return; - } - else return; + } else return; if (event.getClickedBlock() == null) return; Block clickedBlock = event.getClickedBlock(); Material blockType = clickedBlock.getType(); @@ -92,6 +91,7 @@ public class PistonCalculator implements Listener { @EventHandler public void onBlockPistonExtend(BlockPistonExtendEvent event) { + if (pistOrders.isEmpty()) return; Bukkit.getScheduler().runTaskLater(BauSystem.getInstance(), () -> { movePistOrders(event.getDirection(), event.getBlocks()); pistOrders.values().forEach(PistOrder::calculate); @@ -100,6 +100,7 @@ public class PistonCalculator implements Listener { @EventHandler public void onBlockPistonRetract(BlockPistonRetractEvent event) { + if (pistOrders.isEmpty()) return; Bukkit.getScheduler().runTaskLater(BauSystem.getInstance(), () -> { movePistOrders(event.getDirection(), event.getBlocks()); pistOrders.values().forEach(PistOrder::calculate); @@ -122,6 +123,7 @@ public class PistonCalculator implements Listener { @EventHandler public void onBlockPlace(BlockPlaceEvent event) { + if (pistOrders.isEmpty()) return; Bukkit.getScheduler().runTaskLater(BauSystem.getInstance(), () -> { pistOrders.values().forEach(PistOrder::calculate); }, 1); @@ -129,6 +131,7 @@ public class PistonCalculator implements Listener { @EventHandler public void onBlockBreak(BlockBreakEvent event) { + if (pistOrders.isEmpty()) return; if (pistOrders.containsKey(event.getBlock().getLocation())) { PistOrder pistOrder = pistOrders.remove(event.getBlock().getLocation()); pistOrder.server.close(); @@ -276,7 +279,8 @@ public class PistonCalculator implements Listener { immovableBlocks.add(block.getLocation()); return; } - if (facing != direction && (block.equals(origin) || block.getRelative(facing.getOppositeFace()).equals(origin))) return; + if (facing != direction && (block.equals(origin) || block.getRelative(facing.getOppositeFace()).equals(origin))) + return; if (!movedBlocks.contains(block.getLocation())) toCalc.add(block); } } @@ -372,12 +376,4 @@ public class PistonCalculator implements Listener { return false; } } - - private boolean isPiston(Block block) { - BlockData blockData = block.getBlockData(); - if (blockData instanceof Piston) { - return !((Piston) blockData).isExtended(); - } - return false; - } }