26 lines
1.2 KiB
Java
26 lines
1.2 KiB
Java
package io.gitlab.jfronny.respackopts.mixin;
|
|
|
|
import io.gitlab.jfronny.respackopts.util.FallbackI18n;
|
|
import io.gitlab.jfronny.respackopts.util.OverlayMap;
|
|
import net.minecraft.client.resource.language.LanguageManager;
|
|
import net.minecraft.client.resource.language.TranslationStorage;
|
|
import net.minecraft.resource.ResourceManager;
|
|
import org.spongepowered.asm.mixin.Mixin;
|
|
import org.spongepowered.asm.mixin.injection.At;
|
|
import org.spongepowered.asm.mixin.injection.Inject;
|
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
|
|
|
|
import java.util.*;
|
|
|
|
@Mixin(LanguageManager.class)
|
|
public class LanguageManagerMixin {
|
|
@Inject(method = "reload(Lnet/minecraft/resource/ResourceManager;)V", at = @At("TAIL"), locals = LocalCapture.CAPTURE_FAILEXCEPTION)
|
|
private void rpo$appendTranslations(ResourceManager manager, CallbackInfo ci, List<String> list, boolean bl, TranslationStorage translationStorage) {
|
|
TranslationStorageAccessor storage = (TranslationStorageAccessor) translationStorage;
|
|
Map<String, String> map = new HashMap<>();
|
|
FallbackI18n.insertInto(map);
|
|
storage.setTranslations(new OverlayMap<>(storage.getTranslations(), map));
|
|
}
|
|
}
|