diff --git a/SpigotCore_Main/src/de/steamwar/entity/REntityServer.java b/SpigotCore_Main/src/de/steamwar/entity/REntityServer.java index 1ed4c6f..32a7efc 100644 --- a/SpigotCore_Main/src/de/steamwar/entity/REntityServer.java +++ b/SpigotCore_Main/src/de/steamwar/entity/REntityServer.java @@ -69,14 +69,22 @@ public class REntityServer implements Listener { private final HashMap viewDistance = new HashMap<>(); private EntityActionListener callback = null; + private final Set playersThatClicked = new HashSet<>(); private final BiFunction filter = (player, packet) -> { REntity entity = entityMap.get(useEntityTarget.get(packet)); if (entity == null) return packet; + if (playersThatClicked.contains(player)) + return null; + + playersThatClicked.add(player); EntityAction action = getEntityAction.apply(useEntityAction.get(packet)) == 1 ? EntityAction.ATTACK : EntityAction.INTERACT; - Bukkit.getScheduler().runTask(Core.getInstance(), () -> callback.onAction(player, entity, action)); + Bukkit.getScheduler().runTask(Core.getInstance(), () -> { + playersThatClicked.remove(player); + callback.onAction(player, entity, action); + }); return null; };