Canary

Canary

6M Downloads

Hoppers still not working

littlepianist opened this issue ยท 5 comments

commented

Version: canary-mc1.19.2.0.0.9

Expected Behavior

Hoppers still move items from the inventory above it to the inventory below it.

Actual Behavior

The hoppers won't do anything, items stayed inside the hoppers.

Reproduction Steps

1.install the mod on a server
2.hoppers will not work

commented

on that topic (also used canary-mc1.19.2-0.0.9.jar):
hoppers working fine when transferring item from one chest into a hopper and output to a chest

In my case what is not working is that the hoppers will not input anything into composters

  • disabling the mixin.block.hopper is resolving the issue but causes a lot of sideeffects
    e.g. breaking a hopper results in the following error
[05Nov2022 00:24:35.962] [Server thread/ERROR] [net.minecraft.network.protocol.PacketUtils/]: Failed to handle packet net.minecraft.network.protocol.game.ServerboundPlayerActionPacket@78a1ed7e, suppressing error
java.lang.ClassCastException: class net.minecraft.world.level.block.entity.HopperBlockEntity cannot be cast to class com.abdelaziz.canary.api.inventory.CanaryInventory (net.minecraft.world.level.block.entity.HopperBlockEntity is in module [email protected] of loader 'TRANSFORMER' @5292ceca; com.abdelaziz.canary.api.inventory.CanaryInventory is in module [email protected] of loader 'TRANSFORMER' @5292ceca)
	at net.minecraft.world.level.block.entity.BaseContainerBlockEntity.invalidateChangeListening(BaseContainerBlockEntity.java:562) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.block.entity.BaseContainerBlockEntity.emitRemoved(BaseContainerBlockEntity.java:554) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.block.entity.BlockEntity.handler$zfh000$updateStackListTracking(BlockEntity.java:519) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.block.entity.BlockEntity.m_7651_(BlockEntity.java:175) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.chunk.LevelChunk.m_8114_(LevelChunk.java:396) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.Level.m_46747_(Level.java:520) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.block.state.BlockBehaviour.m_6810_(BlockBehaviour.java:158) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.block.HopperBlock.m_6810_(HopperBlock.java:171) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.m_60753_(BlockBehaviour.java:690) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.chunk.LevelChunk.m_6978_(LevelChunk.java:240) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.Level.m_6933_(Level.java:211) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.Level.m_7731_(Level.java:188) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraftforge.common.extensions.IForgeBlock.onDestroyedByPlayer(IForgeBlock.java:170) ~[forge-1.19.2-43.1.34-universal.jar%23105!/:?]
	at net.minecraftforge.common.extensions.IForgeBlockState.onDestroyedByPlayer(IForgeBlockState.java:128) ~[forge-1.19.2-43.1.34-universal.jar%23105!/:?]
	at net.minecraft.server.level.ServerPlayerGameMode.removeBlock(ServerPlayerGameMode.java:270) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.level.ServerPlayerGameMode.m_9280_(ServerPlayerGameMode.java:244) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.level.ServerPlayerGameMode.m_215116_(ServerPlayerGameMode.java:218) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.level.ServerPlayerGameMode.m_214168_(ServerPlayerGameMode.java:145) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.network.ServerGamePacketListenerImpl.m_7502_(ServerGamePacketListenerImpl.java:1024) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.network.protocol.game.ServerboundPlayerActionPacket.m_5797_(ServerboundPlayerActionPacket.java:42) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.network.protocol.game.ServerboundPlayerActionPacket.m_5797_(ServerboundPlayerActionPacket.java:8) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.network.protocol.PacketUtils.m_131356_(PacketUtils.java:22) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.TickTask.run(TickTask.java:18) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:157) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:763) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:157) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:131) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_129961_(MinecraftServer.java:746) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_7245_(MinecraftServer.java:740) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.util.thread.BlockableEventLoop.m_18699_(BlockableEventLoop.java:116) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_130012_(MinecraftServer.java:725) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:658) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:244) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at java.lang.Thread.run(Thread.java:833) [?:?]

PS: did not test it with anything else like furnaces, smokers, brewing table ect.
Edit: test done with only using canary and forge 43.1.34

commented

