Posted December 2, 20187 yr I know how to check if a mod is loaded, Loader.isModLoaded(), but if I want to run code with classes from the mod, I can't if the mod isn't there. Here's what I have right now that checks if the mod is loaded: Spoiler @EventHandler public static void PostInit(FMLPostInitializationEvent event) { simpleRPGLoaded = Loader.isModLoaded("simplerpg"); info(simpleRPGLoaded ? "SimpleRPG's player level will be used as Object Control Authority. This can be disabled in config.": "SimpleRPG is not loaded. Minecraft's player level will be used instead."); } and here's where I use it: Spoiler EntityPlayerMP p = (EntityPlayerMP)(entity); int level; if (ObjectPriorities.simpleRPGLoaded && ConfigFile.general.useSimpleRPG) { try { IRpgPlayer rpg = (IRpgPlayer) p.getCapability(RpgPlayerProvider.RPG_PLAYER_CAP, (EnumFacing) null); level = rpg.getLevel(); } catch (Error e) {} } else { level = p.experienceLevel; } But it wont work because the "IRpgPlayer" and "RpgPlayerProvider" classes don't exist when the mod isn't loaded, so it causes a compiler error ("Unresolved Compilation Problems"), so technically the try-catch doesnt do anything because the problem is before it figures that out. I know that this is possible because so many other mods have cross-mod compatibility.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.