From 56b238d8a5f73c9ded97dfbc7f4282959463d81f Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 24 Jul 2025 20:35:03 +0200 Subject: [PATCH] fancyholograms v3: Add WorldLoadedListener --- .../listeners/WorldLoadedListener.java | 23 +++++++++++++++++++ .../main/FancyHologramsPlugin.java | 6 ++--- 2 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 plugins/fancyholograms/src/main/java/de/oliver/fancyholograms/listeners/WorldLoadedListener.java diff --git a/plugins/fancyholograms/src/main/java/de/oliver/fancyholograms/listeners/WorldLoadedListener.java b/plugins/fancyholograms/src/main/java/de/oliver/fancyholograms/listeners/WorldLoadedListener.java new file mode 100644 index 00000000..b7f6a98c --- /dev/null +++ b/plugins/fancyholograms/src/main/java/de/oliver/fancyholograms/listeners/WorldLoadedListener.java @@ -0,0 +1,23 @@ +package de.oliver.fancyholograms.listeners; + +import de.oliver.fancyholograms.api.data.HologramData; +import de.oliver.fancyholograms.api.hologram.Hologram; +import de.oliver.fancyholograms.main.FancyHologramsPlugin; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.world.WorldLoadEvent; + +public class WorldLoadedListener implements Listener { + + @EventHandler + public void onWorldLoad(WorldLoadEvent event) { + for (Hologram hologram : FancyHologramsPlugin.get().getRegistry().getAll()) { + HologramData data = hologram.getData(); + + if (data.getLocation().getWorld() == null && data.getWorldName().equals(event.getWorld().getName())) { + data.getLocation().setWorld(event.getWorld()); + } + } + } + +} 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 6fd42cd2..c66b3603 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 @@ -20,10 +20,7 @@ import de.oliver.fancyholograms.config.FHConfiguration; import de.oliver.fancyholograms.controller.HologramControllerImpl; import de.oliver.fancyholograms.converter.FHConversionRegistry; 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.listeners.*; import de.oliver.fancyholograms.metrics.FHMetrics; import de.oliver.fancyholograms.registry.HologramRegistryImpl; import de.oliver.fancyholograms.storage.HologramStorage; @@ -300,6 +297,7 @@ public final class FancyHologramsPlugin extends JavaPlugin implements FancyHolog private void registerListeners() { getServer().getPluginManager().registerEvents(new PlayerListener(this), this); + getServer().getPluginManager().registerEvents(new WorldLoadedListener(), this); if (Bukkit.getMinecraftVersion().equals("1.21.4") || Bukkit.getMinecraftVersion().equals("1.21.5") || Bukkit.getMinecraftVersion().equals("1.21.6")) { getServer().getPluginManager().registerEvents(new PlayerLoadedListener(), this);