From 25b9a6733e8b77b5ca1f22fe1d63d25a027ae041 Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Mon, 31 Jul 2023 13:29:28 +0200 Subject: [PATCH] Do not kick staff while they are vanished --- .../java/com/alttd/afkdectector/MessageTimer.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alttd/afkdectector/MessageTimer.java b/src/main/java/com/alttd/afkdectector/MessageTimer.java index 5484579..a011aa3 100755 --- a/src/main/java/com/alttd/afkdectector/MessageTimer.java +++ b/src/main/java/com/alttd/afkdectector/MessageTimer.java @@ -11,6 +11,7 @@ import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; import net.kyori.adventure.title.Title; import org.bukkit.Bukkit; import org.bukkit.entity.Player; +import org.bukkit.metadata.MetadataValue; import org.bukkit.scheduler.BukkitRunnable; import java.util.Date; @@ -49,7 +50,7 @@ public class MessageTimer extends BukkitRunnable { public void run() { Player player = Bukkit.getPlayer(uuid); if (plugin.messageTimers.containsKey(uuid)) { - if (player == null || player.hasPermission("afkdetector.kickexempt")) { + if (player == null || player.hasPermission("afkdetector.kickexempt") || isVanished(player)) { cancel(); return; } @@ -88,4 +89,12 @@ public class MessageTimer extends BukkitRunnable { } } } + + private boolean isVanished(Player player) { + for (MetadataValue meta : player.getMetadata("vanished")) { + if (meta.asBoolean()) return true; + } + return false; + } + }