Grimoire compatibility patch. Fixes #1.

This commit is contained in:
FalsePattern committed 2022-04-17 16:42:42 +02:00
1 parent 5a61d8afe0
commit 1d0e0550fa
1 file changed
+16 -2
@@ -77,6 +77,8 @@ public class MixinPlugin implements IMixinConfigPlugin {
return mixins;
}
private int grimoireDetected = -1;
private boolean loadJarOf(final TargetedMod mod) {
try {
val jar = findJarOf(mod);
@@ -86,10 +88,22 @@ public class MixinPlugin implements IMixinConfigPlugin {
}
LOG.info("Attempting to add " + jar + " to the URL Class Path");
if(!jar.exists()) {
if (!jar.exists()) {
throw new FileNotFoundException(jar.toString());
}
MinecraftURLClassPath.addJar(jar);
if (grimoireDetected < 0) {
try {
Class.forName("io.github.crucible.grimoire.Grimoire", false, getClass().getClassLoader());
grimoireDetected = 1;
} catch (ClassNotFoundException ignored) {
grimoireDetected = 0;
}
}
if (grimoireDetected == 1) {
LOG.info("Not adding " + jar + " to the URL Class Path, because Grimoire breaks our utility class.");
} else {
MinecraftURLClassPath.addJar(jar);
}
return true;
}
catch (Exception e) {