diff --git a/src/main/java/si/jernejtdo/LitePermissions/Spigot/Permissible/CustomPermissible.java b/src/main/java/si/jernejtdo/LitePermissions/Spigot/Permissible/CustomPermissible.java index 63b64a1..f6bf426 100644 --- a/src/main/java/si/jernejtdo/LitePermissions/Spigot/Permissible/CustomPermissible.java +++ b/src/main/java/si/jernejtdo/LitePermissions/Spigot/Permissible/CustomPermissible.java @@ -1,6 +1,7 @@ package si.jernejtdo.LitePermissions.Spigot.Permissible; import java.util.Comparator; +import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -15,6 +16,7 @@ import si.jernejtdo.LitePermissions.Spigot.data.UserData; public class CustomPermissible extends PermissibleBase { private final Player player; + private final Map permissionCache = new HashMap<>(); public CustomPermissible(ServerOperator opable) { super(opable); @@ -36,12 +38,16 @@ public class CustomPermissible extends PermissibleBase { } public boolean checkPermissions(String inName) { + // ✅ Check if cached + if (permissionCache.containsKey(inName)) { + return permissionCache.get(inName); + } + LitePermissions plugin = LitePermissions.getPlugin(); UserData user = plugin.getUserData(player.getUniqueId()); boolean result = false; String source = "none"; - String world = player.getWorld().getName().toLowerCase(); if (user != null) { @@ -75,16 +81,22 @@ public class CustomPermissible extends PermissibleBase { } } + // ✅ Store in cache + permissionCache.put(inName, result); + + // ✅ Log only once per permission plugin.sendConsoleMessage("&a" + player.getName() + "&f permission (&e" + inName + "&f): &6" + result + " &7[source: " + source + "]"); return result; } - - - public Player getPlayer() { return player; } + + // Optional: call this if permissions change and you want to clear cache + public void clearPermissionCache() { + permissionCache.clear(); + } } diff --git a/target/classes/META-INF/maven/si.jernejtdo/LitePermissions/pom.properties b/target/classes/META-INF/maven/si.jernejtdo/LitePermissions/pom.properties index 9f7bcc6..b5384e2 100644 --- a/target/classes/META-INF/maven/si.jernejtdo/LitePermissions/pom.properties +++ b/target/classes/META-INF/maven/si.jernejtdo/LitePermissions/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven Integration for Eclipse -#Fri Jul 11 20:52:35 CEST 2025 +#Fri Jul 11 21:36:22 CEST 2025 artifactId=LitePermissions groupId=si.jernejtdo m2e.projectLocation=D\:\\Codespace\\JernejTDO\\LitePermissions diff --git a/target/classes/si/jernejtdo/LitePermissions/Spigot/Permissible/CustomPermissible.class b/target/classes/si/jernejtdo/LitePermissions/Spigot/Permissible/CustomPermissible.class index 918612c..4168a80 100644 Binary files a/target/classes/si/jernejtdo/LitePermissions/Spigot/Permissible/CustomPermissible.class and b/target/classes/si/jernejtdo/LitePermissions/Spigot/Permissible/CustomPermissible.class differ