kosmolot-mods / minecraft-sqlite-jdbc

SQLite JDBC Driver for Minecraft
https://modrinth.com/plugin/sqlite-jdbc
Apache License 2.0
2 stars 0 forks source link

Unable to load on NeoForge 1.20.4 #3

Open Erdragh opened 2 months ago

Erdragh commented 2 months ago

When trying to start a NeoForge 1.20.4 server with this "Mod" installed, the following error gets logged:

[10:53:54.054] [main/ERROR] [loading.LanguageLoadingProvider/LOADING]: Missing language javafml version [25,) wanted by sqlite-jdbc-3.41.2.1+20230506-all.jar, found 2.0

Which results in the jar not getting loaded and the classes not being available for connecting with a database.

kosma commented 2 months ago

NeoForge is being drunk. For a quick fix, open the mod JAR and edit *.mods.toml, and change loaderVersion to [1,).

Erdragh commented 2 months ago

I've actually already tried this, but that just results in the following: https://gist.github.com/Erdragh/6af95baedf7134d8d9e161a694598537

kosma commented 2 months ago

Seems like NeoForge decided to diverge from the Forge way of loading mods, I wouldn't be surprised if it was purely for creating a bigger mess. I'll look into this but I can't promise any kind of timeline :|

Erdragh commented 2 months ago

I wouldn't say there was any malicious intent. Also, in versions >= 1.20.5 NeoForge uses neoforge.mods.toml instead of just mods.toml. Probably to resolve these exact kinds of issues. If there's no easy way to fix this for 1.20.4, I'll just not release a 1.20.4 version of my mod for Neo. Thanks for your quick reply though!

kosma commented 2 months ago

I don't think it was malicious intent - I'm simply not a fan of overzealous validation of mod jars - it causes trouble for people trying to do advanced things (or cursed things, as shown here).

Also - I assume that to have the mod loadable by NeoForge 1.20.5+, I have to include neoforge.mods.toml as well? The NeoForge documentation doesn't say anything about neoforge.mods.toml...

kosma commented 2 months ago

Hmm. Another option would be using the lowcodefml loader, but then I think their validator will balk :|

Erdragh commented 2 months ago

Also - I assume that to have the mod loadable by NeoForge 1.20.5+, I have to include neoforge.mods.toml as well? The NeoForge documentation doesn't say anything about neoforge.mods.toml...

The documentation also doesn't have anything on NeoGradle yet. The development is very rapid, which is both a bad and a good thing imo, but that's beside the point. You can reference the MDK for the neoforge.mods.toml changes