From a2838606c77033e78a6182c5858134846b6437ab Mon Sep 17 00:00:00 2001 From: JernejTDO Date: Fri, 11 Jul 2025 21:37:46 +0200 Subject: [PATCH] Fix --- .../Spigot/Permissible/CustomPermissible.java | 20 ++++++++++++++---- .../LitePermissions/pom.properties | 2 +- .../Permissible/CustomPermissible.class | Bin 5587 -> 5987 bytes 3 files changed, 17 insertions(+), 5 deletions(-) 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 918612c82872e091356bfe11792f27831a6ae2a1..4168a8057698a5f79dd2f1fab337f20a94772957 100644 GIT binary patch literal 5987 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 Mt@tB<=1t=N1Kgg#ga7~l