From 87dde51b8dbb3143f6e005ff1ecda0114fa32fa5 Mon Sep 17 00:00:00 2001 From: cpw Date: Sat, 12 Jul 2014 17:37:41 -0400 Subject: [PATCH] Add a terminal transformer and tweaker. --- .../asm/transformers/TerminalTransformer.java | 12 +++++++ .../FMLInjectionAndSortingTweaker.java | 4 +++ .../fml/common/launcher/TerminalTweaker.java | 32 +++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 fml/src/main/java/cpw/mods/fml/common/asm/transformers/TerminalTransformer.java create mode 100644 fml/src/main/java/cpw/mods/fml/common/launcher/TerminalTweaker.java diff --git a/fml/src/main/java/cpw/mods/fml/common/asm/transformers/TerminalTransformer.java b/fml/src/main/java/cpw/mods/fml/common/asm/transformers/TerminalTransformer.java new file mode 100644 index 0000000000..b8707168f8 --- /dev/null +++ b/fml/src/main/java/cpw/mods/fml/common/asm/transformers/TerminalTransformer.java @@ -0,0 +1,12 @@ +package cpw.mods.fml.common.asm.transformers; + +import net.minecraft.launchwrapper.IClassTransformer; + +public class TerminalTransformer implements IClassTransformer { + @Override + public byte[] transform(String name, String transformedName, byte[] basicClass) + { + return basicClass; + } + +} diff --git a/fml/src/main/java/cpw/mods/fml/common/launcher/FMLInjectionAndSortingTweaker.java b/fml/src/main/java/cpw/mods/fml/common/launcher/FMLInjectionAndSortingTweaker.java index bfb4b55222..42b4b98ddf 100644 --- a/fml/src/main/java/cpw/mods/fml/common/launcher/FMLInjectionAndSortingTweaker.java +++ b/fml/src/main/java/cpw/mods/fml/common/launcher/FMLInjectionAndSortingTweaker.java @@ -6,6 +6,7 @@ import java.util.List; import cpw.mods.fml.relauncher.CoreModManager; import net.minecraft.launchwrapper.ITweaker; +import net.minecraft.launchwrapper.Launch; import net.minecraft.launchwrapper.LaunchClassLoader; /** @@ -30,6 +31,9 @@ public class FMLInjectionAndSortingTweaker implements ITweaker { { // We sort the tweak list here so that it obeys the tweakordering CoreModManager.sortTweakList(); + @SuppressWarnings("unchecked") + List newTweaks = (List) Launch.blackboard.get("TweakClasses"); + newTweaks.add("cpw.mods.fml.common.launcher.TerminalTweaker"); } run = true; } diff --git a/fml/src/main/java/cpw/mods/fml/common/launcher/TerminalTweaker.java b/fml/src/main/java/cpw/mods/fml/common/launcher/TerminalTweaker.java new file mode 100644 index 0000000000..66ea5dc1e4 --- /dev/null +++ b/fml/src/main/java/cpw/mods/fml/common/launcher/TerminalTweaker.java @@ -0,0 +1,32 @@ +package cpw.mods.fml.common.launcher; + +import java.io.File; +import java.util.List; +import net.minecraft.launchwrapper.ITweaker; +import net.minecraft.launchwrapper.LaunchClassLoader; + +public final class TerminalTweaker implements ITweaker { + @Override + public void injectIntoClassLoader(LaunchClassLoader classLoader) + { + classLoader.registerTransformer("cpw.mods.fml.common.asm.transformers.TerminalTransformer"); + } + + @Override + public String getLaunchTarget() + { + return null; + } + + @Override + public String[] getLaunchArguments() + { + return new String[0]; + } + + @Override + public void acceptOptions(List args, File gameDir, File assetsDir, String profile) + { + + } +} \ No newline at end of file