ClassCastException is fixed in the coming release, hoppers don't output the items to the composters is not an issue, its a regular feature in Canary, for more information press here.
let's back to the original issue, does hoppers doesn't work only happens on server or also with the client?

commented

on that topic (also used canary-mc1.19.2-0.0.9.jar): hoppers working fine when transferring item from one chest into a hopper and output to a chest

In my case what is not working is that the hoppers will not input anything into composters

* disabling the mixin.block.hopper is resolving the issue but causes a lot of sideeffects
  e.g. breaking a hopper results in the following  error
[05Nov2022 00:24:35.962] [Server thread/ERROR] [net.minecraft.network.protocol.PacketUtils/]: Failed to handle packet net.minecraft.network.protocol.game.ServerboundPlayerActionPacket@78a1ed7e, suppressing error
java.lang.ClassCastException: class net.minecraft.world.level.block.entity.HopperBlockEntity cannot be cast to class com.abdelaziz.canary.api.inventory.CanaryInventory (net.minecraft.world.level.block.entity.HopperBlockEntity is in module [email protected] of loader 'TRANSFORMER' @5292ceca; com.abdelaziz.canary.api.inventory.CanaryInventory is in module [email protected] of loader 'TRANSFORMER' @5292ceca)
	at net.minecraft.world.level.block.entity.BaseContainerBlockEntity.invalidateChangeListening(BaseContainerBlockEntity.java:562) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.block.entity.BaseContainerBlockEntity.emitRemoved(BaseContainerBlockEntity.java:554) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.block.entity.BlockEntity.handler$zfh000$updateStackListTracking(BlockEntity.java:519) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.block.entity.BlockEntity.m_7651_(BlockEntity.java:175) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.chunk.LevelChunk.m_8114_(LevelChunk.java:396) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.Level.m_46747_(Level.java:520) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.block.state.BlockBehaviour.m_6810_(BlockBehaviour.java:158) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.block.HopperBlock.m_6810_(HopperBlock.java:171) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.m_60753_(BlockBehaviour.java:690) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.chunk.LevelChunk.m_6978_(LevelChunk.java:240) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.Level.m_6933_(Level.java:211) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.world.level.Level.m_7731_(Level.java:188) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraftforge.common.extensions.IForgeBlock.onDestroyedByPlayer(IForgeBlock.java:170) ~[forge-1.19.2-43.1.34-universal.jar%23105!/:?]
	at net.minecraftforge.common.extensions.IForgeBlockState.onDestroyedByPlayer(IForgeBlockState.java:128) ~[forge-1.19.2-43.1.34-universal.jar%23105!/:?]
	at net.minecraft.server.level.ServerPlayerGameMode.removeBlock(ServerPlayerGameMode.java:270) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.level.ServerPlayerGameMode.m_9280_(ServerPlayerGameMode.java:244) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.level.ServerPlayerGameMode.m_215116_(ServerPlayerGameMode.java:218) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.level.ServerPlayerGameMode.m_214168_(ServerPlayerGameMode.java:145) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.network.ServerGamePacketListenerImpl.m_7502_(ServerGamePacketListenerImpl.java:1024) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.network.protocol.game.ServerboundPlayerActionPacket.m_5797_(ServerboundPlayerActionPacket.java:42) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.network.protocol.game.ServerboundPlayerActionPacket.m_5797_(ServerboundPlayerActionPacket.java:8) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.network.protocol.PacketUtils.m_131356_(PacketUtils.java:22) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.TickTask.run(TickTask.java:18) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:157) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:763) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:157) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:131) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_129961_(MinecraftServer.java:746) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_7245_(MinecraftServer.java:740) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.util.thread.BlockableEventLoop.m_18699_(BlockableEventLoop.java:116) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_130012_(MinecraftServer.java:725) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:658) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:244) ~[server-1.19.2-20220805.130853-srg.jar%23100!/:?]
	at java.lang.Thread.run(Thread.java:833) [?:?]

PS: did not test it with anything else like furnaces, smokers, brewing table ect. Edit: test done with only using canary and forge 43.1.34

Having this second issue as well. Breaking a hopper with mixin.block.hopper set to false crashes the client. It does not crash the server, just the client.

commented

can you please test this build?

commented

fixed in the coming version.