diff --git a/bukkit/src/main/java/com/griefdefender/command/ClaimFlagBase.java b/bukkit/src/main/java/com/griefdefender/command/ClaimFlagBase.java index 12545e1..183580e 100644 --- a/bukkit/src/main/java/com/griefdefender/command/ClaimFlagBase.java +++ b/bukkit/src/main/java/com/griefdefender/command/ClaimFlagBase.java @@ -1147,11 +1147,13 @@ private Consumer createFlagConsumer(GDPermissionUser src, GDClaim // Check server context final Iterator iterator = newContexts.iterator(); boolean hasServerContext = false; + boolean hasDefaultContext = false; while (iterator.hasNext()) { final Context context = iterator.next(); if (context.getKey().equals("server")) { hasServerContext = true; - break; + } else if (context.getKey().equalsIgnoreCase("gd_claim_default")) { + hasDefaultContext = true; } } @@ -1166,7 +1168,7 @@ private Consumer createFlagConsumer(GDPermissionUser src, GDClaim return; } - if (displayType == MenuType.DEFAULT) { + if (displayType == MenuType.DEFAULT || (hasDefaultContext && src.getInternalPlayerData().canManageFlagDefaults)) { PermissionResult result = PermissionUtil.getInstance().setTransientPermission(this.subject, flag.getPermission(), newValue, newContexts); if (result.successful()) { showFlagPermissions(src, claim, displayType); diff --git a/sponge/src/main/java/com/griefdefender/command/ClaimFlagBase.java b/sponge/src/main/java/com/griefdefender/command/ClaimFlagBase.java index b60d723..7fea858 100644 --- a/sponge/src/main/java/com/griefdefender/command/ClaimFlagBase.java +++ b/sponge/src/main/java/com/griefdefender/command/ClaimFlagBase.java @@ -1147,11 +1147,13 @@ private Consumer createFlagConsumer(GDPermissionUser src, GDClaim // Check server context final Iterator iterator = newContexts.iterator(); boolean hasServerContext = false; + boolean hasDefaultContext = false; while (iterator.hasNext()) { final Context context = iterator.next(); if (context.getKey().equals("server")) { hasServerContext = true; - break; + } else if (context.getKey().equalsIgnoreCase("gd_claim_default")) { + hasDefaultContext = true; } } @@ -1166,7 +1168,7 @@ private Consumer createFlagConsumer(GDPermissionUser src, GDClaim return; } - if (displayType == MenuType.DEFAULT) { + if (displayType == MenuType.DEFAULT || (hasDefaultContext && src.getInternalPlayerData().canManageFlagDefaults)) { PermissionResult result = PermissionUtil.getInstance().setTransientPermission(this.subject, flag.getPermission(), newValue, newContexts); if (result.successful()) { showFlagPermissions(src, claim, displayType);