From dcb52e3e6db4d7dfed62e6cc1ffd6e664151b374 Mon Sep 17 00:00:00 2001 From: Shiewk Date: Fri, 5 Dec 2025 16:51:23 +0100 Subject: [PATCH] Fix hostile entities targeting vanished players --- build.gradle | 6 +++--- gradle.properties | 2 +- .../paper/listener/VanishListener.java | 16 ++++++++++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index e4a1224..24fcee9 100644 --- a/build.gradle +++ b/build.gradle @@ -30,11 +30,11 @@ runPaper { } runServer { - minecraftVersion("1.21.8") + minecraftVersion("1.21.4") downloadPlugins { // for testing from other client versions - modrinth("ViaVersion", "5.4.1") - modrinth("ViaBackwards", "5.4.1") + modrinth("ViaVersion", "5.5.1") + modrinth("ViaBackwards", "5.5.1") } } diff --git a/gradle.properties b/gradle.properties index c8723c3..f5b3290 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -pluginVersion = 1.8.1 \ No newline at end of file +pluginVersion = 1.8.2 \ No newline at end of file diff --git a/src/main/java/de/shiewk/smoderation/paper/listener/VanishListener.java b/src/main/java/de/shiewk/smoderation/paper/listener/VanishListener.java index 8edbefa..6a3c11a 100644 --- a/src/main/java/de/shiewk/smoderation/paper/listener/VanishListener.java +++ b/src/main/java/de/shiewk/smoderation/paper/listener/VanishListener.java @@ -3,6 +3,7 @@ package de.shiewk.smoderation.paper.listener; import de.shiewk.smoderation.paper.SModerationPaper; import de.shiewk.smoderation.paper.command.VanishCommand; import de.shiewk.smoderation.paper.util.SchedulerUtil; +import io.papermc.paper.event.entity.WardenAngerChangeEvent; import net.kyori.adventure.key.Key; import net.kyori.adventure.sound.Sound; import net.kyori.adventure.text.Component; @@ -11,6 +12,7 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityTargetEvent; import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; @@ -86,6 +88,20 @@ public class VanishListener implements Listener { } } + @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) + public void onEntityTarget(EntityTargetEvent event){ + if (event.getTarget() instanceof Player pl && VanishCommand.isVanished(pl)) { + event.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) + public void onEntityTarget(WardenAngerChangeEvent event){ + if (event.getTarget() instanceof Player pl && VanishCommand.isVanished(pl)) { + event.setCancelled(true); + } + } + private static void broadcast(Component message) { Component result = PREFIX.append(message); Bukkit.getConsoleSender().sendMessage(result);