categories not an enum, so its easier to extend. Validators can modify value.
This commit is contained in:
1 parent
92f40c36b8
commit
f05c661fbf
7 files changed
+65
-54
No files matched your search
@@ -11,14 +11,7 @@ import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.io.*;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -47,6 +40,13 @@ public class SettingsManager {
|
||||
}
|
||||
}
|
||||
|
||||
public static Iterable<String> getCategories()
|
||||
{
|
||||
Set<String> categories = new HashSet<>();
|
||||
getRules().stream().map(r -> r.categories).forEach(categories::addAll);
|
||||
return categories;
|
||||
}
|
||||
|
||||
|
||||
public ParsedRule getRule(String name) {
|
||||
return rules.get(name);
|
||||
@@ -75,7 +75,7 @@ public class SettingsManager {
|
||||
return server.getLevelStorage().resolveFile(server.getLevelName(), "carpet.conf");
|
||||
}
|
||||
|
||||
public void disableBooleanFromCategory(RuleCategory category) {
|
||||
public void disableBooleanFromCategory(String category) {
|
||||
for (ParsedRule<?> rule : rules.values()) {
|
||||
if (rule.type != boolean.class || !rule.categories.contains(category)) continue;
|
||||
((ParsedRule<Boolean>) rule).set(server.getCommandSource(), false, "false");
|
||||
@@ -223,7 +223,7 @@ public class SettingsManager {
|
||||
String lcSearch = search.toLowerCase(Locale.ROOT);
|
||||
return getRulesMatching(rule -> {
|
||||
if (rule.name.toLowerCase(Locale.ROOT).contains(lcSearch)) return true;
|
||||
for (RuleCategory c : rule.categories) if (c.lowerCase.equals(search)) return true;
|
||||
for (String c : rule.categories) if (c.toLowerCase(Locale.ROOT).equals(search)) return true;
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user