TelepathicGrunt / Bumblezone

A bee dimension just for fun!
https://www.curseforge.com/minecraft/mc-mods/the-bumblezone-forge
GNU Lesser General Public License v3.0
181 stars 37 forks source link

Level datapack error #338

Closed Tomat777 closed 8 months ago

Tomat777 commented 8 months ago

When bumblezone(forge) and imbued gear(fabric via sinytra connector) used together there is level datapack error due to java.util.concurrent.ExecutionException: com.llamalad7.mixinextras.injector.wrapoperation.IncorrectArgumentCountException: Incorrect number of arguments passed to Operation::call! Expected 2 but got 1. Expected types were [net.minecraft.world.item.Item, net.minecraft.world.item.ItemStack], actual types were [com.telepathicgrunt.the_bumblezone.items.HoneyCrystalShield]. Logs: https://gist.github.com/Tomat777/a5dde0d110bc0202d7de3b51cd21705e image

TelepathicGrunt commented 8 months ago

@Tomat777 You're trying to use a Fabric mod on Forge which is generally not a supported use case. The reason is, the Fabric mod has a mixin to ItemStack$getMaxDamage. https://github.com/fzzyhmstrs/gc/blob/2d1554557648262ff6d7a8796168d0bd260f6cab/src/main/java/me/fzzyhmstrs/gear_core/mixins/ItemStackMixin.java#L54

On Fabric, the getMaxDamage method takes no parameters. On Forge, Forge changed the method to accept an ItemStack parameter https://github.com/MinecraftForge/MinecraftForge/blob/88d2dc6c8f91fd3a6b38fa06bd92cde2db1c94db/patches/minecraft/net/minecraft/world/item/ItemStack.java.patch#L156

As a result, their mixin explodes because it was not designed for Forge. There's nothing I can do because this has nothing to do with my mod. It's a fundamental incompatibility between the Fabric mod and Forge patches itself. You could ask the Fabric modder to redesign the mixin but they are likely to say no because they do not want to support Forge.

Your best solution is to remove the Fabric mod because it will crash whenever ItemStack$getMaxDamage is called by anyone. Even vanilla calling it will crash on Forge with this Fabric mod on.