aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/mixin/mixins/minecraft/LocaleMixin.java
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-25 14:59:04 +0100
committerRaven Szewczyk <git@eigenraven.me>2024-05-25 14:59:04 +0100
commit14ac3f29c26a92ce52ca32aaf5848eeb84b54d9d (patch)
tree4e3006babed98e17c5471910504819ac53c01e30 /src/main/java/gregtech/mixin/mixins/minecraft/LocaleMixin.java
parenta9cb5807616bb5f80e8225a8808bedaa82f60b75 (diff)
downloadGT5-Unofficial-14ac3f29c26a92ce52ca32aaf5848eeb84b54d9d.tar.gz
GT5-Unofficial-14ac3f29c26a92ce52ca32aaf5848eeb84b54d9d.tar.bz2
GT5-Unofficial-14ac3f29c26a92ce52ca32aaf5848eeb84b54d9d.zip
Relocate KubaTech mixins
Diffstat (limited to 'src/main/java/gregtech/mixin/mixins/minecraft/LocaleMixin.java')
-rw-r--r--src/main/java/gregtech/mixin/mixins/minecraft/LocaleMixin.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/main/java/gregtech/mixin/mixins/minecraft/LocaleMixin.java b/src/main/java/gregtech/mixin/mixins/minecraft/LocaleMixin.java
new file mode 100644
index 0000000000..3a1864534a
--- /dev/null
+++ b/src/main/java/gregtech/mixin/mixins/minecraft/LocaleMixin.java
@@ -0,0 +1,47 @@
+package gregtech.mixin.mixins.minecraft;
+
+import static gregtech.mixin.MixinsVariablesHelper.currentlyTranslating;
+
+import java.util.regex.Matcher;
+
+import net.minecraft.client.resources.Locale;
+import net.minecraft.util.ResourceLocation;
+
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.ModifyArg;
+import org.spongepowered.asm.mixin.injection.Redirect;
+
+import kubatech.Tags;
+
+@SuppressWarnings("unused")
+@Mixin(value = Locale.class)
+public class LocaleMixin {
+
+ @ModifyArg(
+ method = "loadLocaleDataFiles",
+ at = @At(
+ value = "INVOKE",
+ target = "Lnet/minecraft/client/resources/IResourceManager;getAllResources(Lnet/minecraft/util/ResourceLocation;)Ljava/util/List;"),
+ index = 0,
+ require = 1)
+ private ResourceLocation kubatech$loadLocaleDataFiles(ResourceLocation resourceLocation) {
+ currentlyTranslating = resourceLocation.getResourceDomain();
+ return resourceLocation;
+ }
+
+ @Redirect(
+ method = "loadLocaleData(Ljava/io/InputStream;)V",
+ at = @At(
+ value = "INVOKE",
+ target = "Ljava/util/regex/Matcher;replaceAll(Ljava/lang/String;)Ljava/lang/String;",
+ remap = false),
+ require = 1)
+ private 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);
+ }
+
+}