Crash when inserting unstackable items into an inventory with corporea on Fabric
quat1024 opened this issue ยท 1 comments
Mod Loader
Fabric
Minecraft Version
1.18.2
Botania version
1.18.2-432-FABRIC-SNAPSHOT
Modloader version
fabricLoaderVersion=0.13.3 fabricApiVersion=0.50.0+1.18.2
Modpack info
Incorporeal 3 dev instance
The latest.log file
In description
Issue description
[02:09:21] [Server thread/ERROR] (Minecraft) Failed to handle packet net.minecraft.network.protocol.game.ServerboundUseItemOnPacket@5fe84ea, suppressing error
net.minecraft.ReportedException: Exception while updating neighbours
at net.minecraft.world.level.Level.neighborChanged(Level.java:371) ~[[email protected]:?]
at net.minecraft.world.level.Level.updateNeighborsAt(Level.java:325) ~[[email protected]:?]
at net.minecraft.server.level.ServerLevel.blockUpdated(ServerLevel.java:1377) ~[[email protected]:?]
at net.minecraft.world.level.Level.setBlock(Level.java:235) ~[[email protected]:?]
at net.minecraft.world.level.Level.setBlock(Level.java:196) ~[[email protected]:?]
at net.minecraft.world.level.block.ButtonBlock.press(ButtonBlock.java:117) ~[[email protected]:?]
at net.minecraft.world.level.block.ButtonBlock.use(ButtonBlock.java:110) ~[[email protected]:?]
at net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.use(BlockBehaviour.java:939) ~[[email protected]:?]
at net.minecraft.server.level.ServerPlayerGameMode.useItemOn(ServerPlayerGameMode.java:336) ~[[email protected]:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItemOn(ServerGamePacketListenerImpl.java:1081) ~[[email protected]:?]
at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:30) ~[[email protected]:?]
at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:8) ~[[email protected]:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:22) ~[[email protected]:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[[email protected]:?]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:157) ~[[email protected]:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[[email protected]:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:808) ~[[email protected]:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:165) ~[[email protected]:?]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:131) ~[[email protected]:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:790) ~[[email protected]:?]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:784) ~[[email protected]:?]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:140) ~[[email protected]:?]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:769) ~[[email protected]:?]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:701) ~[[email protected]:?]
at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:273) ~[[email protected]:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.IllegalArgumentException: Transfer variant may not be blank.
at net.fabricmc.fabric.api.transfer.v1.storage.StoragePreconditions.notBlank(StoragePreconditions.java:39) ~[fabric-transfer-api-v1-1.6.0+2373a54560.jar:?]
at net.fabricmc.fabric.api.transfer.v1.storage.StoragePreconditions.notBlankNotNegative(StoragePreconditions.java:58) ~[fabric-transfer-api-v1-1.6.0+2373a54560.jar:?]
at net.fabricmc.fabric.api.transfer.v1.item.base.SingleStackStorage.insert(SingleStackStorage.java:108) ~[fabric-transfer-api-v1-1.6.0+2373a54560.jar:?]
at net.fabricmc.fabric.api.transfer.v1.item.base.SingleStackStorage.insert(SingleStackStorage.java:42) ~[fabric-transfer-api-v1-1.6.0+2373a54560.jar:?]
at net.fabricmc.fabric.api.transfer.v1.storage.base.CombinedStorage.insert(CombinedStorage.java:67) ~[fabric-transfer-api-v1-1.6.0+2373a54560.jar:?]
at vazkii.botania.fabric.xplat.FabricXplatImpl.insertToInventory(FabricXplatImpl.java:325) ~[Botania-1.18.2-432-FABRIC-SNAPSHOT.jar:?]
at vazkii.botania.common.block.tile.corporea.TileCorporeaFunnel.doCorporeaRequest(TileCorporeaFunnel.java:84) ~[Botania-1.18.2-432-FABRIC-SNAPSHOT.jar:?]
at vazkii.botania.common.block.tile.corporea.TileCorporeaFunnel.doRequest(TileCorporeaFunnel.java:45) ~[Botania-1.18.2-432-FABRIC-SNAPSHOT.jar:?]
at vazkii.botania.common.block.corporea.BlockCorporeaFunnel.neighborChanged(BlockCorporeaFunnel.java:44) ~[Botania-1.18.2-432-FABRIC-SNAPSHOT.jar:?]
at net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.neighborChanged(BlockBehaviour.java:884) ~[[email protected]:?]
at net.minecraft.world.level.Level.neighborChanged(Level.java:356) ~[[email protected]:?]
... 25 more
Steps to reproduce
No response
Other information
Actually crashes instead of stacktracing if the redstone wasn't triggered by the player
debugging: inserting a println at the start of TileCorporeaFunnel#doCorporeaRequest
:
System.out.println("Got ItemStacks: " + stacks.stream().map(ItemStack::toString).collect(Collectors.joining(", ")));
stackable items print something like Got ItemStacks: 8 andesite, 8 andesite
unstackables print something like Got ItemStacks: 1 diamond_sword, 0 air