The packet formatting "inventory_transaction" or "mob_equpment" is incorrect for the shield
When trying to interact with the shield (take it to inventory, take it in hands, etc.) an error occurs on the server, for example, such an error is taken from a server using Nukkit-MOT as a core. Below is the log of the error that occurred on the server. (Translated automatically!) [ERROR] Unable to decode packet java.lang.IndexOutOfBoundsException: readerIndex(10) + length(8) exceeds writerIndex(10): UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf(ridx: 10, widx: 10, cap: 10) at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1442) ~[Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.buffer.AbstractByteBuf.readLongLE(AbstractByteBuf.java:843) ~[Nukkit-MOT-SNAPSHOT.jar:?] at cn.nukkit.network.LittleEndianByteBufInputStream.readLong(LittleEndianByteBufInputStream.java:44) ~[Nukkit-MOT-SNAPSHOT.jar:?] at cn.nukkit.utils.BinaryStream.getSlotNew(BinaryStream.java:813) ~[Nukkit-MOT-SNAPSHOT.jar:?] at cn.nukkit.utils.BinaryStream.getSlot(BinaryStream.java:521) ~[Nukkit-MOT-SNAPSHOT.jar:?] at cn.nukkit.network.protocol.types.NetworkInventoryAction.read(NetworkInventoryAction.java:114) ~[Nukkit-MOT-SNAPSHOT.jar:?] at cn.nukkit.network.protocol.InventoryTransactionPacket.decode(InventoryTransactionPacket.java:149) ~[Nukkit-MOT-SNAPSHOT.jar:?] at cn.nukkit.network.Network.processBatch(Network.java:267) [Nukkit-MOT-SNAPSHOT.jar:?] at cn.nukkit.network.session.RakNetPlayerSession.channelRead0(RakNetPlayerSession.java:151) [Nukkit-MOT-SNAPSHOT.jar:?] at cn.nukkit.network.session.RakNetPlayerSession.channelRead0(RakNetPlayerSession.java:43) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [Nukkit-MOT-SNAPSHOT.jar:?] at org.cloudburstmc.netty.channel.raknet.RakChannelPipeline.lambda$onUnhandledInboundMessage$0(RakChannelPipeline.java:60) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [Nukkit-MOT-SNAPSHOT.jar:?] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [Nukkit-MOT-SNAPSHOT.jar:?] at java.lang.Thread.run(Thread.java:1447) [?:?]
Please provide code and steps to reproduce
A standard example with a proxy server via relay can be used to reproduce. To reproduce, it is enough to somehow interact with the shield, for example step 1: Open the creative inventory step 2: Open the "equipment" tab step 3: aim at the shield and click the mouse button.