ProtocolLib

3M Downloads

1.19.4 metadata packet broken

MelonHell opened this issue ยท 1 comments

commented
  • This issue is not solved in a development build

Minecraft: Paper 1.19.4 build 514
ProtocolLib 5.0.0-rc1

the first field of the Metadata packet is an Integer entity id and everything is fine with it
the second field in packet is List<SynchedEntityData.DataValue>
type info: https://nms.screamingsandals.org/1.19.4/net/minecraft/network/syncher/SynchedEntityData$DataValue.html

the classic way to get metadata container.getWatchableCollectionModifier() throws a similar stacktrace

java.lang.IllegalArgumentException: Unrecognized type class net.minecraft.network.syncher.DataWatcher$b
        at com.comphenix.protocol.wrappers.BukkitConverters$8.getSpecific(BukkitConverters.java:644) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.wrappers.BukkitConverters$8.getSpecific(BukkitConverters.java:631) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.wrappers.Converters$1.getSpecific(Converters.java:50) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.wrappers.BukkitConverters.getSpecificList(BukkitConverters.java:322) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.wrappers.BukkitConverters.access$000(BukkitConverters.java:92) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.wrappers.BukkitConverters$3.getSpecific(BukkitConverters.java:366) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.wrappers.BukkitConverters$3.getSpecific(BukkitConverters.java:363) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.wrappers.Converters$1.getSpecific(Converters.java:50) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.reflect.StructureModifier.readInternal(StructureModifier.java:301) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.reflect.StructureModifier.read(StructureModifier.java:251) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at ru.spliterash.townyserver.glow.listeners.GlowListener.onPacketSending(GlowListener.kt:34) ~[TownyServer-1.0-all.jar:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:219) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokeUnpackedPacketSending(SortedPacketListenerList.java:204) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:139) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.injector.PacketFilterManager.postPacketToListeners(PacketFilterManager.java:555) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:528) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.injector.netty.manager.NetworkManagerInjector.onPacketSending(NetworkManagerInjector.java:100) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.injector.netty.channel.NettyChannelInjector.processOutbound(NettyChannelInjector.java:566) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.injector.netty.channel.NettyChannelInjector$2.doProxyRunnable(NettyChannelInjector.java:467) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.injector.netty.channel.NettyEventLoopProxy.proxyRunnable(NettyEventLoopProxy.java:43) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at com.comphenix.protocol.injector.netty.channel.NettyEventLoopProxy.execute(NettyEventLoopProxy.java:252) ~[ProtocolLib-5.0.0-rc1.jar:?]
        at net.minecraft.network.Connection.sendPacket(Connection.java:437) ~[?:?]
        at net.minecraft.network.Connection.send(Connection.java:382) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:2159) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:2145) ~[?:?]
        at net.minecraft.server.level.ChunkMap$TrackedEntity.broadcast(ChunkMap.java:1575) ~[?:?]
        at net.minecraft.server.level.ServerEntity.broadcastAndSend(ServerEntity.java:421) ~[?:?]
        at net.minecraft.server.level.ServerEntity.sendDirtyEntityData(ServerEntity.java:400) ~[?:?]
        at net.minecraft.server.level.ServerEntity.sendChanges(ServerEntity.java:224) ~[?:?]
        at net.minecraft.server.level.ChunkMap.processTrackQueue(ChunkMap.java:1270) ~[paper-1.19.4.jar:git-Paper-514]
        at net.minecraft.server.level.ChunkMap.tick(ChunkMap.java:1281) ~[paper-1.19.4.jar:git-Paper-514]
        at net.minecraft.server.level.ServerChunkCache.tickChunks(ServerChunkCache.java:818) ~[?:?]
        at net.minecraft.server.level.ServerChunkCache.tick(ServerChunkCache.java:649) ~[?:?]
        at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:686) ~[?:?]
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1546) ~[paper-1.19.4.jar:git-Paper-514]
        at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:447) ~[paper-1.19.4.jar:git-Paper-514]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1397) ~[paper-1.19.4.jar:git-Paper-514]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1174) ~[paper-1.19.4.jar:git-Paper-514]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[paper-1.19.4.jar:git-Paper-514]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]

scrolling through the com.comphenix.protocol.utility.MinecraftReflection class, I did not find this class there, therefore, if I understood correctly, ProtocolLib does not know about this type

commented

container.getDataValueCollectionModifier()