Jump to content

Recommended Posts

Posted

I like how MagicLauncher can take modules from just about anywhere and get Forge to load them, and it can even extract pertinent metadata from the various .jar files. I know how to extract metadata, but the method that MagicLauncher "preps" the JVM so that when Forge loads up it just uses those modules eludes me. MagicLauncher is of course closed source, so nobody can look at that for an example. I just wanted to replicate its behavior in an open source launcher.

 

I tried to follow the loading process of Forge but it unfortunately confused me. Near as I can tell, it loads something called "coremods" (which itself is an entirely undocumented term), then just goes straight to the game. Most mods are not "coremods" and only certain ...bytecode transformers? are coremods. Real gritty stuff, not the likes of a minimap or a Zelda style auto-jump. So where does it load mods? Can I get it to recognize classes already in the classpath as mods? Is there some list I can append class objects to in order for them to be loaded like mods?

 

I was going to do the hack of "delete everything in mods except configuration which is there sometimes and symlink all the mod files into there" but it really seems inelegant compared to what MagicLauncher manages to do. Any ideas how to replicate that?

Posted

All magiclauncher does is add '.disabled' to the end of mods that are disabled.

FML only loads .zip or .jar files, not .disabled files.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • joptsimple.UnrecognizedOptionException: X is not a recognized option JVM-Arguments begin with a - So use -Xmx6G instead of Xmx6G etc
    • https://pastebin.com/SnWukPj8   thats the crash log if anyone can help add me on discord: privatelk
    • Remove Neruina and justleveling from your server
    • I'm attempting to make a 1.20.1-47.4.0 forge server but when I change the user_jvm_args.txt it does nothing so i tried adding it to the run.bat which it picks up on the startup console but then gives me this [21:56:01] [main/ERROR] [minecraft/Main]: Failed to start the minecraft server joptsimple.UnrecognizedOptionException: X is not a recognized option     at joptsimple.OptionException.unrecognizedOption(OptionException.java:108) ~[jopt-simple-5.0.4.jar%2393!/:?] {}     at joptsimple.OptionParser.validateOptionCharacters(OptionParser.java:633) ~[jopt-simple-5.0.4.jar%2393!/:?] {}     at joptsimple.OptionParser.handleShortOptionCluster(OptionParser.java:528) ~[jopt-simple-5.0.4.jar%2393!/:?] {}     at joptsimple.OptionParser.handleShortOptionToken(OptionParser.java:523) ~[jopt-simple-5.0.4.jar%2393!/:?] {}     at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:59) ~[jopt-simple-5.0.4.jar%2393!/:?] {}     at joptsimple.OptionParser.parse(OptionParser.java:396) ~[jopt-simple-5.0.4.jar%2393!/:?] {}     at net.minecraft.server.Main.main(Main.java:98) ~[server-1.20.1-20230612.114412-srg.jar%23101!/:?] {re:classloading}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.4.0.jar%2369!/:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.serverService(CommonLaunchHandler.java:103) ~[fmlloader-1.20.1-47.4.0.jar%2369!/:?] {}     at net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$makeService$0(CommonServerLaunchHandler.java:27) ~[fmlloader-1.20.1-47.4.0.jar%2369!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {} I have uninstalled and reinstalled all my versions of java and tried deleting and restarting everything several times to no avail. I have no more ideas and would appreciate any assistance.
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.