diff --git a/api/src/main/java/com/alttd/chat/objects/ModifiableString.java b/api/src/main/java/com/alttd/chat/objects/ModifiableString.java index 70789a2..bfbef62 100644 --- a/api/src/main/java/com/alttd/chat/objects/ModifiableString.java +++ b/api/src/main/java/com/alttd/chat/objects/ModifiableString.java @@ -3,6 +3,10 @@ package com.alttd.chat.objects; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextReplacementConfig; import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; +import org.intellij.lang.annotations.RegExp; + +import javax.annotation.RegEx; +import java.util.regex.Pattern; public class ModifiableString { private Component text; @@ -24,6 +28,33 @@ public class ModifiableString { .build()); } + public void replace(Pattern match, String replace) { + text = text + .replaceText( + TextReplacementConfig.builder() + .match(match) + .replacement(replace) + .build()); + } + + public void replace(@RegExp String match, Component replace) { + text = text + .replaceText( + TextReplacementConfig.builder() + .matchLiteral(match) + .replacement(replace) + .build()); + } + + public void replace(Pattern match, Component replace) { + text = text + .replaceText( + TextReplacementConfig.builder() + .match(match) + .replacement(replace) + .build()); + } + public String string() { return PlainTextComponentSerializer.plainText().serialize(text); }