diff options
author | Raven Szewczyk <git@eigenraven.me> | 2024-05-25 14:59:04 +0100 |
---|---|---|
committer | Raven Szewczyk <git@eigenraven.me> | 2024-05-25 14:59:04 +0100 |
commit | 14ac3f29c26a92ce52ca32aaf5848eeb84b54d9d (patch) | |
tree | 4e3006babed98e17c5471910504819ac53c01e30 /src/main/java/kubatech | |
parent | a9cb5807616bb5f80e8225a8808bedaa82f60b75 (diff) | |
download | GT5-Unofficial-14ac3f29c26a92ce52ca32aaf5848eeb84b54d9d.tar.gz GT5-Unofficial-14ac3f29c26a92ce52ca32aaf5848eeb84b54d9d.tar.bz2 GT5-Unofficial-14ac3f29c26a92ce52ca32aaf5848eeb84b54d9d.zip |
Relocate KubaTech mixins
Diffstat (limited to 'src/main/java/kubatech')
8 files changed, 0 insertions, 343 deletions
diff --git a/src/main/java/kubatech/mixin/Mixin.java b/src/main/java/kubatech/mixin/Mixin.java deleted file mode 100644 index 52f7671faa..0000000000 --- a/src/main/java/kubatech/mixin/Mixin.java +++ /dev/null @@ -1,50 +0,0 @@ -package kubatech.mixin; - -import static kubatech.mixin.TargetedMod.VANILLA; - -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; - -import cpw.mods.fml.relauncher.FMLLaunchHandler; - -public enum Mixin { - - // Minecraft - WorldMixin("minecraft.WorldMixin", VANILLA), - StringTranslateMixin("minecraft.StringTranslateMixin", VANILLA), - LanguageRegistryMixin("minecraft.LanguageRegistryMixin", VANILLA), - LocaleMixin("minecraft.LocaleMixin", Side.CLIENT, VANILLA), - - ; - - public final String mixinClass; - public final List<TargetedMod> targetedMods; - private final Side side; - - Mixin(String mixinClass, Side side, TargetedMod... targetedMods) { - this.mixinClass = mixinClass; - this.targetedMods = Arrays.asList(targetedMods); - this.side = side; - } - - Mixin(String mixinClass, TargetedMod... targetedMods) { - this.mixinClass = mixinClass; - this.targetedMods = Arrays.asList(targetedMods); - this.side = Side.BOTH; - } - - public boolean shouldLoad(List<TargetedMod> loadedMods) { - return (side == Side.BOTH || side == Side.SERVER && FMLLaunchHandler.side() - .isServer() - || side == Side.CLIENT && FMLLaunchHandler.side() - .isClient()) - && new HashSet<>(loadedMods).containsAll(targetedMods); - } - - enum Side { - BOTH, - CLIENT, - SERVER - } -} diff --git a/src/main/java/kubatech/mixin/MixinPlugin.java b/src/main/java/kubatech/mixin/MixinPlugin.java deleted file mode 100644 index cdbc0ddf60..0000000000 --- a/src/main/java/kubatech/mixin/MixinPlugin.java +++ /dev/null @@ -1,114 +0,0 @@ -package kubatech.mixin; - -import static java.nio.file.Files.walk; -import static kubatech.mixin.TargetedMod.VANILLA; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import net.minecraft.launchwrapper.Launch; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.spongepowered.asm.lib.tree.ClassNode; -import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; -import org.spongepowered.asm.mixin.extensibility.IMixinInfo; - -import com.gtnewhorizon.gtnhmixins.MinecraftURLClassPath; - -import kubatech.Tags; - -@SuppressWarnings("unused") -public class MixinPlugin implements IMixinConfigPlugin { - - private static final Logger LOG = LogManager.getLogger(Tags.MODID + " mixins"); - private static final Path MODS_DIRECTORY_PATH = new File(Launch.minecraftHome, "mods/").toPath(); - - @Override - public void onLoad(String mixinPackage) {} - - @Override - public String getRefMapperConfig() { - return null; - } - - @Override - public boolean shouldApplyMixin(String targetClassName, String mixinClassName) { - return false; - } - - @Override - public void acceptTargets(Set<String> myTargets, Set<String> otherTargets) {} - - @Override - public List<String> getMixins() { - final boolean isDevelopmentEnvironment = (boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment"); - - List<TargetedMod> loadedMods = Arrays.stream(TargetedMod.values()) - .filter(mod -> mod == VANILLA || (mod.loadInDevelopment && isDevelopmentEnvironment) || loadJarOf(mod)) - .collect(Collectors.toList()); - - for (TargetedMod mod : TargetedMod.values()) { - if (loadedMods.contains(mod)) { - LOG.info("Found " + mod.modName + "! Integrating now..."); - } else { - LOG.info("Could not find " + mod.modName + "! Skipping integration...."); - } - } - - List<String> mixins = new ArrayList<>(); - for (Mixin mixin : Mixin.values()) { - if (mixin.shouldLoad(loadedMods)) { - mixins.add(mixin.mixinClass); - LOG.debug("Loading mixin: " + mixin.mixinClass); - } - } - return mixins; - } - - private boolean loadJarOf(final TargetedMod mod) { - try { - File jar = findJarOf(mod); - if (jar == null) { - LOG.info("Jar not found for " + mod); - return false; - } - - LOG.info("Attempting to add " + jar + " to the URL Class Path"); - if (!jar.exists()) { - throw new FileNotFoundException(jar.toString()); - } - MinecraftURLClassPath.addJar(jar); - return true; - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } - - public static File findJarOf(final TargetedMod mod) { - try (Stream<Path> stream = walk(MODS_DIRECTORY_PATH)) { - return stream.filter(mod::isMatchingJar) - .map(Path::toFile) - .findFirst() - .orElse(null); - } catch (IOException e) { - e.printStackTrace(); - return null; - } - } - - @Override - public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {} - - @Override - public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {} -} diff --git a/src/main/java/kubatech/mixin/MixinsVariablesHelper.java b/src/main/java/kubatech/mixin/MixinsVariablesHelper.java deleted file mode 100644 index 1875be6efc..0000000000 --- a/src/main/java/kubatech/mixin/MixinsVariablesHelper.java +++ /dev/null @@ -1,6 +0,0 @@ -package kubatech.mixin; - -public class MixinsVariablesHelper { - - public static String currentlyTranslating = null; -} diff --git a/src/main/java/kubatech/mixin/TargetedMod.java b/src/main/java/kubatech/mixin/TargetedMod.java deleted file mode 100644 index 65717c7e12..0000000000 --- a/src/main/java/kubatech/mixin/TargetedMod.java +++ /dev/null @@ -1,43 +0,0 @@ -package kubatech.mixin; - -import java.nio.file.Path; - -import com.google.common.io.Files; - -public enum TargetedMod { - - VANILLA("Minecraft", "unused", true), - - ; - - public final String modName; - public final String jarNamePrefixLowercase; - public final boolean loadInDevelopment; - - TargetedMod(String modName, String jarNamePrefix, boolean loadInDevelopment) { - this.modName = modName; - this.jarNamePrefixLowercase = jarNamePrefix.toLowerCase(); - this.loadInDevelopment = loadInDevelopment; - } - - @SuppressWarnings("UnstableApiUsage") - public boolean isMatchingJar(Path path) { - final String pathString = path.toString(); - final String nameLowerCase = Files.getNameWithoutExtension(pathString) - .toLowerCase(); - final String fileExtension = Files.getFileExtension(pathString); - - return nameLowerCase.startsWith(jarNamePrefixLowercase) && "jar".equals(fileExtension); - } - - @Override - public String toString() { - return "TargetedMod{" + "modName='" - + modName - + '\'' - + ", jarNamePrefixLowercase='" - + jarNamePrefixLowercase - + '\'' - + '}'; - } -} diff --git a/src/main/java/kubatech/mixin/mixins/minecraft/LanguageRegistryMixin.java b/src/main/java/kubatech/mixin/mixins/minecraft/LanguageRegistryMixin.java deleted file mode 100644 index 02546dd258..0000000000 --- a/src/main/java/kubatech/mixin/mixins/minecraft/LanguageRegistryMixin.java +++ /dev/null @@ -1,27 +0,0 @@ -package kubatech.mixin.mixins.minecraft; - -import static kubatech.mixin.MixinsVariablesHelper.currentlyTranslating; - -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 cpw.mods.fml.common.ModContainer; -import cpw.mods.fml.common.registry.LanguageRegistry; -import cpw.mods.fml.relauncher.Side; - -@SuppressWarnings("unused") -@Mixin(value = LanguageRegistry.class) -public class LanguageRegistryMixin { - - @Inject(method = "loadLanguagesFor", at = @At(value = "HEAD"), remap = false, require = 1) - private void kubatech$loadLanguagesForHEAD(ModContainer container, Side side, CallbackInfo callbackInfo) { - currentlyTranslating = container.getModId(); - } - - @Inject(method = "loadLanguagesFor", at = @At(value = "RETURN"), remap = false, require = 1) - private void kubatech$loadLanguagesForRETURN(ModContainer container, Side side, CallbackInfo callbackInfo) { - currentlyTranslating = null; - } -} diff --git a/src/main/java/kubatech/mixin/mixins/minecraft/LocaleMixin.java b/src/main/java/kubatech/mixin/mixins/minecraft/LocaleMixin.java deleted file mode 100644 index e903a3e139..0000000000 --- a/src/main/java/kubatech/mixin/mixins/minecraft/LocaleMixin.java +++ /dev/null @@ -1,47 +0,0 @@ -package kubatech.mixin.mixins.minecraft; - -import static kubatech.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); - } - -} diff --git a/src/main/java/kubatech/mixin/mixins/minecraft/StringTranslateMixin.java b/src/main/java/kubatech/mixin/mixins/minecraft/StringTranslateMixin.java deleted file mode 100644 index 6a0bc4af62..0000000000 --- a/src/main/java/kubatech/mixin/mixins/minecraft/StringTranslateMixin.java +++ /dev/null @@ -1,33 +0,0 @@ -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); - } -} diff --git a/src/main/java/kubatech/mixin/mixins/minecraft/WorldMixin.java b/src/main/java/kubatech/mixin/mixins/minecraft/WorldMixin.java deleted file mode 100644 index 42c71cadbd..0000000000 --- a/src/main/java/kubatech/mixin/mixins/minecraft/WorldMixin.java +++ /dev/null @@ -1,23 +0,0 @@ -package kubatech.mixin.mixins.minecraft; - -import net.minecraft.block.Block; -import net.minecraft.world.World; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; - -import com.llamalad7.mixinextras.injector.ModifyReturnValue; - -import kubatech.loaders.BlockLoader; - -@SuppressWarnings("unused") -@Mixin(value = World.class) -public class WorldMixin { - - @SuppressWarnings("ConstantConditions") - @ModifyReturnValue(method = "getBlock", at = @At("RETURN"), require = 1) - private Block kubatech$getBlockDetector(Block block, int x, int y, int z) { - if (block == BlockLoader.kubaBlock) BlockLoader.kubaBlock.setLastBlockAccess((World) (Object) this, x, y, z); - return block; - } -} |