mirror of
https://github.com/bloodmc/GriefDefender.git
synced 2024-09-24 04:02:48 +02:00
Fix claim option command adding wrong context.
The claim option command should no longer add a claim context when using default or override contexts. * Fix invalid value error when using 'undefined' to unset an option using claim option commands.
This commit is contained in:
parent
99d0085d96
commit
44fc1c94e6
@ -217,7 +217,7 @@ public void execute(Player player, String[] args) throws InvalidCommandArgument
|
|||||||
showOptionPermissions(src, (GDClaim) claim, MenuType.CLAIM);
|
showOptionPermissions(src, (GDClaim) claim, MenuType.CLAIM);
|
||||||
return;
|
return;
|
||||||
} else if (option != null && value != null) {
|
} else if (option != null && value != null) {
|
||||||
if (!((GDOption) option).validateStringValue(value, false)) {
|
if (!value.equalsIgnoreCase("undefined") && !((GDOption) option).validateStringValue(value, false)) {
|
||||||
GriefDefenderPlugin.sendMessage(player, MessageStorage.MESSAGE_DATA.getMessage(MessageStorage.OPTION_INVALID_VALUE,
|
GriefDefenderPlugin.sendMessage(player, MessageStorage.MESSAGE_DATA.getMessage(MessageStorage.OPTION_INVALID_VALUE,
|
||||||
ImmutableMap.of(
|
ImmutableMap.of(
|
||||||
"value", value,
|
"value", value,
|
||||||
@ -227,17 +227,23 @@ public void execute(Player player, String[] args) throws InvalidCommandArgument
|
|||||||
}
|
}
|
||||||
|
|
||||||
MenuType type = MenuType.DEFAULT;
|
MenuType type = MenuType.DEFAULT;
|
||||||
|
boolean useClaimContext = true;
|
||||||
for (Context context : contextSet) {
|
for (Context context : contextSet) {
|
||||||
|
if (context.getKey().equals(ContextKeys.CLAIM_DEFAULT)) {
|
||||||
|
useClaimContext = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (context.getKey().equals(ContextKeys.CLAIM)) {
|
if (context.getKey().equals(ContextKeys.CLAIM)) {
|
||||||
type = MenuType.CLAIM;
|
type = MenuType.CLAIM;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (context.getKey().equals(ContextKeys.CLAIM_OVERRIDE)) {
|
if (context.getKey().equals(ContextKeys.CLAIM_OVERRIDE)) {
|
||||||
type = MenuType.OVERRIDE;
|
type = MenuType.OVERRIDE;
|
||||||
|
useClaimContext = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!option.isGlobal()) {
|
if (!option.isGlobal() && useClaimContext) {
|
||||||
contextSet.add(claim.getContext());
|
contextSet.add(claim.getContext());
|
||||||
if (contextSet.isEmpty() ) {
|
if (contextSet.isEmpty() ) {
|
||||||
type = MenuType.CLAIM;
|
type = MenuType.CLAIM;
|
||||||
|
@ -217,7 +217,7 @@ public void execute(Player player, String[] args) throws InvalidCommandArgument
|
|||||||
showOptionPermissions(src, (GDClaim) claim, MenuType.CLAIM);
|
showOptionPermissions(src, (GDClaim) claim, MenuType.CLAIM);
|
||||||
return;
|
return;
|
||||||
} else if (option != null && value != null) {
|
} else if (option != null && value != null) {
|
||||||
if (!((GDOption) option).validateStringValue(value, false)) {
|
if (!value.equalsIgnoreCase("undefined") && !((GDOption) option).validateStringValue(value, false)) {
|
||||||
GriefDefenderPlugin.sendMessage(player, MessageStorage.MESSAGE_DATA.getMessage(MessageStorage.OPTION_INVALID_VALUE,
|
GriefDefenderPlugin.sendMessage(player, MessageStorage.MESSAGE_DATA.getMessage(MessageStorage.OPTION_INVALID_VALUE,
|
||||||
ImmutableMap.of(
|
ImmutableMap.of(
|
||||||
"value", value,
|
"value", value,
|
||||||
@ -227,17 +227,23 @@ public void execute(Player player, String[] args) throws InvalidCommandArgument
|
|||||||
}
|
}
|
||||||
|
|
||||||
MenuType type = MenuType.DEFAULT;
|
MenuType type = MenuType.DEFAULT;
|
||||||
|
boolean useClaimContext = true;
|
||||||
for (Context context : contextSet) {
|
for (Context context : contextSet) {
|
||||||
|
if (context.getKey().equals(ContextKeys.CLAIM_DEFAULT)) {
|
||||||
|
useClaimContext = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (context.getKey().equals(ContextKeys.CLAIM)) {
|
if (context.getKey().equals(ContextKeys.CLAIM)) {
|
||||||
type = MenuType.CLAIM;
|
type = MenuType.CLAIM;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (context.getKey().equals(ContextKeys.CLAIM_OVERRIDE)) {
|
if (context.getKey().equals(ContextKeys.CLAIM_OVERRIDE)) {
|
||||||
type = MenuType.OVERRIDE;
|
type = MenuType.OVERRIDE;
|
||||||
|
useClaimContext = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!option.isGlobal()) {
|
if (!option.isGlobal() && useClaimContext) {
|
||||||
contextSet.add(claim.getContext());
|
contextSet.add(claim.getContext());
|
||||||
if (contextSet.isEmpty() ) {
|
if (contextSet.isEmpty() ) {
|
||||||
type = MenuType.CLAIM;
|
type = MenuType.CLAIM;
|
||||||
|
Loading…
Reference in New Issue
Block a user