aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech/mixin/mixins/minecraft/StringTranslateMixin.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kubatech/mixin/mixins/minecraft/StringTranslateMixin.java')
-rw-r--r--src/main/java/kubatech/mixin/mixins/minecraft/StringTranslateMixin.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/java/kubatech/mixin/mixins/minecraft/StringTranslateMixin.java b/src/main/java/kubatech/mixin/mixins/minecraft/StringTranslateMixin.java
new file mode 100644
index 0000000000..6a0bc4af62
--- /dev/null
+++ b/src/main/java/kubatech/mixin/mixins/minecraft/StringTranslateMixin.java
@@ -0,0 +1,33 @@
+package kubatech.mixin.mixins.minecraft;
+
+import static kubatech.mixin.MixinsVariablesHelper.currentlyTranslating;
+
+import java.util.regex.Matcher;
+
+import net.minecraft.util.StringTranslate;
+
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Redirect;
+
+import kubatech.Tags;
+
+@SuppressWarnings("unused")
+@Mixin(value = StringTranslate.class)
+public class StringTranslateMixin {
+
+ @Redirect(
+ method = "parseLangFile",
+ at = @At(
+ value = "INVOKE",
+ target = "Ljava/util/regex/Matcher;replaceAll(Ljava/lang/String;)Ljava/lang/String;",
+ remap = false),
+ remap = false,
+ require = 1)
+ private static String kubatech$replaceAll(Matcher matcher, String replace) {
+ if (currentlyTranslating != null && currentlyTranslating.equals(Tags.MODID) && matcher.find()) {
+ return matcher.replaceFirst(matcher.group());
+ }
+ return matcher.replaceAll(replace);
+ }
+}