From de24ca4437251a340979e2fa3ba2021c99adc7e1 Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Sat, 13 Apr 2024 16:15:35 +0200 Subject: [PATCH] Refactor PlayerListener for mute handling and text prioritization Improved the PlayerListener class by adjusting event handling priority and adding nullability constraints for PlayerDeathEvent for better program robustness. Also removed a now unused import of the TextComponent class for cleaner codebase management. --- .../main/java/com/alttd/chat/listeners/PlayerListener.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/galaxy/src/main/java/com/alttd/chat/listeners/PlayerListener.java b/galaxy/src/main/java/com/alttd/chat/listeners/PlayerListener.java index 2084185..50f0be5 100755 --- a/galaxy/src/main/java/com/alttd/chat/listeners/PlayerListener.java +++ b/galaxy/src/main/java/com/alttd/chat/listeners/PlayerListener.java @@ -11,7 +11,6 @@ import com.alttd.chat.objects.Toggleable; import com.alttd.chat.util.GalaxyUtility; import com.alttd.chat.util.Utility; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.format.Style; import net.kyori.adventure.text.format.TextColor; import net.kyori.adventure.text.format.TextDecoration; @@ -19,11 +18,13 @@ import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.SignChangeEvent; import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; +import org.jetbrains.annotations.NotNull; import java.time.Instant; import java.time.temporal.ChronoUnit; @@ -96,8 +97,8 @@ public class PlayerListener implements Listener { } private final HashMap> sendPlayerDeaths = new HashMap<>(); - @EventHandler(ignoreCancelled = true) - public void onPlayerDeath(PlayerDeathEvent event) { + @EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST) + public void onPlayerDeath(@NotNull PlayerDeathEvent event) { UUID uuid = event.getPlayer().getUniqueId(); Stack playerDeathsStack = sendPlayerDeaths.computeIfAbsent(uuid, key -> new Stack<>()); Instant cutOff = Instant.now().minus(Config.DEATH_MESSAGES_LIMIT_PERIOD_MINUTES, ChronoUnit.MINUTES);