[1.20.0] Lootr internal structure change results in Classload failure
noobanidus opened this issue ยท 4 comments
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.
BTW. https://github.com/SettingDust/JadeAddonsFabric/blob/1.20/src/main/java/snownee/jade/addon/lootr/LootrInfoProvider.java#L51
DataStorage.isDecayed
is required
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.
Hi, maybe you should make the version number follow the semver standard.
just a suggestion