-
Notifications
You must be signed in to change notification settings - Fork 40
Description
Describe the bug
Bug that kicks player from server while trying to enchant items or click while anvil/enchanting table is opened when there are custom enchantments present on server.
Problem doesn't appear on all enchantments, only on certain ones, don't see where the problem is as i have two enchantments where the only difference is the max_level
To Reproduce
Steps to reproduce the behavior:
- Install any datapack that contains custom enchantments (I've been using Dungeons and Taverns)
- Open enchanting table and try enchant few times.
- Click on the output item.
- Kicked from server and error appears
Expected behavior
Get an item enchanted without any problems
Screenshots
Error Logs
ThePitereq lost connection: Internal Exception: io.netty.handler.codec.DecoderException: Failed to decode packet 'serverbound/minecraft:container_click'
[Protocolize]: Unable to write item on protocol version 767
java.lang.RuntimeException: Unable to write EnchantmentsComponentImpl of item
at dev.simplix.protocolize.api.item.StructuredItemStackSerializer.writeComponent(StructuredItemStackSerializer.java:96) ~[?:?]
at dev.simplix.protocolize.api.item.StructuredItemStackSerializer.write(StructuredItemStackSerializer.java:73) ~[?:?]
at dev.simplix.protocolize.api.item.ItemStackSerializer.write(ItemStackSerializer.java:201) ~[?:?]
at dev.simplix.protocolize.data.packets.ClickWindow.write(ClickWindow.java:118) ~[?:?]
at dev.simplix.protocolize.velocity.packet.VelocityProtocolizePacket.encode(VelocityProtocolizePacket.java:78) ~[?:?]
at com.velocitypowered.proxy.protocol.netty.MinecraftEncoder.encode(MinecraftEncoder.java:54) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at com.velocitypowered.proxy.protocol.netty.MinecraftEncoder.encode(MinecraftEncoder.java:32) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:893) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:893) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:956) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:982) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:950) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1020) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:311) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at com.velocitypowered.proxy.connection.MinecraftConnection.write(MinecraftConnection.java:234) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at com.velocitypowered.proxy.connection.client.ClientPlaySessionHandler.handleGeneric(ClientPlaySessionHandler.java:460) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at com.velocitypowered.proxy.connection.MinecraftConnection.channelRead(MinecraftConnection.java:154) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:91) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.channelRead(MinecraftDecoder.java:60) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:509) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity.jar:3.3.0-SNAPSHOT (git-44b1e0c6-b412)]
at java.base/java.lang.Thread.run(Thread.java:840) [?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "dev.simplix.protocolize.data.Enchantment.name()" because the return value of "java.util.Map$Entry.getKey()" is null
at dev.simplix.protocolize.data.item.component.EnchantmentsComponentImpl.write(EnchantmentsComponentImpl.java:53) ~[?:?]
at dev.simplix.protocolize.api.item.StructuredItemStackSerializer.writeComponent(StructuredItemStackSerializer.java:94) ~[?:?]
... 65 more
Proxy environment
Velocity 3.3.0-SNAPSHOT (git-44b1e0c6-b412)
Plugins: jpremium, luckperms, packetevents, pl-hide-pro, plasmovoice, protocolize, serverlistplus
Minecraft versions used
Server: Paper version 1.21-108-master@73a863b
Client: Vanilla 1.21