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.