Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

FML request


Recommended Posts

I have run into a situation with my server that requires certain mods load before others.  To handle this, I usually rename my mods to 0<modname>, 1<modname>, etc..  this enables me to control load order and resolves many conflicts and issues I have run into.  I tried to handle this in a sensible way first by creating folders in mods called mods/0, mods/1, etc..  This did not work as when FML is looking for mods to load it hits the /0 or /1 and looks for a class file to load.  It doesn't seem to care that I have 3-4 mods in that folder. 


Is it possible to get FML to recognize at least the first level of nesting?  This would enable me to have a set of folders, 0-3, that could handle the ordering without going through the trouble of renaming.  This issue is very visible when using forestry and also the plugin pluginsForForestry with extraBees.  extraBees tries to load first and freaks out.  By using the numbered prefix, I can get all my mods to load without issue, but using a structured folder setup would be cleaner.


My server is run on a Mac.  OS X Lion.




Link to comment
Share on other sites

unfortunately, this forum is the wrong place for an FML suggestion


while forge comes bundled with FML, FML itself is not part of forge, and is depeloped seperately

actually FML is bundled with forge, FML is the modloader it is based on and forge just adds new hooks and things for modders to use to extra compatiblise mods and to add extra features to mods

Link to comment
Share on other sites

I found the github for FML and had a chat with Cpw and Pahimar.  They would rather that the mod developers use the dependencies correctly and not try to correct for those that are not doing so.  This request will not be implemented.  Oh well.

Link to comment
Share on other sites

If you have 2 mods, and mod2 depends on mod1, maybe you can do this:

While loading mod2, checking for mod1, as you did now. If mod1 does not exist, set a trigger like "interface Mod1Requester".

While loading mod1, checking for mod2. If mod2 exists already, checking for certain trigger. If the trigger exists, call it like "((Mod1Requester) mod2).hereComesMod1()".

Link to comment
Share on other sites

There is a feature built into FML called getRequirements that consists of a string that tells FML when to load your mod.  If the mod authors use this string correctly then the order is handled by FML.  If not, then it resorts to alphabetical.  To handle the situation right now, I just prefix all of the mods I am loading with a number.  This forces them to load in the correct order if being done by alpha.


Prime example is the mod for forestry Extra Bees.  This one does not correctly depend on Forestry, so I have to force it to load last so that forestry gets in there and gets all set up before extra bees does.  Otherwise I get an error with a 'class not found' looking for forestry.



Link to comment
Share on other sites

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.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • I have a ios device right now (iphone) is there any other way? 
    • On Android in Chrome you do it the same way: Click the lock icon and then click through to certificate info. On iOS I do not know.
    • Update 321 is currently not yet supported. A fix is in the works. Downgrade one version for the time being.
    • I uninstalled Java 17, and installed java 8. I launch the server and now have a different error: [19Jan2022 16:51:20.604] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--gameDir, ., --launchTarget, fmlserver, --fml.forgeVersion, 36.2.23, --fml.mcpVersion, 20210115.111550, --fml.mcVersion, 1.16.5, --fml.forgeGroup, net.minecraftforge, nogui] [19Jan2022 16:51:20.608] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 8.0.9+86+master.3cf110c starting: java version 1.8.0_321 by Oracle Corporation [19Jan2022 16:51:21.615] [main/INFO] [net.minecraftforge.fml.loading.FixSSL/CORE]: Added Lets Encrypt root certificates as additional trust [19Jan2022 16:51:21.654] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.4 Source=file:/D:/MCS/Vault%20Hunters/libraries/org/spongepowered/mixin/0.8.4/mixin-0.8.4.jar Service=ModLauncher Env=SERVER [19Jan2022 16:51:23.376] [main/INFO] [STDERR/]: [org.antlr.v4.runtime.ConsoleErrorListener:syntaxError:38]: line 1:0 token recognition error at: '~' [19Jan2022 16:51:24.498] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: java.lang.NoSuchMethodError: sun.security.util.ManifestEntryVerifier.<init>(Ljava/util/jar/Manifest;)V [19Jan2022 16:51:24.499] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at cpw.mods.modlauncher.SecureJarHandler.createCodeSource(SecureJarHandler.java:66) [19Jan2022 16:51:24.499] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at cpw.mods.modlauncher.TransformingClassLoader$DelegatedClassLoader.findClass(TransformingClassLoader.java:275) [19Jan2022 16:51:24.499] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:136) [19Jan2022 16:51:24.499] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:98) [19Jan2022 16:51:24.499] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [19Jan2022 16:51:24.500] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at java.lang.Class.forName0(Native Method) [19Jan2022 16:51:24.500] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at java.lang.Class.forName(Unknown Source) [19Jan2022 16:51:24.500] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at org.spongepowered.asm.service.modlauncher.ModLauncherClassProvider.findClass(ModLauncherClassProvider.java:67) [19Jan2022 16:51:24.500] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at org.spongepowered.asm.launch.platform.MixinConnectorManager.loadConnectors(MixinConnectorManager.java:70) [19Jan2022 16:51:24.501] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at org.spongepowered.asm.launch.platform.MixinConnectorManager.inject(MixinConnectorManager.java:59) [19Jan2022 16:51:24.502] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at org.spongepowered.asm.launch.platform.MixinPlatformManager.inject(MixinPlatformManager.java:196) [19Jan2022 16:51:24.502] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at org.spongepowered.asm.launch.MixinBootstrap.inject(MixinBootstrap.java:202) [19Jan2022 16:51:24.503] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.initializeLaunch(MixinLaunchPluginLegacy.java:201) [19Jan2022 16:51:24.503] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.initializeLaunch(MixinLaunchPluginLegacy.java:195) [19Jan2022 16:51:24.504] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at cpw.mods.modlauncher.LaunchPluginHandler.lambda$announceLaunch$9(LaunchPluginHandler.java:97) [19Jan2022 16:51:24.504] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at java.util.HashMap.forEach(Unknown Source) [19Jan2022 16:51:24.505] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at cpw.mods.modlauncher.LaunchPluginHandler.announceLaunch(LaunchPluginHandler.java:97) [19Jan2022 16:51:24.505] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:52) [19Jan2022 16:51:24.505] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [19Jan2022 16:51:24.506] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [19Jan2022 16:51:24.506] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [19Jan2022 16:51:24.507] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at net.minecraftforge.server.ServerMain$Runner.runLauncher(ServerMain.java:63) [19Jan2022 16:51:24.509] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at net.minecraftforge.server.ServerMain$Runner.access$100(ServerMain.java:60) [19Jan2022 16:51:24.510] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at net.minecraftforge.server.ServerMain.main(ServerMain.java:57)
    • I do not know how to check the sites certificate on my phone
  • Topics

  • Who's Online (See full list)

  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.