diff --git a/src/main/java/dev/zenfyr/andromeda/bootstrap/util/Launchpad.java b/src/main/java/dev/zenfyr/andromeda/bootstrap/util/Launchpad.java index 4a6e329a..893f533a 100644 --- a/src/main/java/dev/zenfyr/andromeda/bootstrap/util/Launchpad.java +++ b/src/main/java/dev/zenfyr/andromeda/bootstrap/util/Launchpad.java @@ -2,6 +2,9 @@ package dev.zenfyr.andromeda.bootstrap.util; import dev.zenfyr.andromeda.bootstrap.Module; import dev.zenfyr.andromeda.bootstrap.event.ModuleLoadStateEvent; +import dev.zenfyr.andromeda.bootstrap.util.mixin.AndromedaMixinPlugin; +import dev.zenfyr.pulsar.api.platform.Platform; +import java.io.IOException; public class Launchpad { @@ -9,11 +12,13 @@ public class Launchpad { static { boolean launchpad = false; - try { - Class.forName("org.sinytra.launchpad.api.Constants"); - launchpad = true; - } catch (ClassNotFoundException e) { - // NOOP + if (Platform.getPlatform().isModLoaded("neoforge")) { + try { + AndromedaMixinPlugin.getClassNode("org.sinytra.launchpad.api.Constants"); + launchpad = true; + } catch (ClassNotFoundException | IOException e) { + // NOOP + } } isLaunchpad = launchpad; } @@ -25,8 +30,7 @@ public class Launchpad { public static void forModule(Module module) { if (isLaunchpad()) { ModuleLoadStateEvent.get(module) - .listen(() -> new ModuleLoadStateEvent.Result( - ModuleLoadStateEvent.ForcedState.DISABLE, "not compatible with Launchpad!")); + .listen(() -> ModuleLoadStateEvent.disable("not compatible with Launchpad!")); } } }