Just Enough Items (JEI)

Just Enough Items (JEI)

388M Downloads

[Other]: JEI Fabric has remapping errors with IJeiFluidIngredient preventing it being used

AlphaMode opened this issue · 10 comments

commented

Other

image
As seen in the image the classes don't get remapped this is preventing me from implementing fluids in jei

commented

Thanks for the report!
Can you show me your build.gradle setup? I'm curious how you are requiring JEI's API in gradle

commented

Thanks for the extra info! That looks correct to me.
I will ask modmuss, a loom developer, for help.

@modmuss50 do you know if I am doing something wrong with the way I create the obfuscated jei-fabric-api jar, or if I am telling modders to use the wrong loom commands to include it in their project?

commented

The API jar is not its own mod, it's just a bunch of interface files. Should I declare it as its own mod?

commented

Noticed this is only the case for the API jar. It's correct for the full jar.

commented

Hi, sorry I only just saw this. (Poking me on discord is a better way to get in contact)

Is the API jar a mod with a fabric.mod.json file? Loom only remaps deps that have a fabric.mod.json file. Deps without are left untouched.

commented

I am trying to use JEI in Quilt workspace. Same issue as above where JEI does not get the mc classes compiled correctly in JEI sources. However, if use the jar from curseforge instead by cursemaven, the source is now correct and I am able to extend IJeiFluidIngredient. Dunno if this may help with trying to figure out the cause

modCompileOnlyApi "curse.maven:jei-238222:3944625"
//modCompileOnlyApi "mezz.jei:jei-${libs.versions.jeimc.get()}-fabric:${libs.versions.jei.get()}"

Pic of JEI source from JEI maven:
image
Pic of JEI source from using CurseMaven to pull from CurseForge:
image

commented

Think the Issue is still happening, even though it's been cold for some time.
First Plugin creation step already has a problem. public net.minecraft.resources.ResourceLocation getPluginUid()
It actually errors at the path before the Actual ResourceLocation class which doesn't exit in Fabric.
build.gradle file:
image
gradle.properties
image

commented

The current workaround I am using (which isn't particularly nice) is I've got:

modCompileOnly("mezz.jei:jei-1.20.1-fabric:15.3.0.4") {
    exclude(group = "mezz.jei")
}

so, I depend on jei-*-fabric instead of jei-*-fabric-api, and then I exclude all the deps it tries to bring in, as it's already a fat jar.

commented

This has been resolved in #3451
JEI publishes an intermediary-mapped common-api jar for fabric now.