Jade Addons (Fabric)

Jade Addons (Fabric)

699k Downloads

[1.20.0] Lootr internal structure change results in Classload failure

noobanidus opened this issue ยท 4 comments

commented

Minecraft version

1.20.0

Mod version

(all)

Modloader version

(all for Fabric 1.20.0)

Modpack info

No response

If bug:

  • Can you reproduce this issue with relevant mods only?

If bug: The latest.log file

https://gist.github.com/noobanidus/ac5795cacdb68a91f0e139b990e0d659

Issue description

In order to make porting between versions of Lootr simpler, I repackaged from net.zestyblaze to noobanidus.mods, although I did move the API package back to its original location until the next breaking release (which I presume will be 1.21).

Unfortunately, I didn't realize Jade was directly accessing DataStorage, although looking through the code I understand the reasons for this.

Relevant code is in LootrInventoryProvider.java.

Given the use case here it makes sense for me to add to the API a function that takes a ILootBlockEntity & BlockEntity and ServerPlayer or Player and returns the relevant SpecialChestInventory, although in this instance it would most likely be an ILootInventory, which, from memory, still implements the Container interface and should thus be compatible.

For the minecarts, I would probably have to do ILootCart & ContainerEntity & Entity perhaps.

In the meantime, DataStorage is now found within noobanidus.mods.lootr. I realize this will create weird compatibility issues when people use earlier versions of Lootr with later versions of Jade and vice versa, but I'm not sure how best to resolve that beyond the API change -- which would still be problematic as the older versions of the API wouldn't have this function.

commented

I've decided to restore the original structure in the next release for Fabric to resolve this and any other issues, and switch to the new package format in the next major release.

commented

Hi, maybe you should make the version number follow the semver standard.

just a suggestion

commented

I'll have another look at semver, although I've been using this versioning system for quite a long time now.

The most recent release on CurseForge reverts to the old packaging system, and resolves this issue.