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 | +} | ... | ... |