Do not kick staff while they are vanished

This commit is contained in:
Len 2023-07-31 13:29:28 +02:00
parent 4a21cb3d33
commit 25b9a6733e

View File

@ -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;
}
}