Posted February 13, 20196 yr Hey. So I needed Forgelin to update (kotlin language provider mod) to 1.13 and didn't want to wait, so that's what I did: https://github.com/autaut03/Forgelin/tree/1.13-rewrite Basically, to load IModLanguageLoader, Forge utilizes SerivceLoader, which scans META-INF/services for files with name of specified interface. This is how FMLJavaModLanguageLoader is loaded (the one Forge mod provides), and so I did the exact same thing. When run in IDE, or by a gradle in Forgelin project, it works good. I know that because Forgelin itself is written in Kotlin and wouldn't work without kotlinfml language loaded, plus there's a bunch of debug statements in the log. However, when built and placed into mods/ folder of a normal Forge client, it fails to find requested mod loader. I'll be thankful for any kind of help/information. Also, in case this is needed, here's a built jar: https://drive.google.com/file/d/1cXkSHTV9ZeJfMB3pXapXdykrBWuun3V-/view?usp=sharing Obviously, I'm not asking anyone to run it, but it's here for the reference. Edited February 13, 20196 yr by Alex_Wells
February 14, 20196 yr Author Oh, I get it now. In dev env, mod classes are compiled and added directly to classpath, meaning the classes are known to the runtime when FMLLoader instantiates LanguageLoader. After that, additional languages are only loaded for mods with FMLModType of LANGPROVIDER. That eliminates the issue, also making it simpler for the dev because they no longer need to specify Forgelin as a dependency.
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.