-
Notifications
You must be signed in to change notification settings - Fork 44
Description
On a dedicated server, with this mod and AE2-UEL, if you configure an ME interface's slot to be >64, and you try to take out the stocked item, it will kick the player with the following error:
[Netty Server IO #2/ERROR] [FML]: NetworkDispatcher exception
io.netty.handler.codec.DecoderException: java.io.IOException: Packet 0/7 (CPacketClickWindow) was larger than I expected, found 1 bytes extra whilst reading packet 7
...
This issue is because both mods apply ASM from parts of StackUp, because of two things:
- Their implementations of increased stack sizes differ.
- AE2 does not patch Forge's
PacketUtil#writeItemStackFromClientToServer().
MUI replaces the stack count read/write from read/writeByte() to read/writeVarInt(), but AE2 uses a magic number as the byte and then read/writes an int following it. Because of this, the written packet from client will use MUI's impl, while the read packet from server will use AE2's impl, leading to a difference in expected vs actual packet size, causing the exception.
The solution would be to have AE2 patch PacketUtil#writeItemStackFromClientToServer(), and MUI to not apply their patch for PacketUtil once AE2 patches it.
Tested versions - AE2-UEL v0.56.7 and MUI v2.5.0-rc5