diff --git a/src/main/java/me/Danker/features/Alerts.java b/src/main/java/me/Danker/features/Alerts.java index d6fa39d0..0fb60738 100644 --- a/src/main/java/me/Danker/features/Alerts.java +++ b/src/main/java/me/Danker/features/Alerts.java @@ -29,6 +29,10 @@ public void init(ModInitEvent event) { configFile = event.configDirectory + "/dsm/dsmalerts.json"; } + public Pattern getRegexForAlert(Alert alert) { + return patterns.computeIfAbsent(alert, it -> Pattern.compile(it.message)); + } + @SubscribeEvent public void onChat(ClientChatReceivedEvent event) { if (!ModConfig.alerts || event.type == 2) return; @@ -52,7 +56,7 @@ public void onChat(ClientChatReceivedEvent event) { if (!location) continue; if (alert.mode.equals("Regex")) { - Matcher matcher = patterns.get(alert).matcher(message); + Matcher matcher = getRegexForAlert(alert).matcher(message); if (matcher.matches()) { matcher.reset(); String alertText = alert.alert;