retrooper / packetevents

PacketEvents is emerging as a strong contender in the realm of Minecraft packet processing libraries. Designed to simplify packet manipulation while delivering high performance, this powerful tool aims to demystify the complexities of projects utilizing packets.
GNU General Public License v3.0
513 stars 148 forks source link

Multi block change sending is broken #267

Closed MWHunter closed 2 years ago

MWHunter commented 2 years ago

[13:54:50 WARN]: Caused by: com.viaversion.viaversion.exception.InformativeException: Please post this error to https://github.com/ViaVersion/ViaVersion/issues and follow the issue template {Packet Type: MULTI_BLOCK_CHANGE, Type: BlockChangeRecord Array, Data: [Pair{Type|Integer, 20480}, Pair{Type|Integer, 9437188}], Source 0: com.viaversion.viaversion.protocols.protocol1_13to1_12_2.packets.WorldPackets$5 (Anonymous), Packet ID: 15} Actual Error: [13:54:50 WARN]: Caused by: java.lang.IndexOutOfBoundsException: readerIndex(170) + length(2) exceeds writerIndex(170): UnpooledUnsafeDirectByteBuf(ridx: 170, widx: 170, cap: 256) [13:54:50 WARN]: at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1175) [13:54:50 WARN]: at io.netty.buffer.AbstractByteBuf.readShort(AbstractByteBuf.java:589) [13:54:50 WARN]: at com.viaversion.viaversion.api.type.types.ShortType.readPrimitive(ShortType.java:36) [13:54:50 WARN]: at com.viaversion.viaversion.api.type.types.minecraft.BlockChangeRecordType.read(BlockChangeRecordType.java:38) [13:54:50 WARN]: at com.viaversion.viaversion.api.type.types.minecraft.BlockChangeRecordType.read(BlockChangeRecordType.java:30) [13:54:50 WARN]: at com.viaversion.viaversion.api.type.types.ArrayType.read(ArrayType.java:49) [13:54:50 WARN]: at com.viaversion.viaversion.api.type.types.ArrayType.read(ArrayType.java:30) [13:54:50 WARN]: at com.viaversion.viaversion.protocol.packet.PacketWrapperImpl.read(PacketWrapperImpl.java:135) [13:54:50 WARN]: at com.viaversion.viaversion.api.protocol.remapper.PacketRemapper.lambda$map$0(PacketRemapper.java:47) [13:54:50 WARN]: at com.viaversion.viaversion.api.protocol.remapper.PacketRemapper.remap(PacketRemapper.java:158) [13:54:50 WARN]: at com.viaversion.viaversion.api.protocol.AbstractProtocol.transform(AbstractProtocol.java:324) [13:54:50 WARN]: at com.viaversion.viaversion.protocol.packet.PacketWrapperImpl.apply(PacketWrapperImpl.java:371) [13:54:50 WARN]: at com.viaversion.viaversion.protocol.packet.PacketWrapperImpl.apply(PacketWrapperImpl.java:359) [13:54:50 WARN]: at com.viaversion.viaversion.protocol.packet.PacketWrapperImpl.apply(PacketWrapperImpl.java:46) [13:54:50 WARN]: at com.viaversion.viaversion.protocol.ProtocolPipelineImpl.transform(ProtocolPipelineImpl.java:118) [13:54:50 WARN]: at com.viaversion.viaversion.connection.UserConnectionImpl.transform(UserConnectionImpl.java:298) [13:54:50 WARN]: at com.viaversion.viaversion.connection.UserConnectionImpl.transformClientbound(UserConnectionImpl.java:277) [13:54:50 WARN]: at com.viaversion.viaversion.bukkit.handlers.BukkitEncodeHandler.transform(BukkitEncodeHandler.java:90) [13:54:50 WARN]: at com.viaversion.viaversion.bukkit.handlers.BukkitEncodeHandler.encode(BukkitEncodeHandler.java:83) [13:54:50 WARN]: at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) [13:54:50 WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [13:54:50 WARN]: at java.lang.reflect.Method.invoke(Method.java:498) [13:54:50 WARN]: at io.github.retrooper.packetevents.utils.dependencies.viaversion.CustomPipelineUtil.callEncode(CustomPipelineUtil.java:97) [13:54:50 WARN]: at io.github.retrooper.packetevents.handlers.modern.PacketEncoderModern.encode(PacketEncoderModern.java:113) [13:54:50 WARN]: at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107) [13:54:50 WARN]: at io.github.retrooper.packetevents.handlers.modern.PacketEncoderModern.writeMessage(PacketEncoderModern.java:55) [13:54:50 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [13:54:50 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [13:54:50 WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [13:54:50 WARN]: at java.lang.reflect.Method.invoke(Method.java:498) [13:54:50 WARN]: at io.github.retrooper.packetevents.manager.protocol.ProtocolManagerImpl.writePacket(ProtocolManagerImpl.java:121) [13:54:50 WARN]: at com.github.retrooper.packetevents.manager.protocol.ProtocolManager.writePacket(ProtocolManager.java:91) [13:54:50 WARN]: at com.github.retrooper.packetevents.protocol.player.User.writePacket(User.java:93) [13:54:50 WARN]: at ac.grim.grimac.events.packets.patch.ResyncWorldUtil.lambda$resyncPositions$1(ResyncWorldUtil.java:99) [13:54:50 WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59) [13:54:50 WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:352) [13:54:50 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:783) [13:54:50 WARN]: at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [13:54:50 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [13:54:50 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [13:54:50 WARN]: at java.lang.Thread.run(Thread.java:750)

retrooper commented 2 years ago

Info about the version of the server?

MWHunter commented 2 years ago

oh wait the entire packet is wrong on legacy versions, I'll try fixing it.