From f28d25f8fad3423a23758332bfc7431ae2b61690 Mon Sep 17 00:00:00 2001 From: MrJeremyFisher <63616270+MrJeremyFisher@users.noreply.github.com> Date: Thu, 29 Feb 2024 12:59:40 -0500 Subject: [PATCH] Ignore logins and logouts with `/ignore` --- .../mc/civchat2/listeners/CivChat2Listener.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java b/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java index 16dfc8ced..385066022 100644 --- a/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java +++ b/plugins/civchat2-paper/src/main/java/vg/civcraft/mc/civchat2/listeners/CivChat2Listener.java @@ -1,8 +1,5 @@ package vg.civcraft.mc.civchat2.listeners; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.entity.Player; @@ -17,6 +14,7 @@ import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.scheduler.BukkitRunnable; import vg.civcraft.mc.civchat2.CivChat2; import vg.civcraft.mc.civchat2.CivChat2Manager; +import vg.civcraft.mc.civchat2.database.CivChatDAO; import vg.civcraft.mc.civchat2.event.GlobalChatEvent; import vg.civcraft.mc.civchat2.utility.CivChat2SettingsManager; import vg.civcraft.mc.namelayer.GroupManager; @@ -25,6 +23,10 @@ import vg.civcraft.mc.namelayer.NameAPI; import vg.civcraft.mc.namelayer.group.Group; import vg.civcraft.mc.namelayer.permission.PermissionType; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + /* * @author jjj5311 * @@ -32,11 +34,13 @@ import vg.civcraft.mc.namelayer.permission.PermissionType; public class CivChat2Listener implements Listener { private CivChat2Manager chatman; + private CivChatDAO db; private CivChat2SettingsManager settings; private Set localWarn; public CivChat2Listener(CivChat2Manager instance) { chatman = instance; + db = CivChat2.getInstance().getDatabaseManager(); settings = CivChat2.getInstance().getCivChat2SettingsManager(); localWarn = new HashSet<>(); } @@ -50,7 +54,7 @@ public class CivChat2Listener implements Listener { public void onPlayerQuit(PlayerQuitEvent playerQuitEvent) { playerQuitEvent.setQuitMessage(null); for (Player p : Bukkit.getOnlinePlayers()){ - if (settings.getShowLeaves(p.getUniqueId())){ + if (settings.getShowLeaves(p.getUniqueId()) && !db.isIgnoringPlayer(p.getUniqueId(), playerQuitEvent.getPlayer().getUniqueId())){ if (playerQuitEvent.getPlayer().hasPermission("civchat2.leavejoinimmune")) { continue; } @@ -65,7 +69,7 @@ public class CivChat2Listener implements Listener { playerJoinEvent.setJoinMessage(null); } for (Player p : Bukkit.getOnlinePlayers()) { - if (settings.getShowJoins(p.getUniqueId())) { + if (settings.getShowJoins(p.getUniqueId()) && !db.isIgnoringPlayer(p.getUniqueId(), playerJoinEvent.getPlayer().getUniqueId())) { if (playerJoinEvent.getPlayer().hasPermission("civchat2.leavejoinimmune")) { continue; } @@ -154,4 +158,4 @@ public class CivChat2Listener implements Listener { } }.runTask(CivChat2.getInstance()); } -} +} \ No newline at end of file