From 645f5db2bffd9ce00dc76e136588d2000ba024a9 Mon Sep 17 00:00:00 2001 From: gnembon Date: Fri, 6 Dec 2019 12:47:52 -0400 Subject: [PATCH 1/2] block commands by default supports new extended boolean values --- src/main/java/carpet/settings/SettingsManager.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/carpet/settings/SettingsManager.java b/src/main/java/carpet/settings/SettingsManager.java index b0c4a81e..06c40fed 100644 --- a/src/main/java/carpet/settings/SettingsManager.java +++ b/src/main/java/carpet/settings/SettingsManager.java @@ -138,13 +138,16 @@ public class SettingsManager return server.getLevelStorage().resolveFile(server.getLevelName(), identifier+".conf"); } - public void disableBooleanFromCategory(String category) + public void disableBooleanCommands() { for (ParsedRule rule : rules.values()) { - if (rule.type != boolean.class || !rule.categories.contains(category)) + if (!rule.categories.contains(RuleCategory.COMMAND)) continue; - ((ParsedRule) rule).set(server.getCommandSource(), false, "false"); + if (rule.type == boolean.class) + ((ParsedRule) rule).set(server.getCommandSource(), false, "false"); + if (rule.type == String.class) + ((ParsedRule) rule).set(server.getCommandSource(), "false", "false"); } } @@ -210,7 +213,7 @@ public class SettingsManager if (conf.getRight()) { CarpetSettings.LOG.info("[CM]: "+fancyName+" features are locked by the administrator"); - disableBooleanFromCategory(RuleCategory.COMMAND); + disableBooleanCommands(); } for (String key: conf.getLeft().keySet()) { From 9cca6ddfb5fdd63a4237b7821586c44f25512fdf Mon Sep 17 00:00:00 2001 From: gnembon Date: Fri, 6 Dec 2019 13:41:13 -0400 Subject: [PATCH 2/2] just to make sure string booleans are handled properly --- src/main/java/carpet/settings/SettingsManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/carpet/settings/SettingsManager.java b/src/main/java/carpet/settings/SettingsManager.java index 06c40fed..e64bdc1e 100644 --- a/src/main/java/carpet/settings/SettingsManager.java +++ b/src/main/java/carpet/settings/SettingsManager.java @@ -146,7 +146,7 @@ public class SettingsManager continue; if (rule.type == boolean.class) ((ParsedRule) rule).set(server.getCommandSource(), false, "false"); - if (rule.type == String.class) + if (rule.type == String.class && rule.options.contains("false")) ((ParsedRule) rule).set(server.getCommandSource(), "false", "false"); } }