diff --git a/plugins/fancynpcs/VERSION b/plugins/fancynpcs/VERSION index 4d5f9f8e..51328416 100644 --- a/plugins/fancynpcs/VERSION +++ b/plugins/fancynpcs/VERSION @@ -1 +1 @@ -2.5.1.265 \ No newline at end of file +2.5.1.266 \ No newline at end of file diff --git a/plugins/fancynpcs/src/main/java/de/oliver/fancynpcs/FancyNpcs.java b/plugins/fancynpcs/src/main/java/de/oliver/fancynpcs/FancyNpcs.java index 6bd15f44..3f95be8d 100644 --- a/plugins/fancynpcs/src/main/java/de/oliver/fancynpcs/FancyNpcs.java +++ b/plugins/fancynpcs/src/main/java/de/oliver/fancynpcs/FancyNpcs.java @@ -265,6 +265,9 @@ public class FancyNpcs extends JavaPlugin implements FancyNpcsPlugin { pluginManager.registerEvents(new PlayerTeleportListener(), instance); pluginManager.registerEvents(new PlayerChangedWorldListener(), instance); pluginManager.registerEvents(skinManager, instance); + if (Bukkit.getMinecraftVersion().equals("1.21.4") || Bukkit.getMinecraftVersion().equals("1.21.5")) { + getServer().getPluginManager().registerEvents(new PlayerLoadedListener(), this); + } // use packet injection method switch (mcVersion) { diff --git a/plugins/fancynpcs/src/main/java/de/oliver/fancynpcs/listeners/PlayerLoadedListener.java b/plugins/fancynpcs/src/main/java/de/oliver/fancynpcs/listeners/PlayerLoadedListener.java new file mode 100644 index 00000000..676f2331 --- /dev/null +++ b/plugins/fancynpcs/src/main/java/de/oliver/fancynpcs/listeners/PlayerLoadedListener.java @@ -0,0 +1,20 @@ +package de.oliver.fancynpcs.listeners; + +import de.oliver.fancynpcs.FancyNpcs; +import de.oliver.fancynpcs.api.Npc; +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 (Npc npc : FancyNpcs.getInstance().getNpcManagerImpl().getAllNpcs()) { + npc.checkAndUpdateVisibility(event.getPlayer()); + } + } + +}