* The {@link #patternCache} does not contain the constant patterns defined in this class.
*
- * @param pattern
- * The raw pattern in a String.
- *
+ * @param pattern The raw pattern in a String.
* @return The pattern which has been cached.
*/
public static Pattern getPattern(String pattern) {
diff --git a/core/src/main/java/co/aikar/commands/CommandReplacements.java b/core/src/main/java/co/aikar/commands/CommandReplacements.java
index 89fb0007..9f2933a1 100644
--- a/core/src/main/java/co/aikar/commands/CommandReplacements.java
+++ b/core/src/main/java/co/aikar/commands/CommandReplacements.java
@@ -50,7 +50,7 @@ public class CommandReplacements {
throw new IllegalArgumentException("Must pass a number of arguments divisible by 2.");
}
for (int i = 0; i < replacements.length; i += 2) {
- addReplacement(replacements[i], replacements[i+1]);
+ addReplacement(replacements[i], replacements[i + 1]);
}
}
@@ -61,7 +61,8 @@ public class CommandReplacements {
@Nullable
private String addReplacement0(String key, String val) {
key = ACFPatterns.PERCENTAGE.matcher(key.toLowerCase(Locale.ENGLISH)).replaceAll("");
- Pattern pattern = Pattern.compile("%" + Pattern.quote(key) + "\\b", Pattern.CASE_INSENSITIVE);
+ Pattern pattern = Pattern.compile("%\\{" + Pattern.quote(key) + "}|%" + Pattern.quote(key) + "\\b",
+ Pattern.CASE_INSENSITIVE);
Map.Entry