Just Enough Energistics (JEE)

Just Enough Energistics (JEE)

21M Downloads

Server kick when transferring EnderIO Iron Alloy Ingot recipe

Bartz24 opened this issue ยท 9 comments

commented

I don't see anything related to any mods, just an error mentioning the packet was too large after I hit the + to move the recipe

Error [13:53:25] [Netty Client IO #2/ERROR] [FML]: NetworkDispatcher exception java.lang.IllegalArgumentException: Payload may not be larger than 32767 bytes at net.minecraft.network.play.client.CPacketCustomPayload.(CPacketCustomPayload.java:28) ~[lh.class:?] at net.minecraftforge.fml.common.network.internal.FMLProxyPacket.toC17Packet(FMLProxyPacket.java:142) ~[FMLProxyPacket.class:?] at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.write(NetworkDispatcher.java:533) ~[NetworkDispatcher.class:?] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[netty-all-4.1.9.Final.jar:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:801) ~[netty-all-4.1.9.Final.jar:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:814) ~[netty-all-4.1.9.Final.jar:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) ~[netty-all-4.1.9.Final.jar:4.1.9.Final] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:831) ~[netty-all-4.1.9.Final.jar:4.1.9.Final] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1032) ~[netty-all-4.1.9.Final.jar:4.1.9.Final] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:296) ~[netty-all-4.1.9.Final.jar:4.1.9.Final] at net.minecraft.network.NetworkManager$4.run(NetworkManager.java:245) [gw$4.class:?] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [netty-all-4.1.9.Final.jar:4.1.9.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) [netty-all-4.1.9.Final.jar:4.1.9.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:442) [netty-all-4.1.9.Final.jar:4.1.9.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [netty-all-4.1.9.Final.jar:4.1.9.Final] at java.lang.Thread.run(Unknown Source) [?:1.8.0_172]
commented

weird as the last update was due to a bug with eio and i didnt get any warnings/errors...ill try and reproduce and get something fugured out

commented

I happen to be looking into this right now, and I found something very telling. In JEI.transferHandler, the recipeInputs compound seems to contain all allowed items for each input slot, which in my case includes hundreds of glass variants when autofilling the Quartz Glass recipe.

image

commented

yeah, i figured as much..ill just limit to the prioritized item (vanilla glass for for instance) before sending the packet..simple enough

commented

Interesting. I encountered the same issue when trying to transfer the Immersive Engineering treated planks recipe with planks and bucket of creosote if you need another example.

commented

Just an FYI it would appear that this mod is also causing a Payload issue when trying to set crafting patterns with Applied Energistics on certain items as well.

AppliedEnergistics/Applied-Energistics-2#3909

commented

I get it..please..let me fix it instead of interrupting me which makes this porocess slower..I am working on it

commented

It should be noted that within the scope of Applied Energistics, the Payload disconnect is isolated to only when trying to set recipes in the Pattern Terminal. When trying to craft items in the Crafting Terminal using the same method it client does not DC or have a Payload error.

commented

JEI really needs a way to just check if the recipe is using the OreDictionary so we can just get the first oredict entry...

commented

so.,.JEI has an internal method for such a thing :D It's not part of the API, but it works
mezz.jei.startup.StackHelper#getOreDictEquivalent \o/