From 689423dc8536b13c5006f5929b8f97cc346d484b Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 3 Jun 2025 11:27:04 +0200 Subject: [PATCH] fancyholograms-v3: Add PlayerLoadedListener for 1.21.4 and 1.21.5 --- .../listeners/PlayerLoadedListener.java | 19 +++++++++++++++++++ .../main/FancyHologramsPlugin.java | 5 +++++ 2 files changed, 24 insertions(+) create mode 100644 plugins/fancyholograms/src/main/java/de/oliver/fancyholograms/listeners/PlayerLoadedListener.java diff --git a/plugins/fancyholograms/src/main/java/de/oliver/fancyholograms/listeners/PlayerLoadedListener.java b/plugins/fancyholograms/src/main/java/de/oliver/fancyholograms/listeners/PlayerLoadedListener.java new file mode 100644 index 00000000..c506ccaf --- /dev/null +++ b/plugins/fancyholograms/src/main/java/de/oliver/fancyholograms/listeners/PlayerLoadedListener.java @@ -0,0 +1,19 @@ +package de.oliver.fancyholograms.listeners; + +import de.oliver.fancyholograms.api.FancyHolograms; +import de.oliver.fancyholograms.api.hologram.Hologram; +import io.papermc.paper.event.player.PlayerClientLoadedWorldEvent; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.jetbrains.annotations.NotNull; + +public class PlayerLoadedListener implements Listener { + + @EventHandler(priority = EventPriority.MONITOR) + public void onPlayerLoaded(@NotNull final PlayerClientLoadedWorldEvent event) { + for (final Hologram hologram : FancyHolograms.get().getRegistry().getAll()) { + FancyHolograms.get().getController().refreshHologram(hologram, event.getPlayer()); + } + } +} diff --git a/plugins/fancyholograms/src/main/java/de/oliver/fancyholograms/main/FancyHologramsPlugin.java b/plugins/fancyholograms/src/main/java/de/oliver/fancyholograms/main/FancyHologramsPlugin.java index 78f3a35c..2c4656fd 100644 --- a/plugins/fancyholograms/src/main/java/de/oliver/fancyholograms/main/FancyHologramsPlugin.java +++ b/plugins/fancyholograms/src/main/java/de/oliver/fancyholograms/main/FancyHologramsPlugin.java @@ -23,6 +23,7 @@ import de.oliver.fancyholograms.hologram.version.*; import de.oliver.fancyholograms.listeners.BedrockPlayerListener; import de.oliver.fancyholograms.listeners.NpcListener; import de.oliver.fancyholograms.listeners.PlayerListener; +import de.oliver.fancyholograms.listeners.PlayerLoadedListener; import de.oliver.fancyholograms.metrics.FHMetrics; import de.oliver.fancyholograms.registry.HologramRegistryImpl; import de.oliver.fancyholograms.storage.HologramStorage; @@ -267,6 +268,10 @@ public final class FancyHologramsPlugin extends JavaPlugin implements FancyHolog private void registerListeners() { getServer().getPluginManager().registerEvents(new PlayerListener(this), this); + if (Bukkit.getMinecraftVersion().equals("1.21.4") || Bukkit.getMinecraftVersion().equals("1.21.5")) { + getServer().getPluginManager().registerEvents(new PlayerLoadedListener(), this); + } + if (PluginUtils.isFancyNpcsEnabled()) { getServer().getPluginManager().registerEvents(new NpcListener(this), this); }