Vanilla hoppers
Viperix0 opened this issue · 3 comments
When using the mode with lithium, if we put the hoppers (vanilla hoppers) side by side as in the photo below and throw something into it, the game crashes. The game does not crash when the lithium loaded omni-hopper is not loaded,
The game does not crash when the omni-hopper is not loaded with lithium. When the game crashes we get the following error.
Description: Ticking block entity
java.lang.AbstractMethodError: Receiver class net.minecraft.class_2614 does not define or inherit an implementation of the resolved method 'boolean canReceiveTransferCooldown()' of interface me.jellysquid.mods.lithium.api.inventory.LithiumCooldownReceivingInventory.
at net.minecraft.class_2614.handler$zmc000$lithium$lithiumInsert(class_2614.java:679)
at net.minecraft.class_2614.method_11246(class_2614.java:148)
at net.minecraft.class_2614.method_11243(class_2614.java:115)
at net.minecraft.class_2614.method_31692(class_2614.java:102)
at net.minecraft.class_2818$class_5563.method_31703(class_2818.java:662)
at net.minecraft.class_2818$class_5564.method_31703(class_2818.java:716)
at net.minecraft.class_1937.method_18471(class_1937.java:470)
at net.minecraft.class_3218.method_18765(class_3218.java:390)
at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:897)
at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:824)
at net.minecraft.class_1132.method_3748(class_1132.java:105)
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671)
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265)
at java.base/java.lang.Thread.run(Thread.java:833)
Lithium optimized hoppers aren't configured to work with this mod, so issues are possible. As a temporary solution you can use lithium config to disable those optimizations https://github.com/CaffeineMC/lithium-fabric/wiki/Configuration-File#mixinworldblock_entity_ticking
A better solution is to download and install the latest version of Cooldown Coordinator and place it in your mods folder. This will override the older version bundled in OmniHopper.
Lithium's code completely replaces the majority of the vanilla HopperBlockEntity transfer implementation, making it very likely to be incompatible with other mods that try to modify or add to the transfer implementation. This decision was not very neighborly of them, to say the least. At my request, they added an API so we could still coordinate cooldowns, but it turns out their API implementation is incomplete, so we need to switch back to suppressing their HBE optimizations instead.
It would also be a good idea for OmniHopper to update the bundled version of Cooldown Coordinator.
Just published an update to bump the included CC version to 0.6.2, thanks for letting me know. 👍
@gniftygnome feel free to DM me on Discord if there are any important updates to CC in the future.