Skip to content

Commit 9d8231e

Browse files
authored
Add ignorecase support to STRING_CONTAINS and STRING_DOES_NOT_CONTAIN (#267)
1 parent 87dc30d commit 9d8231e

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

src/main/java/com/extendedclip/deluxemenus/config/DeluxeMenusConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1029,6 +1029,8 @@ private RequirementList getRequirements(FileConfiguration c, String path) {
10291029
case STRING_DOES_NOT_CONTAIN:
10301030
case STRING_DOES_NOT_EQUAL:
10311031
case STRING_DOES_NOT_EQUAL_IGNORECASE:
1032+
case STRING_CONTAINS_IGNORECASE:
1033+
case STRING_DOES_NOT_CONTAIN_IGNORECASE:
10321034
if (c.contains(rPath + ".input") && c.contains(rPath + ".output")) {
10331035
req = new InputResultRequirement(type, c.getString(rPath + ".input"), c.getString(rPath + ".output"));
10341036
} else {

src/main/java/com/extendedclip/deluxemenus/requirement/InputResultRequirement.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ public boolean evaluate(MenuHolder holder) {
3333
return !parsedInput.equals(parsedResult);
3434
case STRING_DOES_NOT_EQUAL_IGNORECASE:
3535
return !parsedInput.equalsIgnoreCase(parsedResult);
36+
case STRING_CONTAINS_IGNORECASE:
37+
return parsedInput.toLowerCase().contains(parsedResult.toLowerCase());
38+
case STRING_DOES_NOT_CONTAIN_IGNORECASE:
39+
return !parsedInput.toLowerCase().contains(parsedResult.toLowerCase());
3640
default:
3741
break;
3842
}
@@ -79,3 +83,4 @@ public boolean evaluate(MenuHolder holder) {
7983
return false;
8084
}
8185
}
86+

src/main/java/com/extendedclip/deluxemenus/requirement/RequirementType.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ public enum RequirementType {
5151
"Checks if a string contains another string", Arrays.asList("input", "output")),
5252
STRING_DOES_NOT_CONTAIN(Arrays.asList("!string contains", "!stringcontains", "!contains"),
5353
"Checks if a string does not contain another string", Arrays.asList("input", "output")),
54+
STRING_CONTAINS_IGNORECASE(Arrays.asList("string contains ignorecase", "stringcontainsignorecase", "containsignorecase"),
55+
"Checks if a string contains another string ignoring case", Arrays.asList("input", "output")),
56+
STRING_DOES_NOT_CONTAIN_IGNORECASE(Arrays.asList("!string contains ignorecase", "!stringcontainsignorecase", "!containsignorecase"),
57+
"Checks if a string does not contain another string ignoring case", Arrays.asList("input", "output")),
5458
STRING_EQUALS(Arrays.asList("string equals", "stringequals", "equals"),
5559
"Checks if a string equals another string", Arrays.asList("input", "output")),
5660
STRING_DOES_NOT_EQUAL(Arrays.asList("!string equals", "!stringequals", "!equals"),
@@ -122,3 +126,4 @@ public List<String> getConfigOptions() {
122126
return configOptions;
123127
}
124128
}
129+

0 commit comments

Comments
 (0)