FabricMC / fabric-language-kotlin

Fabric language module for Kotlin.
Apache License 2.0
293 stars 33 forks source link

Indicate to Mod Menu that Kotlin is a library #15

Closed matthew-cline closed 3 years ago

matthew-cline commented 4 years ago

The latest version of Mod Menu (Fabric allows a mod to indicate that the mod is a library for other mods, so that libraries can be hidden from the list of mods. The Kotlin mod should use this, since right now it shows up 4 to 5 times in the mod list.

natanfudge commented 4 years ago

Why is is being shown 5 times?! Loader is supposed to only load the latest version.

Juuxel commented 4 years ago

I think it shows the JIJ'd Kotlin libraries as separate mods.

natanfudge commented 4 years ago

But it's still supposed to only load one... Unless modmenu gets the information in a way that doesn't correspond to what mods are actually loaded.

Juuxel commented 4 years ago

FLK is marked as a library already, but the JIJ'd submodules aren't (their mod metadata is generated during the build process).

https://github.com/FabricMC/fabric-language-kotlin/blob/bd38e8bce93043b83c36da6721694de4b0860960/src/main/resources/fabric.mod.json#L21-L23

jars-in-jar

modmuss50 commented 4 years ago

This should be handled in mod menu untill there is a none modmenu specfic way of doing this.

shedaniel commented 4 years ago

Just make a custom value called fabric:library or whatever that doesn't have that modmenu namespace?

Juuxel commented 4 years ago

The problem is that those libraries have fabric.mod.jsons generated by Loom, so currently there's no way to set modmenu:api/fabric:library/whatever there.

NikkyAI commented 4 years ago

i did not want to modify the jars pulled from maven, as this is a bunch of extra effort on buildscript (thats complicated enough already), do we really need to do this ? can this be defined externally in a simple way ?

shedaniel commented 4 years ago

Doesn't loom already add the fabric.mod.json by including non-mods?

Sollace commented 4 years ago

The JiJ process can just automatically include a fabric:jij flag in the automatically generated fabric.mod.json.

If a jar already has one, I don't think the build script should be removing/changing them though. :/

Sollace commented 4 years ago

Also maybe modmenu needs to change its behaviour so that any jij jars found inside a mod marked as a library are hidden as well.

Prospector commented 4 years ago

There's no real way to determine what mod used to be JIJ'd because they're all loaded the same

Domaman202 commented 3 years ago

Let's close this issue as it is no longer relevant

modmuss50 commented 3 years ago

This has been resolved I believe

Madis0 commented 2 years ago

This issue is again present on (at least) v1.7.0.

Juuxel commented 2 years ago

Yeah, since the modmenu:api marker was removed, the included Kotlin libraries are properly marked now and FLK itself isn't.