aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech
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/kubatech
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/kubatech')
-rw-r--r--src/main/java/kubatech/mixin/Mixin.java50
-rw-r--r--src/main/java/kubatech/mixin/MixinPlugin.java114
-rw-r--r--src/main/java/kubatech/mixin/MixinsVariablesHelper.java6
-rw-r--r--src/main/java/kubatech/mixin/TargetedMod.java43
-rw-r--r--src/main/java/kubatech/mixin/mixins/minecraft/LanguageRegistryMixin.java27
-rw-r--r--src/main/java/kubatech/mixin/mixins/minecraft/LocaleMixin.java47
-rw-r--r--src/main/java/kubatech/mixin/mixins/minecraft/StringTranslateMixin.java33
-rw-r--r--src/main/java/kubatech/mixin/mixins/minecraft/WorldMixin.java23
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;
- }
-}