Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
98fd0409fd | |||
a2bd88ac7c | |||
dba1e57b91 | |||
e14f91c584 | |||
1547c16093 | |||
44507458e5 | |||
ea54d85ecc |
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>net.t2code</groupId>
|
<groupId>net.t2code</groupId>
|
||||||
<artifactId>T2C-OPSecurity</artifactId>
|
<artifactId>T2C-OPSecurity</artifactId>
|
||||||
<version>3.0.4</version>
|
<version>3.1.0</version>
|
||||||
|
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
@@ -0,0 +1,60 @@
|
|||||||
|
package net.t2code.opsecurity.API;
|
||||||
|
|
||||||
|
import net.t2code.opsecurity.check.OpCheck;
|
||||||
|
import net.t2code.opsecurity.check.PermissionCheck;
|
||||||
|
import net.t2code.opsecurity.config.config.Config;
|
||||||
|
import net.t2code.opsecurity.config.opWhitelist.OPWhitelist;
|
||||||
|
import net.t2code.opsecurity.config.permissionWhitelist.PermissionWhitelist;
|
||||||
|
import net.t2code.opsecurity.objects.PlayerCache;
|
||||||
|
import net.t2code.opsecurity.objects.PlayerObject;
|
||||||
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class T2COpSecAPI {
|
||||||
|
public static boolean checkOPWhiteList(Player player) {
|
||||||
|
if (!OPWhitelist.enable.valueBoolean) return true;
|
||||||
|
return OpCheck.opWhitelist(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean checkPermissionWhiteList(Player player) {
|
||||||
|
if (!PermissionWhitelist.enable.valueBoolean) return true;
|
||||||
|
return PermissionCheck.permWhitelist(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static T2COpSecAPIPlayerStatus detailCheckOPWhiteList(Player player) {
|
||||||
|
if (!OPWhitelist.enable.valueBoolean) return T2COpSecAPIPlayerStatus.playerOnOpWhitelist;
|
||||||
|
List<String> nameList = new ArrayList<>();
|
||||||
|
List<String> uuidList = new ArrayList<>();
|
||||||
|
for (Map.Entry<String, PlayerObject> playerObject : PlayerCache.getOpHashMap().entrySet()) {
|
||||||
|
nameList.add(playerObject.getValue().playerName);
|
||||||
|
uuidList.add(playerObject.getValue().uuid);
|
||||||
|
}
|
||||||
|
if (!nameList.contains(player.getName())) {
|
||||||
|
return T2COpSecAPIPlayerStatus.playerNameNotOnTheOpWhitelist;
|
||||||
|
}
|
||||||
|
if (!uuidList.contains(player.getUniqueId().toString().replace("-", ""))) {
|
||||||
|
return T2COpSecAPIPlayerStatus.playerUuidNotOnTheOpWhitelist;
|
||||||
|
}
|
||||||
|
return T2COpSecAPIPlayerStatus.playerOnOpWhitelist;
|
||||||
|
}
|
||||||
|
public static T2COpSecAPIPlayerStatus detailCheckPermissionWhiteList(Player player) {
|
||||||
|
if (!PermissionWhitelist.enable.valueBoolean) return T2COpSecAPIPlayerStatus.playerOnPermissionWhitelist;
|
||||||
|
List<String> nameList = new ArrayList<>();
|
||||||
|
List<String> uuidList = new ArrayList<>();
|
||||||
|
for (Map.Entry<String, PlayerObject> playerObject : PlayerCache.getPermissionHashMap().entrySet()) {
|
||||||
|
nameList.add(playerObject.getValue().playerName);
|
||||||
|
uuidList.add(playerObject.getValue().uuid);
|
||||||
|
}
|
||||||
|
if (!nameList.contains(player.getName())) {
|
||||||
|
return T2COpSecAPIPlayerStatus.playerNameNotOnThePermissionWhitelist;
|
||||||
|
}
|
||||||
|
if (!uuidList.contains(player.getUniqueId().toString().replace("-", ""))) {
|
||||||
|
return T2COpSecAPIPlayerStatus.playerUuidNotOnThePermissionWhitelist;
|
||||||
|
}
|
||||||
|
return T2COpSecAPIPlayerStatus.playerOnPermissionWhitelist;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,10 @@
|
|||||||
|
package net.t2code.opsecurity.API;
|
||||||
|
|
||||||
|
public enum T2COpSecAPIPlayerStatus {
|
||||||
|
playerOnOpWhitelist,
|
||||||
|
playerNameNotOnTheOpWhitelist,
|
||||||
|
playerUuidNotOnTheOpWhitelist,
|
||||||
|
playerOnPermissionWhitelist,
|
||||||
|
playerNameNotOnThePermissionWhitelist,
|
||||||
|
playerUuidNotOnThePermissionWhitelist
|
||||||
|
}
|
@@ -4,7 +4,7 @@ import net.t2code.opsecurity.config.config.Config;
|
|||||||
import net.t2code.opsecurity.config.language.Language;
|
import net.t2code.opsecurity.config.language.Language;
|
||||||
import net.t2code.opsecurity.config.opWhitelist.OPWhitelist;
|
import net.t2code.opsecurity.config.opWhitelist.OPWhitelist;
|
||||||
import net.t2code.opsecurity.events.Events;
|
import net.t2code.opsecurity.events.Events;
|
||||||
import net.t2code.opsecurity.objects.PlayerCash;
|
import net.t2code.opsecurity.objects.PlayerCache;
|
||||||
import net.t2code.opsecurity.objects.PlayerObject;
|
import net.t2code.opsecurity.objects.PlayerObject;
|
||||||
import net.t2code.opsecurity.system.BungeeSenderReceiver;
|
import net.t2code.opsecurity.system.BungeeSenderReceiver;
|
||||||
import net.t2code.opsecurity.system.Main;
|
import net.t2code.opsecurity.system.Main;
|
||||||
@@ -50,7 +50,7 @@ public class OpCheck {
|
|||||||
OPWhitelist.noOpPlayerKickEnable.valueBoolean && OPWhitelist.noOpPlayerDeopEnable.valueBoolean && OPWhitelist.noOpPlayerDeopPlayerSendMessage.valueBoolean
|
OPWhitelist.noOpPlayerKickEnable.valueBoolean && OPWhitelist.noOpPlayerDeopEnable.valueBoolean && OPWhitelist.noOpPlayerDeopPlayerSendMessage.valueBoolean
|
||||||
? Language.opWhitelistKick.value + "<br> <br>" + Language.opWhitelistDeop.value : Language.opWhitelistKick.value));
|
? Language.opWhitelistKick.value + "<br> <br>" + Language.opWhitelistDeop.value : Language.opWhitelistKick.value));
|
||||||
} else player.kickPlayer(OPWhitelist.noOpPlayerDeopEnable.valueBoolean && OPWhitelist.noOpPlayerDeopPlayerSendMessage.valueBoolean
|
} else player.kickPlayer(OPWhitelist.noOpPlayerDeopEnable.valueBoolean && OPWhitelist.noOpPlayerDeopPlayerSendMessage.valueBoolean
|
||||||
? Language.opWhitelistKick.value + "\n \n" + Language.opWhitelistDeop.value : Language.opWhitelistKick.value);
|
? 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()))) + "<br>"
|
T2Csend.console(Language.opWhitelistNotifyDeop.value.replace("[player]", player.getName().replace("[uuid]", String.valueOf(player.getUniqueId()))) + "<br>"
|
||||||
+ Language.opWhitelistNotifyKick.value.replace("[player]", player.getName().replace("[uuid]", String.valueOf(player.getUniqueId()))).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())));
|
||||||
@@ -89,8 +89,16 @@ public class OpCheck {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static Boolean opWhitelist(Player player) {
|
public static Boolean opWhitelist(Player player) {
|
||||||
for (Map.Entry<String, PlayerObject> playerObject : PlayerCash.getOpHashMap().entrySet()) {
|
for (Map.Entry<String, PlayerObject> playerObject : PlayerCache.getOpHashMap().entrySet()) {
|
||||||
if (playerObject.getValue().playerName.equals(player.getName()) && playerObject.getValue().uuid.equals(player.getUniqueId().toString())) return true;
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -4,7 +4,7 @@ import net.t2code.opsecurity.config.config.Config;
|
|||||||
import net.t2code.opsecurity.config.language.Language;
|
import net.t2code.opsecurity.config.language.Language;
|
||||||
import net.t2code.opsecurity.config.permissionWhitelist.PermissionWhitelist;
|
import net.t2code.opsecurity.config.permissionWhitelist.PermissionWhitelist;
|
||||||
import net.t2code.opsecurity.events.Events;
|
import net.t2code.opsecurity.events.Events;
|
||||||
import net.t2code.opsecurity.objects.PlayerCash;
|
import net.t2code.opsecurity.objects.PlayerCache;
|
||||||
import net.t2code.opsecurity.objects.PlayerObject;
|
import net.t2code.opsecurity.objects.PlayerObject;
|
||||||
import net.t2code.opsecurity.system.BungeeSenderReceiver;
|
import net.t2code.opsecurity.system.BungeeSenderReceiver;
|
||||||
import net.t2code.opsecurity.system.Main;
|
import net.t2code.opsecurity.system.Main;
|
||||||
@@ -19,8 +19,8 @@ public class PermissionCheck {
|
|||||||
public static Boolean onCheck(Player player, Boolean join) {
|
public static Boolean onCheck(Player player, Boolean join) {
|
||||||
if (!PermissionWhitelist.enable.valueBoolean) return false;
|
if (!PermissionWhitelist.enable.valueBoolean) return false;
|
||||||
for (String perm : PermissionWhitelist.permissions.valueStringList) {
|
for (String perm : PermissionWhitelist.permissions.valueStringList) {
|
||||||
if (!player.hasPermission(perm)) continue;
|
if (!player.hasPermission(perm)) return false;
|
||||||
if (permWhitelist(player)) continue;
|
if (permWhitelist(player)) return false;
|
||||||
Bukkit.getScheduler().runTask(Main.getPlugin(), new Runnable() {
|
Bukkit.getScheduler().runTask(Main.getPlugin(), new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -42,7 +42,7 @@ public class PermissionCheck {
|
|||||||
|
|
||||||
if (PermissionWhitelist.playerWithPermissionKick.valueBoolean) {
|
if (PermissionWhitelist.playerWithPermissionKick.valueBoolean) {
|
||||||
if (Config.kickCustomCommand.valueBoolean) {
|
if (Config.kickCustomCommand.valueBoolean) {
|
||||||
T2Ccmd.console(Config.kickCommand.valueString.replace("[player]", player.getName()).replace("[reason]", Language.permissionWhitelistKick.value));
|
T2Ccmd.console(Config.kickCommand.valueString.replace("[perm]", perm).replace("[player]", player.getName()).replace("[reason]", Language.permissionWhitelistKick.value));
|
||||||
} else player.kickPlayer(Language.permissionWhitelistKick.value);
|
} else player.kickPlayer(Language.permissionWhitelistKick.value);
|
||||||
T2Csend.console(Language.permissionWhitelistNotifyKick.value.replace("[player]",
|
T2Csend.console(Language.permissionWhitelistNotifyKick.value.replace("[player]",
|
||||||
player.getName()).replace("[perm]", perm).replace("[uuid]",String.valueOf(player.getUniqueId())));
|
player.getName()).replace("[perm]", perm).replace("[uuid]",String.valueOf(player.getUniqueId())));
|
||||||
@@ -54,9 +54,18 @@ public class PermissionCheck {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Boolean permWhitelist(Player player) {
|
public static Boolean permWhitelist(Player player) {
|
||||||
for (Map.Entry<String, PlayerObject> playerObject : PlayerCash.getPermissionHashMap().entrySet()) {
|
|
||||||
if (playerObject.getValue().playerName.equals(player.getName()) && playerObject.getValue().uuid.equals(player.getUniqueId().toString())) return true;
|
for (Map.Entry<String, PlayerObject> playerObject : PlayerCache.getPermissionHashMap().entrySet()) {
|
||||||
|
T2Csend.debug(Main.getPlugin(), "--------- " + player.getName());
|
||||||
|
T2Csend.debug(Main.getPlugin(),"permWhitelist playerObject Name: "+playerObject.getValue().playerName );
|
||||||
|
T2Csend.debug(Main.getPlugin(),"permWhitelist Player Name: "+player.getName() );
|
||||||
|
T2Csend.debug(Main.getPlugin(),"permWhitelist playerObject UUID: "+playerObject.getValue().uuid );
|
||||||
|
T2Csend.debug(Main.getPlugin(),"permWhitelist 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(),"permWhitelist Player on list!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -4,12 +4,8 @@ package net.t2code.opsecurity.command;
|
|||||||
|
|
||||||
import net.t2code.opsecurity.Util;
|
import net.t2code.opsecurity.Util;
|
||||||
import net.t2code.opsecurity.config.config.Config;
|
import net.t2code.opsecurity.config.config.Config;
|
||||||
import net.t2code.opsecurity.objects.PlayerCash;
|
|
||||||
import net.t2code.opsecurity.objects.PlayerObject;
|
|
||||||
import net.t2code.opsecurity.system.Main;
|
|
||||||
import net.t2code.opsecurity.system.Permissions;
|
import net.t2code.opsecurity.system.Permissions;
|
||||||
import net.t2code.t2codelib.SPIGOT.api.commands.T2Ctab;
|
import net.t2code.t2codelib.SPIGOT.api.commands.T2Ctab;
|
||||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@@ -18,7 +14,6 @@ import org.bukkit.command.TabCompleter;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public class CmdExecuter implements CommandExecutor, TabCompleter {
|
public class CmdExecuter implements CommandExecutor, TabCompleter {
|
||||||
|
|
||||||
|
@@ -5,8 +5,6 @@ import net.t2code.opsecurity.check.OpCheck;
|
|||||||
import net.t2code.opsecurity.config.FileSelect;
|
import net.t2code.opsecurity.config.FileSelect;
|
||||||
import net.t2code.opsecurity.config.config.Config;
|
import net.t2code.opsecurity.config.config.Config;
|
||||||
import net.t2code.opsecurity.config.language.Language;
|
import net.t2code.opsecurity.config.language.Language;
|
||||||
import net.t2code.opsecurity.enums.OpCommandRequest;
|
|
||||||
import net.t2code.opsecurity.objects.PlayerCash;
|
|
||||||
import net.t2code.opsecurity.system.Main;
|
import net.t2code.opsecurity.system.Main;
|
||||||
import net.t2code.opsecurity.system.Permissions;
|
import net.t2code.opsecurity.system.Permissions;
|
||||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||||
|
@@ -5,7 +5,7 @@ import net.t2code.opsecurity.config.config.Config;
|
|||||||
import net.t2code.opsecurity.config.language.Language;
|
import net.t2code.opsecurity.config.language.Language;
|
||||||
import net.t2code.opsecurity.config.opWhitelist.OPWhitelist;
|
import net.t2code.opsecurity.config.opWhitelist.OPWhitelist;
|
||||||
import net.t2code.opsecurity.config.permissionWhitelist.PermissionWhitelist;
|
import net.t2code.opsecurity.config.permissionWhitelist.PermissionWhitelist;
|
||||||
import net.t2code.opsecurity.objects.PlayerCash;
|
import net.t2code.opsecurity.objects.PlayerCache;
|
||||||
import net.t2code.opsecurity.objects.PlayerObject;
|
import net.t2code.opsecurity.objects.PlayerObject;
|
||||||
import net.t2code.opsecurity.system.Main;
|
import net.t2code.opsecurity.system.Main;
|
||||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Creplace;
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2Creplace;
|
||||||
@@ -115,7 +115,7 @@ public class FileSelect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void selectOpWhitelist() {
|
public static void selectOpWhitelist() {
|
||||||
PlayerCash.getOpHashMap().clear();
|
PlayerCache.getOpHashMap().clear();
|
||||||
File config = new File(Main.getPath(), "opWhitelist.yml");
|
File config = new File(Main.getPath(), "opWhitelist.yml");
|
||||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
||||||
for (OPWhitelist value : OPWhitelist.values()) {
|
for (OPWhitelist value : OPWhitelist.values()) {
|
||||||
@@ -128,7 +128,7 @@ public class FileSelect {
|
|||||||
break;
|
break;
|
||||||
case STRINGLIST:
|
case STRINGLIST:
|
||||||
if (!yamlConfiguration.contains(value.path)) {
|
if (!yamlConfiguration.contains(value.path)) {
|
||||||
yamlConfiguration.set(value.path, value.valueBoolean);
|
yamlConfiguration.set(value.path, value.valueStringList);
|
||||||
}
|
}
|
||||||
value.valueStringList = T2Creplace.replace(Util.getPrefix(), yamlConfiguration.getStringList(value.path));
|
value.valueStringList = T2Creplace.replace(Util.getPrefix(), yamlConfiguration.getStringList(value.path));
|
||||||
break;
|
break;
|
||||||
@@ -144,7 +144,7 @@ public class FileSelect {
|
|||||||
PlayerObject playerObject = new PlayerObject(
|
PlayerObject playerObject = new PlayerObject(
|
||||||
name,
|
name,
|
||||||
yamlConfiguration.getString(value.pathPlayerUuid.replace("KEY", key)).replace("-", ""));
|
yamlConfiguration.getString(value.pathPlayerUuid.replace("KEY", key)).replace("-", ""));
|
||||||
PlayerCash.getOpHashMap().put(name, playerObject);
|
PlayerCache.getOpHashMap().put(name, playerObject);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GAMEMODE:
|
case GAMEMODE:
|
||||||
@@ -168,7 +168,7 @@ public class FileSelect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void selectPermissionWhitelist() {
|
public static void selectPermissionWhitelist() {
|
||||||
PlayerCash.getPermissionHashMap().clear();
|
PlayerCache.getPermissionHashMap().clear();
|
||||||
File config = new File(Main.getPath(), "permissionWhitelist.yml");
|
File config = new File(Main.getPath(), "permissionWhitelist.yml");
|
||||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
||||||
for (PermissionWhitelist value : PermissionWhitelist.values()) {
|
for (PermissionWhitelist value : PermissionWhitelist.values()) {
|
||||||
@@ -196,8 +196,8 @@ public class FileSelect {
|
|||||||
String name = yamlConfiguration.getString(value.pathPlayerName.replace("KEY", key));
|
String name = yamlConfiguration.getString(value.pathPlayerName.replace("KEY", key));
|
||||||
PlayerObject playerObject = new PlayerObject(
|
PlayerObject playerObject = new PlayerObject(
|
||||||
name,
|
name,
|
||||||
yamlConfiguration.getString(value.pathPlayerUuid.replace("KEY", key).replace("-", "")));
|
yamlConfiguration.getString(value.pathPlayerUuid.replace("KEY", key)).replace("-", ""));
|
||||||
PlayerCash.getPermissionHashMap().put(name, playerObject);
|
PlayerCache.getPermissionHashMap().put(name, playerObject);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -19,7 +19,7 @@ public enum Config {
|
|||||||
checkOnChat("check.onChat", true, ConfigParam.BOOLEAN),
|
checkOnChat("check.onChat", true, ConfigParam.BOOLEAN),
|
||||||
checkTimerEnable("check.timer.enable", true, ConfigParam.BOOLEAN),
|
checkTimerEnable("check.timer.enable", true, ConfigParam.BOOLEAN),
|
||||||
checkTimerRefreshInSec("check.timer.refreshInSec", 60, ConfigParam.INTEGER),
|
checkTimerRefreshInSec("check.timer.refreshInSec", 60, ConfigParam.INTEGER),
|
||||||
kickCustomCommand("kick.customCommand.Enable", false, ConfigParam.BOOLEAN),
|
kickCustomCommand("kick.customCommand.enable", false, ConfigParam.BOOLEAN),
|
||||||
kickCommand("kick.customCommand.command", "minecraft:kick [player] [reason]", ConfigParam.STRING),
|
kickCommand("kick.customCommand.command", "minecraft:kick [player] [reason]", ConfigParam.STRING),
|
||||||
notifyJoinWarning("notify.joinWarn.enable", true, ConfigParam.BOOLEAN),
|
notifyJoinWarning("notify.joinWarn.enable", true, ConfigParam.BOOLEAN),
|
||||||
notifyBungee("notify.allBungeePlayer.enable", false, ConfigParam.BOOLEAN),
|
notifyBungee("notify.allBungeePlayer.enable", false, ConfigParam.BOOLEAN),
|
||||||
|
@@ -58,8 +58,9 @@ public enum Language {
|
|||||||
"[prefix] <dark_red>Player <gold><hover:show_text:'<gold>Name:</gold> <yellow>[player]</yellow><br><gold>UUID:</gold> <yellow>[uuid]</yellow>'>[player]</hover></gold> has permission <gold>[perm]</gold> and is not authorized to do so! Therefore he was kicked! <gold><hover:show_text:'<gold>Name:</gold> <yellow>[player]</yellow><br><gold>UUID:</gold> <yellow>[uuid]</yellow>'>[player]</hover></gold> is not on the Player list!</dark_red>"),
|
"[prefix] <dark_red>Player <gold><hover:show_text:'<gold>Name:</gold> <yellow>[player]</yellow><br><gold>UUID:</gold> <yellow>[uuid]</yellow>'>[player]</hover></gold> has permission <gold>[perm]</gold> and is not authorized to do so! Therefore he was kicked! <gold><hover:show_text:'<gold>Name:</gold> <yellow>[player]</yellow><br><gold>UUID:</gold> <yellow>[uuid]</yellow>'>[player]</hover></gold> is not on the Player list!</dark_red>"),
|
||||||
|
|
||||||
permissionWhitelistKick("permissionWhitelist.kick",null,
|
permissionWhitelistKick("permissionWhitelist.kick",null,
|
||||||
"<dark_red>Du wurdest gekickt, da du Permissions besitzt, für die du keine Berechtigung besitzt!</dark_red>",
|
"&4Du wurdest gekickt, da du Permissions besitzt, für die du keine Berechtigung besitzt!",
|
||||||
"<dark_red>You were kicked because you have permissions to which you do not have permission!</dark_red>"),
|
"&4You were kicked because you have permissions to which you do not have permission!"),
|
||||||
|
|
||||||
exactKickReason("console.exactKickReason", null,
|
exactKickReason("console.exactKickReason", null,
|
||||||
"[prefix] <dark_red>Genauer Grund:</dark_red> <gold>[reason]</gold>",
|
"[prefix] <dark_red>Genauer Grund:</dark_red> <gold>[reason]</gold>",
|
||||||
"[prefix] <dark_red>Exact reason:</dark_red> <gold>[reason]</gold>");
|
"[prefix] <dark_red>Exact reason:</dark_red> <gold>[reason]</gold>");
|
||||||
|
@@ -9,7 +9,7 @@ import java.util.List;
|
|||||||
public enum OPWhitelist {
|
public enum OPWhitelist {
|
||||||
enable("opWhitelist.enable", false, ConfigParam.BOOLEAN),
|
enable("opWhitelist.enable", false, ConfigParam.BOOLEAN),
|
||||||
playerMustBeOnlineToOp("opWhitelist.playerMustBeOnlineToOp", true, ConfigParam.BOOLEAN),
|
playerMustBeOnlineToOp("opWhitelist.playerMustBeOnlineToOp", true, ConfigParam.BOOLEAN),
|
||||||
noOpPlayerDeopEnable("opWhitelist.enable", true, ConfigParam.BOOLEAN),
|
noOpPlayerDeopEnable("opWhitelist.noOpPlayerDeop.enable", true, ConfigParam.BOOLEAN),
|
||||||
noOpPlayerDeopPlayerSendMessage("opWhitelist.noOpPlayerDeop.playerSendMessage", true, ConfigParam.BOOLEAN),
|
noOpPlayerDeopPlayerSendMessage("opWhitelist.noOpPlayerDeop.playerSendMessage", true, ConfigParam.BOOLEAN),
|
||||||
noOpPlayerKickEnable("opWhitelist.noOpPlayerKick.enable", true, ConfigParam.BOOLEAN),
|
noOpPlayerKickEnable("opWhitelist.noOpPlayerKick.enable", true, ConfigParam.BOOLEAN),
|
||||||
noOpPlayerSetGameModeEnable("opWhitelist.noOpPlayerSetGameMode.enable", true, ConfigParam.BOOLEAN),
|
noOpPlayerSetGameModeEnable("opWhitelist.noOpPlayerSetGameMode.enable", true, ConfigParam.BOOLEAN),
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
package net.t2code.opsecurity.events;
|
package net.t2code.opsecurity.events;
|
||||||
|
|
||||||
import net.t2code.opsecurity.check.OpCheck;
|
|
||||||
import net.t2code.opsecurity.config.language.Language;
|
import net.t2code.opsecurity.config.language.Language;
|
||||||
import net.t2code.opsecurity.config.opWhitelist.OPWhitelist;
|
import net.t2code.opsecurity.config.opWhitelist.OPWhitelist;
|
||||||
import net.t2code.opsecurity.enums.OpCommandRequest;
|
import net.t2code.opsecurity.enums.OpCommandRequest;
|
||||||
import net.t2code.opsecurity.objects.PlayerCash;
|
import net.t2code.opsecurity.objects.PlayerCache;
|
||||||
import net.t2code.opsecurity.objects.PlayerObject;
|
import net.t2code.opsecurity.objects.PlayerObject;
|
||||||
|
import net.t2code.opsecurity.system.Main;
|
||||||
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
|
||||||
import net.t2code.t2codelib.SPIGOT.api.player.T2CnameHistory;
|
import net.t2code.t2codelib.SPIGOT.api.player.T2CnameHistory;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
@@ -57,10 +57,12 @@ public class OpCommand implements Listener {
|
|||||||
if (command.charAt(0) == '/') command = command.replaceFirst("/", "");
|
if (command.charAt(0) == '/') command = command.replaceFirst("/", "");
|
||||||
String arg = command.replace("op ", "");
|
String arg = command.replace("op ", "");
|
||||||
Player target = Bukkit.getPlayer(arg);
|
Player target = Bukkit.getPlayer(arg);
|
||||||
|
|
||||||
if (OPWhitelist.playerMustBeOnlineToOp.valueBoolean) {
|
if (OPWhitelist.playerMustBeOnlineToOp.valueBoolean) {
|
||||||
if (target == null) return OpCommandRequest.mustOnline;
|
if (target == null) return OpCommandRequest.mustOnline;
|
||||||
if (!opWhitelist(target.getName(), target.getUniqueId().toString())) return OpCommandRequest.notWhitelisted;
|
if (!opWhitelist(target.getName(), target.getUniqueId().toString())) return OpCommandRequest.notWhitelisted;
|
||||||
}
|
}
|
||||||
|
|
||||||
String targetUUID;
|
String targetUUID;
|
||||||
if (target != null) {
|
if (target != null) {
|
||||||
targetUUID = target.getUniqueId().toString();
|
targetUUID = target.getUniqueId().toString();
|
||||||
@@ -76,8 +78,16 @@ public class OpCommand implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static Boolean opWhitelist(String playerName, String playerUuid) {
|
private static Boolean opWhitelist(String playerName, String playerUuid) {
|
||||||
for (Map.Entry<String, PlayerObject> playerObject : PlayerCash.getOpHashMap().entrySet()) {
|
for (Map.Entry<String, PlayerObject> playerObject : PlayerCache.getOpHashMap().entrySet()) {
|
||||||
if (playerObject.getValue().playerName.equals(playerName) && playerObject.getValue().uuid.equals(playerUuid)) return true;
|
T2Csend.debug(Main.getPlugin(), "--------- " + playerName);
|
||||||
|
T2Csend.debug(Main.getPlugin(),"opWhitelist (op command) playerObject Name: "+playerObject.getValue().playerName );
|
||||||
|
T2Csend.debug(Main.getPlugin(),"opWhitelist (op command) Player Name: "+ playerName );
|
||||||
|
T2Csend.debug(Main.getPlugin(),"opWhitelist (op command) playerObject UUID: "+playerObject.getValue().uuid );
|
||||||
|
T2Csend.debug(Main.getPlugin(),"opWhitelist (op command) Player UUID: "+ playerUuid );
|
||||||
|
if (playerObject.getValue().playerName.equals(playerName) && playerObject.getValue().uuid.equals(playerUuid.replace("-", ""))) {
|
||||||
|
T2Csend.debug(Main.getPlugin(),"opWhitelist (op command) on list!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -4,7 +4,7 @@ import lombok.Getter;
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class PlayerCash {
|
public class PlayerCache {
|
||||||
@Getter
|
@Getter
|
||||||
private static HashMap<String, PlayerObject> opHashMap = new HashMap<String, PlayerObject>();
|
private static HashMap<String, PlayerObject> opHashMap = new HashMap<String, PlayerObject>();
|
||||||
@Getter
|
@Getter
|
@@ -32,6 +32,20 @@ public final class Main extends JavaPlugin {
|
|||||||
autor = this.getDescription().getAuthors();
|
autor = this.getDescription().getAuthors();
|
||||||
version = this.getDescription().getVersion();
|
version = this.getDescription().getVersion();
|
||||||
if (pluginNotFound("T2CodeLib", 96388, Util.getRequiredT2CodeLibVersion())) return;
|
if (pluginNotFound("T2CodeLib", 96388, Util.getRequiredT2CodeLibVersion())) return;
|
||||||
|
load();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
private static void load(){
|
||||||
|
if (!Bukkit.getPluginManager().getPlugin("T2CodeLib").isEnabled()){
|
||||||
|
Bukkit.getScheduler().runTaskLaterAsynchronously(plugin, new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
load();
|
||||||
|
}
|
||||||
|
},5L);
|
||||||
|
return;
|
||||||
|
}
|
||||||
t2codeLib = true;
|
t2codeLib = true;
|
||||||
Load.onLoad(plugin,autor,version);
|
Load.onLoad(plugin,autor,version);
|
||||||
}
|
}
|
||||||
|
@@ -6,9 +6,10 @@ api-version: 1.13
|
|||||||
load: STARTUP
|
load: STARTUP
|
||||||
prefix: T2C-OPSecurity
|
prefix: T2C-OPSecurity
|
||||||
authors: [ JaTiTV ]
|
authors: [ JaTiTV ]
|
||||||
|
|
||||||
softdepend:
|
softdepend:
|
||||||
- T2CodeLib
|
- T2CodeLib
|
||||||
- OPSecurity
|
|
||||||
commands:
|
commands:
|
||||||
t2c-opsecurity:
|
t2c-opsecurity:
|
||||||
aliases: [opsec, opsecurity]
|
aliases: [opsec, opsecurity]
|
Reference in New Issue
Block a user