From 4590b1d5321326b923a2a719d6be11186cdc3c69 Mon Sep 17 00:00:00 2001 From: youhavetrouble Date: Thu, 22 Jun 2023 16:02:34 +0200 Subject: [PATCH] only fire PlayerEnterCombatEvent if there are registered listeners for it --- .../preventstabby/api/event/PlayerEnterCombatEvent.java | 5 +++++ .../me/youhavetrouble/preventstabby/util/CombatTimer.java | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/me/youhavetrouble/preventstabby/api/event/PlayerEnterCombatEvent.java b/src/main/java/me/youhavetrouble/preventstabby/api/event/PlayerEnterCombatEvent.java index ee9e93a..cc13c96 100644 --- a/src/main/java/me/youhavetrouble/preventstabby/api/event/PlayerEnterCombatEvent.java +++ b/src/main/java/me/youhavetrouble/preventstabby/api/event/PlayerEnterCombatEvent.java @@ -45,4 +45,9 @@ public class PlayerEnterCombatEvent extends Event implements Cancellable { public HandlerList getHandlers() { return HANDLERS; } + + @NotNull + public static HandlerList getHandlerList() { + return HANDLERS; + } } diff --git a/src/main/java/me/youhavetrouble/preventstabby/util/CombatTimer.java b/src/main/java/me/youhavetrouble/preventstabby/util/CombatTimer.java index ce1eba5..062b1fd 100644 --- a/src/main/java/me/youhavetrouble/preventstabby/util/CombatTimer.java +++ b/src/main/java/me/youhavetrouble/preventstabby/util/CombatTimer.java @@ -17,8 +17,11 @@ public class CombatTimer { if (player == null || !player.isOnline()) return; PlayerEnterCombatEvent playerEnterCombatEvent = new PlayerEnterCombatEvent(player); Bukkit.getScheduler().runTask(PreventStabby.getPlugin(), () -> { - Bukkit.getPluginManager().callEvent(playerEnterCombatEvent); - if (playerEnterCombatEvent.isCancelled()) return; + if (PlayerEnterCombatEvent.getHandlerList().getRegisteredListeners().length > 0) { + Bukkit.getPluginManager().callEvent(playerEnterCombatEvent); + if (playerEnterCombatEvent.isCancelled()) return; + } + PreventStabby.getPlugin().getPlayerManager().refreshPlayersCombatTime(uuid); if (combattime <= 0) {