dmulloy2 / ProtocolLib

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

left click to villager error #3039

Open Hushkisses opened 5 days ago

Hushkisses commented 5 days 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 18 hours 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 :)