Commit 3470648e2419eff458c71f99fb278f0ffd20c170
1 parent
b8785b2a
compatibility with current Forge builds
Showing
3 changed files
with
34 additions
and
2 deletions
java/client/com/mumfrey/liteloader/client/api/ObjectFactoryClient.java
@@ -2,6 +2,7 @@ package com.mumfrey.liteloader.client.api; | @@ -2,6 +2,7 @@ package com.mumfrey.liteloader.client.api; | ||
2 | 2 | ||
3 | import net.minecraft.client.Minecraft; | 3 | import net.minecraft.client.Minecraft; |
4 | import net.minecraft.client.gui.GuiScreen; | 4 | import net.minecraft.client.gui.GuiScreen; |
5 | +import net.minecraft.launchwrapper.Launch; | ||
5 | import net.minecraft.server.integrated.IntegratedServer; | 6 | import net.minecraft.server.integrated.IntegratedServer; |
6 | 7 | ||
7 | import com.mumfrey.liteloader.client.LiteLoaderEventBrokerClient; | 8 | import com.mumfrey.liteloader.client.LiteLoaderEventBrokerClient; |
@@ -149,6 +150,15 @@ class ObjectFactoryClient implements ObjectFactory<Minecraft, IntegratedServer> | @@ -149,6 +150,15 @@ class ObjectFactoryClient implements ObjectFactory<Minecraft, IntegratedServer> | ||
149 | @Override | 150 | @Override |
150 | public void preBeginGame() | 151 | public void preBeginGame() |
151 | { | 152 | { |
153 | + try | ||
154 | + { | ||
155 | + Class<?> progressManagerClass = Class.forName("net.minecraftforge.fml.common.ProgressManager", false, Launch.classLoader); | ||
156 | + return; // Disable my loading bar if Forge's is present | ||
157 | + } | ||
158 | + catch (ClassNotFoundException ex) | ||
159 | + { | ||
160 | + } | ||
161 | + | ||
152 | new LoadingBar(); | 162 | new LoadingBar(); |
153 | } | 163 | } |
154 | } | 164 | } |
java/common/com/mumfrey/liteloader/transformers/ClassTransformer.java
@@ -40,7 +40,7 @@ public abstract class ClassTransformer implements IClassTransformer | @@ -40,7 +40,7 @@ public abstract class ClassTransformer implements IClassTransformer | ||
40 | if (this.classReader != null && this.classNode == classNode) | 40 | if (this.classReader != null && this.classNode == classNode) |
41 | { | 41 | { |
42 | this.classNode = null; | 42 | this.classNode = null; |
43 | - ClassWriter writer = new ClassWriter(this.classReader, ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES); | 43 | + IsolatedClassWriter writer = new IsolatedClassWriter(this.classReader, ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES); |
44 | this.classReader = null; | 44 | this.classReader = null; |
45 | classNode.accept(writer); | 45 | classNode.accept(writer); |
46 | return writer.toByteArray(); | 46 | return writer.toByteArray(); |
@@ -48,7 +48,7 @@ public abstract class ClassTransformer implements IClassTransformer | @@ -48,7 +48,7 @@ public abstract class ClassTransformer implements IClassTransformer | ||
48 | 48 | ||
49 | this.classNode = null; | 49 | this.classNode = null; |
50 | 50 | ||
51 | - ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES); | 51 | + IsolatedClassWriter writer = new IsolatedClassWriter(ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES); |
52 | classNode.accept(writer); | 52 | classNode.accept(writer); |
53 | return writer.toByteArray(); | 53 | return writer.toByteArray(); |
54 | } | 54 | } |
java/common/com/mumfrey/liteloader/transformers/IsolatedClassWriter.java
0 → 100644
1 | +package com.mumfrey.liteloader.transformers; | ||
2 | + | ||
3 | +import org.objectweb.asm.ClassReader; | ||
4 | +import org.objectweb.asm.ClassWriter; | ||
5 | + | ||
6 | +/** | ||
7 | + * ClassWriter isolated from ASM so that it exists in the LaunchClassLoader | ||
8 | + * | ||
9 | + * @author Adam Mummery-Smith | ||
10 | + */ | ||
11 | +public class IsolatedClassWriter extends ClassWriter | ||
12 | +{ | ||
13 | + public IsolatedClassWriter(int flags) | ||
14 | + { | ||
15 | + super(flags); | ||
16 | + } | ||
17 | + | ||
18 | + public IsolatedClassWriter(ClassReader classReader, int flags) | ||
19 | + { | ||
20 | + super(classReader, flags); | ||
21 | + } | ||
22 | +} |