Ignore logins and logouts with /ignore

This commit is contained in:
MrJeremyFisher
2024-02-29 12:59:40 -05:00
parent f10e47fb2f
commit f28d25f8fa

View File

@@ -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<UUID> 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());
}
}
}