1
mirror of https://github.com/Shiewk/SModeration.git synced 2026-04-28 05:54:16 +02:00

Fix hostile entities targeting vanished players

This commit is contained in:
Shy
2025-12-05 16:51:23 +01:00
parent 53df1a908a
commit dcb52e3e6d
3 changed files with 20 additions and 4 deletions
+3 -3
View File
@@ -30,11 +30,11 @@ runPaper {
} }
runServer { runServer {
minecraftVersion("1.21.8") minecraftVersion("1.21.4")
downloadPlugins { downloadPlugins {
// for testing from other client versions // for testing from other client versions
modrinth("ViaVersion", "5.4.1") modrinth("ViaVersion", "5.5.1")
modrinth("ViaBackwards", "5.4.1") modrinth("ViaBackwards", "5.5.1")
} }
} }
+1 -1
View File
@@ -1 +1 @@
pluginVersion = 1.8.1 pluginVersion = 1.8.2
@@ -3,6 +3,7 @@ package de.shiewk.smoderation.paper.listener;
import de.shiewk.smoderation.paper.SModerationPaper; import de.shiewk.smoderation.paper.SModerationPaper;
import de.shiewk.smoderation.paper.command.VanishCommand; import de.shiewk.smoderation.paper.command.VanishCommand;
import de.shiewk.smoderation.paper.util.SchedulerUtil; import de.shiewk.smoderation.paper.util.SchedulerUtil;
import io.papermc.paper.event.entity.WardenAngerChangeEvent;
import net.kyori.adventure.key.Key; import net.kyori.adventure.key.Key;
import net.kyori.adventure.sound.Sound; import net.kyori.adventure.sound.Sound;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
@@ -11,6 +12,7 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityTargetEvent;
import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent; 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) { private static void broadcast(Component message) {
Component result = PREFIX.append(message); Component result = PREFIX.append(message);
Bukkit.getConsoleSender().sendMessage(result); Bukkit.getConsoleSender().sendMessage(result);