package net.t2code.opsecurity.check; import net.t2code.opsecurity.config.config.Config; import net.t2code.opsecurity.config.language.Language; import net.t2code.opsecurity.config.opWhitelist.OPWhitelist; import net.t2code.opsecurity.events.Events; import net.t2code.opsecurity.objects.PlayerCash; import net.t2code.opsecurity.objects.PlayerObject; import net.t2code.opsecurity.system.BungeeSenderReceiver; import net.t2code.opsecurity.system.Main; import net.t2code.t2codelib.SPIGOT.api.commands.T2Ccmd; import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import java.util.Map; public class OpCheck { public static Boolean onCheck(Player player, Boolean join) { if (!OPWhitelist.enable.valueBoolean) return false; if (!player.isOp()) return false; if (opWhitelist(player)) return false; if (join) T2Csend.console(Language.opWhitelistNotifyOnJoin.value.replace("[player]", player.getName()).replace("[uuid]", String.valueOf(player.getUniqueId()))); Bukkit.getScheduler().runTask(Main.getPlugin(), new Runnable() { @Override public void run() { execute(player, join); } }); return true; } private static void execute(Player player, Boolean join) { if (Config.notifyJoinWarning.valueBoolean && join) { if (Config.notifyBungee.valueBoolean) { BungeeSenderReceiver.sendToBungee(Language.opWhitelistNotifyOnJoin.value.replace("[player]", player.getName()).replace("[uuid]", String.valueOf(player.getUniqueId()))); } else Events.notifyPlayer(Language.opWhitelistNotifyOnJoin.value.replace("[player]", player.getName()).replace("[uuid]", String.valueOf(player.getUniqueId()))); } if (OPWhitelist.noOpPlayerSetGameModeEnable.valueBoolean) { player.setGameMode(OPWhitelist.noOpPlayerSetGameModeValue.valueGameMode); } if (OPWhitelist.noOpPlayerDeopEnable.valueBoolean) { player.setOp(false); if (OPWhitelist.noOpPlayerKickEnable.valueBoolean) { if (!OPWhitelist.customCommandsEnable.valueBoolean) { if (Config.kickCustomCommand.valueBoolean) { T2Ccmd.console(Config.kickCommand.valueString.replace("[player]", player.getName()).replace("[reason]", OPWhitelist.noOpPlayerKickEnable.valueBoolean && OPWhitelist.noOpPlayerDeopEnable.valueBoolean && OPWhitelist.noOpPlayerDeopPlayerSendMessage.valueBoolean ? Language.opWhitelistKick.value + "

" + Language.opWhitelistDeop.value : Language.opWhitelistKick.value)); } else player.kickPlayer(OPWhitelist.noOpPlayerDeopEnable.valueBoolean && OPWhitelist.noOpPlayerDeopPlayerSendMessage.valueBoolean ? Language.opWhitelistKick.value + "\n \n" + Language.opWhitelistDeop.value : Language.opWhitelistKick.value); } T2Csend.console(Language.opWhitelistNotifyDeop.value.replace("[player]", player.getName().replace("[uuid]", String.valueOf(player.getUniqueId()))) + "
" + Language.opWhitelistNotifyKick.value.replace("[player]", player.getName().replace("[uuid]", String.valueOf(player.getUniqueId()))).replace("[uuid]", String.valueOf(player.getUniqueId()))); Events.notifyPlayer(Language.opWhitelistNotifyDeop.value.replace("[player]", player.getName()) + "
" + Language.opWhitelistNotifyKick.value.replace("[player]", player.getName()).replace("[uuid]", String.valueOf(player.getUniqueId()))); } else { T2Csend.console(Language.opWhitelistNotifyDeop.value.replace("[player]", player.getName()).replace("[uuid]", String.valueOf(player.getUniqueId()))); Events.notifyPlayer(Language.opWhitelistNotifyDeop.value.replace("[player]", player.getName()).replace("[uuid]", String.valueOf(player.getUniqueId()))); if (OPWhitelist.noOpPlayerDeopPlayerSendMessage.valueBoolean) { Bukkit.getScheduler().runTaskLater(Main.getPlugin(), new Runnable() { @Override public void run() { T2Csend.player(player, Language.opWhitelistDeop.value); } }, 5L); } } } if (OPWhitelist.noOpPlayerKickEnable.valueBoolean) { if (!OPWhitelist.noOpPlayerDeopEnable.valueBoolean) { if (!OPWhitelist.customCommandsEnable.valueBoolean) { if (Config.kickCustomCommand.valueBoolean) { T2Ccmd.console(Config.kickCommand.valueString.replace("[player]", player.getName()).replace("[reason]", Language.opWhitelistKick.value)); } else player.kickPlayer(Language.opWhitelistKick.value); } T2Csend.console(Language.opWhitelistNotifyKick.value.replace("[player]", player.getName()).replace("[uuid]", String.valueOf(player.getUniqueId()))); Events.notifyPlayer(Language.opWhitelistNotifyKick.value.replace("[player]", player.getName()).replace("[uuid]", String.valueOf(player.getUniqueId()))); } } if (OPWhitelist.customCommandsEnable.valueBoolean) { for (String cmd : OPWhitelist.customCommandsCommands.valueStringList) { T2Ccmd.console(cmd.replace("[player]", player.getName())); } } } public static Boolean opWhitelist(Player player) { for (Map.Entry playerObject : PlayerCash.getOpHashMap().entrySet()) { T2Csend.debug(Main.getPlugin(), "--------- " + player.getName()); T2Csend.debug(Main.getPlugin(), "opWhitelist playerObject Name: " + playerObject.getValue().playerName); T2Csend.debug(Main.getPlugin(), "opWhitelist Player Name: " + player.getName()); T2Csend.debug(Main.getPlugin(), "opWhitelist playerObject UUID: " + playerObject.getValue().uuid); T2Csend.debug(Main.getPlugin(), "opWhitelist Player UUID: " + player.getUniqueId().toString().replace("-", "")); if (playerObject.getValue().playerName.equals(player.getName()) && playerObject.getValue().uuid.equals(player.getUniqueId().toString().replace("-", ""))) { T2Csend.debug(Main.getPlugin(), "opWhitelist Player on list!"); return true; } } return false; } }