dmulloy2 / ProtocolLib

Provides read and write access to the Minecraft protocol with Bukkit.
GNU General Public License v2.0
1.04k stars 257 forks source link

left click to villager error #3039

Open Hushkisses opened 5 months ago

Hushkisses commented 5 months ago

I get an error when opening a villager transaction.

ProtocolLib v5.2.0

18:51:52 ERROR: [ItemsAdder] Unhandled exception occurred in onPacketSending(PacketEvent) for ItemsAdder java.lang.UnsupportedOperationException: com.google.gson.JsonSyntaxException: Expected id to be a string, was an array ([130...95]) at lonelibs.net.kyori.adventure.platform.bukkit.MinecraftComponentSerializer.serialize(MinecraftComponentSerializer.java:257) ~[LoneLibs.jar:?] at ia.nms.hH.hH.a(SourceFile:101) ~[ItemsAdder_3.6.2c.jar:?] at ia.m.hy.onPacketSending(SourceFile:172) ~[ItemsAdder_3.6.2c.jar:?] at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:219) ~[ProtocolLib .jar:?] at com.comphenix.protocol.injector.SortedPacketListenerList.invokeUnpackedPacketSending(SortedPacketListenerList.java:204) ~[ProtocolLib .jar:?] at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) ~[ProtocolLib .jar:?] at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:139) ~[ProtocolLib .jar:?] at com.comphenix.protocol.injector.PacketFilterManager.postPacketToListeners(PacketFilterManager.java:553) ~[ProtocolLib .jar:?] at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:526) ~[ProtocolLib .jar:?] at com.comphenix.protocol.injector.netty.manager.NetworkManagerInjector.onPacketSending(NetworkManagerInjector.java:100) ~[ProtocolLib .jar:?] at com.comphenix.protocol.injector.netty.channel.NettyChannelInjector.processOutbound(NettyChannelInjector.java:553) ~[ProtocolLib .jar:?] at com.comphenix.protocol.injector.netty.channel.NettyChannelInjector$2.doProxyRunnable(NettyChannelInjector.java:456) ~[ProtocolLib .jar:?] at com.comphenix.protocol.injector.netty.channel.NettyEventLoopProxy.proxyRunnable(NettyEventLoopProxy.java:43) ~[ProtocolLib .jar:?] at com.comphenix.protocol.injector.netty.channel.NettyEventLoopProxy.execute(NettyEventLoopProxy.java:252) ~[ProtocolLib .jar:?] at net.minecraft.network.Connection.sendPacket(Connection.java:449) ~[?:?] at net.minecraft.network.Connection.processQueue(Connection.java:564) ~[?:?] at net.minecraft.network.Connection.flushQueue(Connection.java:520) ~[?:?] at net.minecraft.network.Connection.send(Connection.java:411) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:2217) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.send(ServerGamePacketListenerImpl.java:2203) ~[?:?] at net.minecraft.server.level.ServerPlayer.openMenu(ServerPlayer.java:1594) ~[?:?] at net.minecraft.world.item.trading.Merchant.openTradingScreen(Merchant.java:41) ~[?:?] at net.minecraft.world.entity.npc.Villager.startTrading(Villager.java:351) ~[?:?] at net.minecraft.world.entity.npc.Villager.mobInteract(Villager.java:329) ~[?:?] at net.minecraft.world.entity.Mob.interact(Mob.java:1331) ~[?:?] at net.minecraft.world.entity.player.Player.interactOn(Player.java:1129) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl$4.performInteraction(ServerGamePacketListenerImpl.java:2876) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl$4.a(ServerGamePacketListenerImpl.java:2896) ~[?:?] at net.minecraft.network.protocol.game.ServerboundInteractPacket$InteractionAction.dispatch(ServerboundInteractPacket.java:131) ~[?:?] at net.minecraft.network.protocol.game.ServerboundInteractPacket.dispatch(ServerboundInteractPacket.java:80) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleInteract(ServerGamePacketListenerImpl.java:2837) ~[?:?] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:67) ~[?:?] at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:12) ~[?:?] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:51) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1338) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1315) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1308) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1286) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1174) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.20.1.jar:git-Paper-196] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: com.google.gson.JsonSyntaxException: Expected id to be a string, was an array ([130...95]) at net.minecraft.util.GsonHelper.convertToString(GsonHelper.java:94) ~[?:?] at net.minecraft.util.GsonHelper.getAsString(GsonHelper.java:100) ~[?:?] at net.minecraft.network.chat.HoverEvent$EntityTooltipInfo.create(HoverEvent.java:177) ~[?:?] at net.minecraft.network.chat.HoverEvent$Action.deserialize(HoverEvent.java:136) ~[?:?] at net.minecraft.network.chat.HoverEvent.deserialize(HoverEvent.java:80) ~[?:?] at net.minecraft.network.chat.Style$Serializer.getHoverEvent(Style.java:405) ~[?:?] at net.minecraft.network.chat.Style$Serializer.deserialize(Style.java:377) ~[?:?] at net.minecraft.network.chat.Style$Serializer.deserialize(Style.java:364) ~[?:?] at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:76) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:1214) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:1319) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:1290) ~[gson-2.10.jar:?] at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:179) ~[gson-2.10.jar:?] at net.minecraft.network.chat.Component$Serializer.deserialize(Component.java:361) ~[?:?] at net.minecraft.network.chat.Component$Serializer.deserialize(Component.java:222) ~[?:?] at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:76) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:1214) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:1319) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:1261) ~[gson-2.10.jar:?] at net.minecraft.network.chat.Component$Serializer.fromJson(Component.java:536) ~[?:?] at lonelibs.net.kyori.adventure.platform.bukkit.MinecraftComponentSerializer.serialize(MinecraftComponentSerializer.java:253) ~[LoneLibs.jar:?] ... 46 more

net.minecraft.network.protocol.game.PacketPlayOutOpenWindow@3bb05996[ a=25 b=net.minecraft.world.inventory.Containers@a3356ec c=translation{key='entity.minecraft.villager.fisherman', args=[]}[style={hoverEvent=HoverEvent{action=, value='net.minecraft.network.chat.ChatHoverable$b@6e3c9f3'},insertion=4d8c2982-a9a2-478b-9510-c4db1851ff73}]

derklaro commented 5 months ago

Please report this to ItemsAdder, due to the plugin being close-source there is no way for us to tell what is going on, and if this even is an issue caused by ProtocolLib. If it really is an issue with ProtocolLib, then the developer of ItemsAdder should open up a bug report, sharing the code he wrote, so that we can reproduce the issue and decide on the next steps to fix the issue :)