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 | 2 | |
3 | 3 | import net.minecraft.client.Minecraft; |
4 | 4 | import net.minecraft.client.gui.GuiScreen; |
5 | +import net.minecraft.launchwrapper.Launch; | |
5 | 6 | import net.minecraft.server.integrated.IntegratedServer; |
6 | 7 | |
7 | 8 | import com.mumfrey.liteloader.client.LiteLoaderEventBrokerClient; |
... | ... | @@ -149,6 +150,15 @@ class ObjectFactoryClient implements ObjectFactory<Minecraft, IntegratedServer> |
149 | 150 | @Override |
150 | 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 | 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 | 40 | if (this.classReader != null && this.classNode == classNode) |
41 | 41 | { |
42 | 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 | 44 | this.classReader = null; |
45 | 45 | classNode.accept(writer); |
46 | 46 | return writer.toByteArray(); |
... | ... | @@ -48,7 +48,7 @@ public abstract class ClassTransformer implements IClassTransformer |
48 | 48 | |
49 | 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 | 52 | classNode.accept(writer); |
53 | 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 | +} | ... | ... |