diff --git a/OpSecurity V3/pom.xml b/OpSecurity V3/pom.xml
index a847f3c..49a6a7d 100644
--- a/OpSecurity V3/pom.xml
+++ b/OpSecurity V3/pom.xml
@@ -6,7 +6,7 @@
net.t2code
T2C-OPSecurity
- 3.0.7
+ 3.1.0
jar
diff --git a/OpSecurity V3/src/main/java/net/t2code/opsecurity/API/T2COpSecAPI.java b/OpSecurity V3/src/main/java/net/t2code/opsecurity/API/T2COpSecAPI.java
new file mode 100644
index 0000000..d6a89a7
--- /dev/null
+++ b/OpSecurity V3/src/main/java/net/t2code/opsecurity/API/T2COpSecAPI.java
@@ -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 nameList = new ArrayList<>();
+ List uuidList = new ArrayList<>();
+ for (Map.Entry 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 nameList = new ArrayList<>();
+ List uuidList = new ArrayList<>();
+ for (Map.Entry 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;
+ }
+}
diff --git a/OpSecurity V3/src/main/java/net/t2code/opsecurity/API/T2COpSecAPIPlayerStatus.java b/OpSecurity V3/src/main/java/net/t2code/opsecurity/API/T2COpSecAPIPlayerStatus.java
new file mode 100644
index 0000000..430b12d
--- /dev/null
+++ b/OpSecurity V3/src/main/java/net/t2code/opsecurity/API/T2COpSecAPIPlayerStatus.java
@@ -0,0 +1,10 @@
+package net.t2code.opsecurity.API;
+
+public enum T2COpSecAPIPlayerStatus {
+ playerOnOpWhitelist,
+ playerNameNotOnTheOpWhitelist,
+ playerUuidNotOnTheOpWhitelist,
+ playerOnPermissionWhitelist,
+ playerNameNotOnThePermissionWhitelist,
+ playerUuidNotOnThePermissionWhitelist
+}
diff --git a/OpSecurity V3/src/main/java/net/t2code/opsecurity/check/PermissionCheck.java b/OpSecurity V3/src/main/java/net/t2code/opsecurity/check/PermissionCheck.java
index f8a3aa1..d28a2b4 100644
--- a/OpSecurity V3/src/main/java/net/t2code/opsecurity/check/PermissionCheck.java
+++ b/OpSecurity V3/src/main/java/net/t2code/opsecurity/check/PermissionCheck.java
@@ -54,7 +54,7 @@ public class PermissionCheck {
}
}
- private static Boolean permWhitelist(Player player) {
+ public static Boolean permWhitelist(Player player) {
for (Map.Entry playerObject : PlayerCache.getPermissionHashMap().entrySet()) {
T2Csend.debug(Main.getPlugin(), "--------- " + player.getName());