Add transformer exclusion for transformers and fix transforming of null classes

This commit is contained in:
Jonas Herzig
2018-03-16 16:51:48 +01:00
parent 0b262d1a74
commit 63b2f3abcc
3 changed files with 7 additions and 6 deletions

View File

@@ -8,6 +8,8 @@ import org.spongepowered.asm.mixin.Mixins;
import net.minecraftforge.fml.relauncher.CoreModManager; import net.minecraftforge.fml.relauncher.CoreModManager;
import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin; import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin;
//#else //#else
//$$ import com.replaymod.core.asm.GLErrorTransformer;
//$$ import com.replaymod.core.asm.GLStateTrackerTransformer;
//$$ import cpw.mods.fml.relauncher.CoreModManager; //$$ import cpw.mods.fml.relauncher.CoreModManager;
//$$ import cpw.mods.fml.relauncher.IFMLLoadingPlugin; //$$ import cpw.mods.fml.relauncher.IFMLLoadingPlugin;
//$$ //$$
@@ -21,6 +23,7 @@ import java.net.URL;
import java.security.CodeSource; import java.security.CodeSource;
import java.util.Map; import java.util.Map;
@IFMLLoadingPlugin.TransformerExclusions("com.replaymod.core.asm.")
public class LoadingPlugin implements IFMLLoadingPlugin { public class LoadingPlugin implements IFMLLoadingPlugin {
public LoadingPlugin() { public LoadingPlugin() {

View File

@@ -1,5 +1,5 @@
//#if MC<=10710 //#if MC<=10710
//$$ package com.replaymod.core; //$$ package com.replaymod.core.asm;
//$$ //$$
//$$ import net.minecraft.launchwrapper.IClassTransformer; //$$ import net.minecraft.launchwrapper.IClassTransformer;
//$$ import org.lwjgl.opengl.GL11; //$$ import org.lwjgl.opengl.GL11;
@@ -25,8 +25,7 @@
//$$ //$$
//$$ @Override //$$ @Override
//$$ public byte[] transform(String name, String transformedName, byte[] basicClass) { //$$ public byte[] transform(String name, String transformedName, byte[] basicClass) {
//$$ // Ignore (anonymous) inner classes of this transformer //$$ if (basicClass == null) return null;
//$$ if (name.startsWith(GLErrorTransformer_CLASS)) return basicClass;
//$$ //$$
//$$ ClassReader reader = new ClassReader(basicClass); //$$ ClassReader reader = new ClassReader(basicClass);
//$$ ClassWriter writer = new ClassWriter(reader, 0); //$$ ClassWriter writer = new ClassWriter(reader, 0);

View File

@@ -1,5 +1,5 @@
//#if MC<=10710 //#if MC<=10710
//$$ package com.replaymod.core; //$$ package com.replaymod.core.asm;
//$$ //$$
//$$ import net.minecraft.launchwrapper.IClassTransformer; //$$ import net.minecraft.launchwrapper.IClassTransformer;
//$$ import org.objectweb.asm.ClassReader; //$$ import org.objectweb.asm.ClassReader;
@@ -26,8 +26,7 @@
//$$ //$$
//$$ @Override //$$ @Override
//$$ public byte[] transform(String name, String transformedName, byte[] basicClass) { //$$ public byte[] transform(String name, String transformedName, byte[] basicClass) {
//$$ // Ignore (anonymous) inner classes of this transformer //$$ if (basicClass == null) return null;
//$$ if (name.startsWith(GLStateTrackerTransformer.class.getName())) return basicClass;
//$$ // Ignore the state tracker itself //$$ // Ignore the state tracker itself
//$$ if (name.equals(GLStateTracker_CLASS)) return basicClass; //$$ if (name.equals(GLStateTracker_CLASS)) return basicClass;
//$$ //$$