From 390d388692667823efd88b28b111dd5a4f944ee5 Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Thu, 16 Jul 2026 16:32:21 +0200 Subject: [PATCH] Closes: #442 --- .../features/simulator/SimulatorCursor.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/SimulatorCursor.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/SimulatorCursor.java index 72178e23..6f674a71 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/SimulatorCursor.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/SimulatorCursor.java @@ -19,6 +19,7 @@ package de.steamwar.bausystem.features.simulator; +import com.destroystokyo.paper.event.server.ServerTickEndEvent; import de.steamwar.bausystem.BauSystem; import de.steamwar.bausystem.Permission; import de.steamwar.bausystem.SWUtils; @@ -77,8 +78,16 @@ public class SimulatorCursor implements Listener { return isSimulatorItem(player.getInventory().getItemInMainHand()) || isSimulatorItem(player.getInventory().getItemInOffHand()); } + private static Set scheduledUpdates = new HashSet<>(); + private static void scheduleCursorUpdate(Player player) { - BauSystem.runTaskLater(BauSystem.getInstance(), () -> calcCursor(player), 1); + scheduledUpdates.add(player); + } + + @EventHandler + public void onServerTickEnd(ServerTickEndEvent event) { + scheduledUpdates.forEach(SimulatorCursor::calcCursor); + scheduledUpdates.clear(); } @EventHandler @@ -122,6 +131,7 @@ public class SimulatorCursor implements Listener { public void onPlayerQuit(PlayerQuitEvent event) { cursorType.remove(event.getPlayer()); removeCursor(event.getPlayer()); + scheduledUpdates.remove(event.getPlayer()); } private static final Map LAST_SNEAKS = new HashMap<>();