Fabric API

Fabric API

106M Downloads

fabric-api-0.5.7+build.2-20w14infinite.jar works not; only "1.16-alpha.20.13.inf" found instead of "1.16-20.w.14"

GuykannTschjov opened this issue · 4 comments

commented

I knew this is somewhat edge-case, but I wanted to install fabric for 20w14infinite. The Infinite Demension April Fool version.

However, having installed fabric-api-0.5.7+build.2-20w14infinite.jar and other necessary things, as I run the Minecraft launcher, this message pops out before the game even tries to start:

Mod 'Fabric API' (fabric) 0.5.7+build.2-20w14infinite requires version 1.16-20.w.14 of 'Minecraft' (minecraft), but only the wrong version is present: 1.16-alpha.20.13.inf!

I am no expert on coding and stuff, but at least, from this error message, even a three-year-old can infer that: the Fabric API and the Mojang .jar client file are referring the very same Infinite Demension version by different names: 1.16-20.w.14 and 1.16-alpha.20.13.inf.

I thought the .13.inf one was the misnamed one, so I proceeds to replace the client.jar with the one downloaded directly from Mojang. However, the problem preserves.

In my mindset I've long taken for granted, there's only one name for the Infinite Demension April Fool version, and it's "20w14∞", never "20w13∞". Today I question my memory ever before and gently ask for help. Either for a client.jar that refers it as 1.16-20.w.14, or a fabric-api-0.5.7+build.2-20w14infinite.jar that refers if as 1.16-alpha.20.13.inf.

commented

I'm pretty sure this is part of the joke? :-)

This version of minecraft is misreporting itself in its game version class.

Fabric has a dependency override mechanism that you can use to fix this.
create a config/fabric_loader_dependencies.json with the following contents:

{
  "version": 1,
  "overrides": {
     "fabric": {
        "depends": {
          "minecraft": "1.16-alpha.20.13.inf"
        }
     }
  }
}

When I do this I can get into the game.

commented

Note that Fabric Loader gives an unexpected semver for the version since its code is based on 20w13b, not 20w14a: https://github.com/FabricMC/fabric-loader/blob/6adfe08efeb04c8dde829053e3cc546c01ef8415/minecraft/src/main/java/net/fabricmc/loader/impl/game/minecraft/McVersionLookup.java#L505-L507

Not sure why FAPI uses a different one.

commented

FAPI for 20w14infinite used outdated FabricLoader semver.

commented

I'm pretty sure this is part of the joke? :-)

This version of minecraft is misreporting itself in its game version class.

Oops. Shuold have guessed that.

Fabric has a dependency override mechanism that you can use to fix this. create a config/fabric_loader_dependencies.json with the following contents:

I did as you say. And good news: now the game doesn't crash; bad news: fabric doesn't do anything like expected :(

It doesn't show the "mods" option on the game-start menu, it doesn't load the mods I installed, too. Even though, in the log, it's reported that fabric did managed to load it's own sub-mods:

[main/INFO]: Loading 30 mods:
fabric 0.5.7+build.2-20w14infinite
fabric-api-base 0.1.2+b7f9825d1d via fabric
fabric-blockrenderlayer-v1 1.1.4+c6a8ea891d via fabric
fabric-commands-v0 0.1.2+b7f9825d1d via fabric
……
……
Reloading ResourceManager: Default, Fabric API, Fabric API Base, Fabric BlockRenderLayer Registration (v1), Fabric Commands (v0), ……

Et cetera. My custom mods weren't in this two lists of successfully loaded mods:

One thing I think it's important: there are way too few (if any) fabric mods for 20w14~, so all my custom mods are in versions designed for Minecraft 1.16.5. If that's the cause of the problem, I think I'd better just give up and play other Minecraft versions for normal people.