Radium Reforged

Radium Reforged

6M Downloads

Capability Invalidation for Chests is broken on NeoForge

shartte opened this issue ยท 5 comments

commented

This overridden method breaks the NeoForge patch that triggers capability invalidation if a chest is changed from single to double (or back):

https://github.com/Reforged-Hub/radium-upstream/blob/develop/src/main/java/me/jellysquid/mods/lithium/mixin/util/inventory_change_listening/ChestBlockEntityMixin.java#L24

The @Intrinsic actually seemed correct, why is that commented out?

commented

I don't remember very well, something to do with injections to interfaces

commented

Hm? setBlockState is on BlockEntity, that should not relate to interfaces

commented
 Mixin apply failed lithium.mixins.json:util.inventory_change_listening.ChestBlockEntityMixin -> net.minecraft.block.entity.ChestBlockEntity: org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException @Intrinsic method must be prefixed interface method, no rename encountered on setCachedState(Lnet/minecraft/block/BlockState;)V in lithium.mixins.json:util.inventory_change_listening.ChestBlockEntityMixin [ -> MAIN Applicator Phase -> lithium.mixins.json:util.inventory_change_listening.ChestBlockEntityMixin -> Apply Methods -> (Lnet/minecraft/block/BlockState;)V:setCachedState]

In fact, I just now saw that neoforge overrides this method.

commented

Can't you just allow it to fail the @Intrinsic then?

commented

I think that's what you need