Skip to content

Commit 7c77676

Browse files
committed
Support Mixin 0.8. Fixes #16
1 parent 18cacd9 commit 7c77676

File tree

2 files changed

+28
-17
lines changed

2 files changed

+28
-17
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ apply plugin: 'eclipse'
44
sourceCompatibility = '1.6'
55
targetCompatibility = '1.6'
66

7-
version = '0.7.0'
7+
version = '0.7.1'
88

99
repositories {
1010
mavenCentral()

src/main/java/com/simon816/sponge/bootstrap/Bootstrap.java

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -35,26 +35,32 @@ public class Bootstrap {
3535

3636
public static void main(String[] args) {
3737
logger.info("Detecting environment...");
38+
boolean doGradleLoad;
3839
try {
3940
Class.forName("GradleStartServer");
4041
logger.info("Detected gradle development environment, continuing");
41-
loadGradle(args);
42+
doGradleLoad = true;
4243
} catch (ClassNotFoundException e) {
43-
try {
44-
Class.forName("net.minecraft.launchwrapper.Launch");
45-
logger.info("Found launch wrapper, continuing");
46-
} catch (ClassNotFoundException e1) {
47-
System.err.println("Failed to load Launch class");
48-
e1.printStackTrace();
49-
System.exit(1);
50-
} catch (NoClassDefFoundError e2) {
51-
System.err.println("Failed to load Launch class");
52-
e2.printStackTrace();
53-
System.exit(1);
54-
}
55-
findAndLoadJars();
56-
load(args);
44+
doGradleLoad = false;
45+
}
46+
if (doGradleLoad) {
47+
loadGradle(args);
48+
return;
5749
}
50+
try {
51+
Class.forName("net.minecraft.launchwrapper.Launch");
52+
logger.info("Found launch wrapper, continuing");
53+
} catch (ClassNotFoundException e1) {
54+
System.err.println("Failed to load Launch class");
55+
e1.printStackTrace();
56+
System.exit(1);
57+
} catch (NoClassDefFoundError e2) {
58+
System.err.println("Failed to load Launch class");
59+
e2.printStackTrace();
60+
System.exit(1);
61+
}
62+
findAndLoadJars();
63+
load(args);
5864
}
5965

6066
private static void removeFromSysArgs() {
@@ -193,7 +199,12 @@ public void injectIntoClassLoader(LaunchClassLoader classLoader) {
193199
}
194200

195201
private void stopMixinReInjection() throws ReflectiveOperationException {
196-
Class<?> agentCls = Class.forName("org.spongepowered.asm.launch.platform.MixinPlatformAgentFML");
202+
Class<?> agentCls;
203+
try {
204+
agentCls = Class.forName("org.spongepowered.asm.launch.platform.MixinPlatformAgentFML");
205+
} catch (ClassNotFoundException e) {
206+
agentCls = Class.forName("org.spongepowered.asm.launch.platform.MixinPlatformAgentFMLLegacy");
207+
}
197208
Field fcoreMods = agentCls.getDeclaredField("loadedCoreMods");
198209
fcoreMods.setAccessible(true);
199210
@SuppressWarnings("unchecked")

0 commit comments

Comments
 (0)