From 037f8d021b21b081980e6be4243a9929709d0a5c Mon Sep 17 00:00:00 2001 From: PanKosmat <84853459+PanKosmat@users.noreply.github.com> Date: Sun, 23 Nov 2025 11:09:05 +0100 Subject: [PATCH 1/3] New ignorecase option for "STRING_CONTAINS" Added new requirement types allowing users to use "ignorecase" with "STRING_CONTAINS" and "STRING_DOES_NOT_CONTAIN" --- .../deluxemenus/requirement/RequirementType.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/extendedclip/deluxemenus/requirement/RequirementType.java b/src/main/java/com/extendedclip/deluxemenus/requirement/RequirementType.java index ef39bcc2..d36213f4 100644 --- a/src/main/java/com/extendedclip/deluxemenus/requirement/RequirementType.java +++ b/src/main/java/com/extendedclip/deluxemenus/requirement/RequirementType.java @@ -51,6 +51,10 @@ public enum RequirementType { "Checks if a string contains another string", Arrays.asList("input", "output")), STRING_DOES_NOT_CONTAIN(Arrays.asList("!string contains", "!stringcontains", "!contains"), "Checks if a string does not contain another string", Arrays.asList("input", "output")), + STRING_CONTAINS_IGNORECASE(Arrays.asList("string contains ignorecase", "stringcontainsignorecase", "containsignorecase"), + "Checks if a string contains another string ignoring case", Arrays.asList("input", "output")), + STRING_DOES_NOT_CONTAIN_IGNORECASE(Arrays.asList("!string contains ignorecase", "!stringcontainsignorecase", "!containsignorecase"), + "Checks if a string does not contain another string ignoring case", Arrays.asList("input", "output")), STRING_EQUALS(Arrays.asList("string equals", "stringequals", "equals"), "Checks if a string equals another string", Arrays.asList("input", "output")), STRING_DOES_NOT_EQUAL(Arrays.asList("!string equals", "!stringequals", "!equals"), @@ -122,3 +126,4 @@ public List getConfigOptions() { return configOptions; } } + From cb7bf3a2bf0a7f541c4ab549676056807df74e57 Mon Sep 17 00:00:00 2001 From: PanKosmat <84853459+PanKosmat@users.noreply.github.com> Date: Sun, 23 Nov 2025 11:15:49 +0100 Subject: [PATCH 2/3] New ignorecase option for "STRING_CONTAINS" Added new requirement types allowing users to use "ignorecase" with "STRING_CONTAINS" and "STRING_DOES_NOT_CONTAIN" --- .../deluxemenus/requirement/InputResultRequirement.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/extendedclip/deluxemenus/requirement/InputResultRequirement.java b/src/main/java/com/extendedclip/deluxemenus/requirement/InputResultRequirement.java index 29ef2b93..93932422 100644 --- a/src/main/java/com/extendedclip/deluxemenus/requirement/InputResultRequirement.java +++ b/src/main/java/com/extendedclip/deluxemenus/requirement/InputResultRequirement.java @@ -33,6 +33,10 @@ public boolean evaluate(MenuHolder holder) { return !parsedInput.equals(parsedResult); case STRING_DOES_NOT_EQUAL_IGNORECASE: return !parsedInput.equalsIgnoreCase(parsedResult); + case STRING_CONTAINS_IGNORECASE: + return parsedInput.toLowerCase().contains(parsedResult.toLowerCase()); + case STRING_DOES_NOT_CONTAIN_IGNORECASE: + return !parsedInput.toLowerCase().contains(parsedResult.toLowerCase()); default: break; } @@ -79,3 +83,4 @@ public boolean evaluate(MenuHolder holder) { return false; } } + From dd6059ee46e15fa0ba5c1235b4d274292f290984 Mon Sep 17 00:00:00 2001 From: PanKosmat <84853459+PanKosmat@users.noreply.github.com> Date: Sun, 23 Nov 2025 11:16:56 +0100 Subject: [PATCH 3/3] New ignorecase option for "STRING_CONTAINS" Added new requirement types allowing users to use "ignorecase" with "STRING_CONTAINS" and "STRING_DOES_NOT_CONTAIN" --- .../com/extendedclip/deluxemenus/config/DeluxeMenusConfig.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/extendedclip/deluxemenus/config/DeluxeMenusConfig.java b/src/main/java/com/extendedclip/deluxemenus/config/DeluxeMenusConfig.java index 1002a2fc..80859a1e 100644 --- a/src/main/java/com/extendedclip/deluxemenus/config/DeluxeMenusConfig.java +++ b/src/main/java/com/extendedclip/deluxemenus/config/DeluxeMenusConfig.java @@ -1029,6 +1029,8 @@ private RequirementList getRequirements(FileConfiguration c, String path) { case STRING_DOES_NOT_CONTAIN: case STRING_DOES_NOT_EQUAL: case STRING_DOES_NOT_EQUAL_IGNORECASE: + case STRING_CONTAINS_IGNORECASE: + case STRING_DOES_NOT_CONTAIN_IGNORECASE: if (c.contains(rPath + ".input") && c.contains(rPath + ".output")) { req = new InputResultRequirement(type, c.getString(rPath + ".input"), c.getString(rPath + ".output")); } else {