Storage Network

Storage Network

340k Downloads

[1.9.4] Client disconnect when trying to craft: Payload may not be larger than 32767 bytes

RealGrep opened this issue ยท 6 comments

commented

Had just hooked up storage pipes to my Storage Drawers and RFTools Modular Storage (with tier 3 card that holds 300 stacks of things). Tried to craft the import pipe by shift clicking it into the crafting grid. As soon as I tried to craft, I got this (small, so not using pastebin):

[15:31:26] [Netty Epoll Client IO #0/ERROR]: NetworkDispatcher exception
java.lang.IllegalArgumentException: Payload may not be larger than 32767 bytes
at net.minecraft.network.play.client.CPacketCustomPayload.(CPacketCustomPayload.java:28) ~[ir.class:?]
at net.minecraftforge.fml.common.network.internal.FMLProxyPacket.toC17Packet(FMLProxyPacket.java:124) ~[FMLProxyPacket.class:?]
at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.write(NetworkDispatcher.java:507) ~[NetworkDispatcher.class:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:658) ~[AbstractChannelHandlerContext.class:4.0.23.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:716) ~[AbstractChannelHandlerContext.class:4.0.23.Final]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:706) ~[AbstractChannelHandlerContext.class:4.0.23.Final]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:741) ~[AbstractChannelHandlerContext.class:4.0.23.Final]
at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:895) ~[DefaultChannelPipeline.class:4.0.23.Final]
at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:240) ~[AbstractChannel.class:4.0.23.Final]
at net.minecraft.network.NetworkManager$4.run(NetworkManager.java:247) [em$4.class:?]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:380) [SingleThreadEventExecutor.class:4.0.23.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:268) [EpollEventLoop.class:4.0.23.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [SingleThreadEventExecutor$2.class:4.0.23.Final]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]
[15:31:26] [Netty Epoll Client IO #0/INFO]: Reset configs to client values for com.enderio.core.common.config.ConfigHandler
[15:31:26] [Netty Epoll Client IO #0/INFO]: CLIENT: Disconnected from server, enabling all click actions

I assume it's trying to send too much through one packet. Possibly due to the large storage in Modular Storage (300 stacks of different items). Reconnecting and trying again, it worked, oddly enough. Perhaps something needs to be divided into multiple packets if it's too large? A guess. I'm a programmer, but know little about MC modding.

P.S. Absolutely adore this mod. Good work! :)

commented

Just happened again trying to craft a chest. Shift-clicked the + in JEI and got the same client disconnect. This one seems to happen every time.

commented

Do you have many types of wood in your modpack?

commented

Fair number, yes. Forestry would add quite a few, I think. Not sure if Pam's Harvestcraft adds any woods, but I do have that as well. I count 99 different types of planks.

commented

Ok.
The problem is that I send a packet to the server with 8 ingredients of the chest. An ingredient could be more than one item. For example, any types of wooden planks. So you reach the 32kB easily.
I try to find a solution.

commented

Ah, I see, that makes sense. Thanks! :)

commented

From mezz's answer, it does seem like using the oreDict is the way to go here. It's definitely due to it being able to use any woodPlank to make a chest.