Nice plugin, but once installed, I couldn't get into the game, and the console display showed PacketEvents 2.0 failed to inject
I was in China so I couldn't go to Discord to get help
Thanks. We should encourage others to remain free (as in freedom) as well!
Version: 2.4.0
[12:09:15] [Netty Epoll Server IO #2/WARN]: [com.github.retrooper.packetevents.PacketEventsAPI] PacketEvents caught an unhandled exception while calling your listener.
java.lang.NullPointerException: null
at io.github.retrooper.packetevents.util.viaversion.ViaVersionAccessorImpl.getProtocolVersion(ViaVersionAccessorImpl.java:45) ~[?:?]
at io.github.retrooper.packetevents.util.viaversion.ViaVersionUtil.getProtocolVersion(ViaVersionUtil.java:66) ~[?:?]
at io.github.retrooper.packetevents.manager.InternalBukkitPacketListener.onPacketReceive(InternalBukkitPacketListener.java:29) ~[?:?]
at com.github.retrooper.packetevents.event.PacketReceiveEvent.call(PacketReceiveEvent.java:45) ~[?:?]
at com.github.retrooper.packetevents.event.EventManager.callEvent(EventManager.java:52) ~[?:?]
at com.github.retrooper.packetevents.util.PacketEventsImplHelper.handleServerBoundPacket(PacketEventsImplHelper.java:82) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.read(PacketEventsDecoder.java:56) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:63) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:40) ~[?:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:297) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:413) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at net.minecraft.server.v1_12_R1.LegacyPingHandler.channelRead(LegacyPingHandler.java:121) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:808) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) ~[server.jar:git-Paper-33d42c8e]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) ~[server.jar:git-Paper-33d42c8e]
at java.lang.Thread.run(Thread.java:851) [?:?]
[12:09:16] [Netty Epoll Server IO #3/WARN]: [com.github.retrooper.packetevents.PacketEventsAPI] PacketEvents caught an unhandled exception while calling your listener.
java.lang.NullPointerException: null
at io.github.retrooper.packetevents.util.viaversion.ViaVersionAccessorImpl.getProtocolVersion(ViaVersionAccessorImpl.java:45) ~[?:?]
at io.github.retrooper.packetevents.util.viaversion.ViaVersionUtil.getProtocolVersion(ViaVersionUtil.java:66) ~[?:?]
at io.github.retrooper.packetevents.manager.InternalBukkitPacketListener.onPacketReceive(InternalBukkitPacketListener.java:29) ~[?:?]
at com.github.retrooper.packetevents.event.PacketReceiveEvent.call(PacketReceiveEvent.java:45) ~[?:?]
at com.github.retrooper.packetevents.event.EventManager.callEvent(EventManager.java:52) ~[?:?]
at com.github.retrooper.packetevents.util.PacketEventsImplHelper.handleServerBoundPacket(PacketEventsImplHelper.java:82) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.read(PacketEventsDecoder.java:56) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:63) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:40) ~[?:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:297) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:413) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at net.minecraft.server.v1_12_R1.LegacyPingHandler.channelRead(LegacyPingHandler.java:121) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:808) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) ~[server.jar:git-Paper-33d42c8e]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) ~[server.jar:git-Paper-33d42c8e]
at java.lang.Thread.run(Thread.java:851) [?:?]
[12:09:17] [Netty Epoll Server IO #0/WARN]: [com.github.retrooper.packetevents.PacketEventsAPI] PacketEvents caught an unhandled exception while calling your listener.
java.lang.NullPointerException: null
at io.github.retrooper.packetevents.util.viaversion.ViaVersionAccessorImpl.getProtocolVersion(ViaVersionAccessorImpl.java:45) ~[?:?]
at io.github.retrooper.packetevents.util.viaversion.ViaVersionUtil.getProtocolVersion(ViaVersionUtil.java:66) ~[?:?]
at io.github.retrooper.packetevents.manager.InternalBukkitPacketListener.onPacketReceive(InternalBukkitPacketListener.java:29) ~[?:?]
at com.github.retrooper.packetevents.event.PacketReceiveEvent.call(PacketReceiveEvent.java:45) ~[?:?]
at com.github.retrooper.packetevents.event.EventManager.callEvent(EventManager.java:52) ~[?:?]
at com.github.retrooper.packetevents.util.PacketEventsImplHelper.handleServerBoundPacket(PacketEventsImplHelper.java:82) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.read(PacketEventsDecoder.java:56) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:63) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:40) ~[?:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:297) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:413) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at net.minecraft.server.v1_12_R1.LegacyPingHandler.channelRead(LegacyPingHandler.java:121) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:808) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) ~[server.jar:git-Paper-33d42c8e]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) ~[server.jar:git-Paper-33d42c8e]
at java.lang.Thread.run(Thread.java:851) [?:?]
[12:09:17] [Netty Epoll Server IO #1/WARN]: [com.github.retrooper.packetevents.PacketEventsAPI] PacketEvents caught an unhandled exception while calling your listener.
java.lang.NullPointerException: null
at io.github.retrooper.packetevents.util.viaversion.ViaVersionAccessorImpl.getProtocolVersion(ViaVersionAccessorImpl.java:45) ~[?:?]
at io.github.retrooper.packetevents.util.viaversion.ViaVersionUtil.getProtocolVersion(ViaVersionUtil.java:66) ~[?:?]
at io.github.retrooper.packetevents.manager.InternalBukkitPacketListener.onPacketReceive(InternalBukkitPacketListener.java:29) ~[?:?]
at com.github.retrooper.packetevents.event.PacketReceiveEvent.call(PacketReceiveEvent.java:45) ~[?:?]
at com.github.retrooper.packetevents.event.EventManager.callEvent(EventManager.java:52) ~[?:?]
at com.github.retrooper.packetevents.util.PacketEventsImplHelper.handleServerBoundPacket(PacketEventsImplHelper.java:82) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.read(PacketEventsDecoder.java:56) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:63) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:40) ~[?:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:297) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:413) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at net.minecraft.server.v1_12_R1.LegacyPingHandler.channelRead(LegacyPingHandler.java:121) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:808) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) ~[server.jar:git-Paper-33d42c8e]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) ~[server.jar:git-Paper-33d42c8e]
at java.lang.Thread.run(Thread.java:851) [?:?]
[12:09:19] [Netty Epoll Server IO #2/WARN]: [com.github.retrooper.packetevents.PacketEventsAPI] PacketEvents caught an unhandled exception while calling your listener.
java.lang.NullPointerException: null
at io.github.retrooper.packetevents.util.viaversion.ViaVersionAccessorImpl.getProtocolVersion(ViaVersionAccessorImpl.java:45) ~[?:?]
at io.github.retrooper.packetevents.util.viaversion.ViaVersionUtil.getProtocolVersion(ViaVersionUtil.java:66) ~[?:?]
at io.github.retrooper.packetevents.manager.InternalBukkitPacketListener.onPacketReceive(InternalBukkitPacketListener.java:29) ~[?:?]
at com.github.retrooper.packetevents.event.PacketReceiveEvent.call(PacketReceiveEvent.java:45) ~[?:?]
at com.github.retrooper.packetevents.event.EventManager.callEvent(EventManager.java:52) ~[?:?]
at com.github.retrooper.packetevents.util.PacketEventsImplHelper.handleServerBoundPacket(PacketEventsImplHelper.java:82) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.read(PacketEventsDecoder.java:56) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:63) ~[?:?]
at io.github.retrooper.packetevents.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:40) ~[?:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:297) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:413) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at net.minecraft.server.v1_12_R1.LegacyPingHandler.channelRead(LegacyPingHandler.java:121) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:808) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404) ~[server.jar:git-Paper-33d42c8e]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) ~[server.jar:git-Paper-33d42c8e]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) ~[server.jar:git-Paper-33d42c8e]
at java.lang.Thread.run(Thread.java:851) [?:?]
Please reach out in the Discord for a temporary resolution until the next release.
Version: 2.3.0
tHANK YOU SO MUCH congratulations you author of matrix ac start to do good impovements and get motivation because your plugin is so comfortable and nice and thnak you so much because u good developer i wish one million dollars and long life thank you so much bro good luck
The best Packet manipulation library you can find, easy to use packetwrappers with cross version support (1.7-1.20), very fast and has good support on discord definitely recommend
Great library with a great community! I have used other packet libraries before as well, but I must say that PacketEvents is just so much better than everything I have used before. It's fast, easy to understand, and just straight-up convenient. Their wrapper idea really helped me understand how packets work, and how they can be used. I would definitely recommend this to everyone!
Thanks for the positive review. Unfortunately your PR causes breaking changes which deterred me from merging it right away. We are still considering it and will hopefully find the best way to proceed.
Version: 2.2.1
Love it! Better than any other packet API by now. Support and documentation could be a bit improved but there is no better alternative.
After thoroughly testing all the features provided by PacketEvents over the course of a month, and comparing them with those of competitors, I must revise my previous assessment and award this software a well-deserved 5-star review.
Thanks to PacketEvents' API, I have seamlessly integrated networking features into the SystemInfo plugin. Remarkably, the library has had no adverse effects on server gameplay performance or quality.
Presently, ProtocolLib is dysfunctional, resulting in a cumbersome and outdated codebase within my plugin. In contrast, PacketEvents stands out as a reliable resource.
The only downside as of today is that it kinda lacks of documentation.
Updates and Development:
The resource seems to greatly benefit from a noticeable active community of contributors and developers. This overall grants the server owners a calmness of mind when updating into the latest versions, for they can rest assured of the software compatibility with the latests SpigotMC releases.
Different Approach:
Although the better performance of this approach compared to other projects remains to be unknown, the author does use a unique approach to read the server packets and provide them to developers through this API.
It might be the perfect solution for experimental environments.
Negative Aspects:
Lack of Proof for Efficiency Claims
The scarce introduction to this software written on this resource page claims to be fast and efficient, however I have not been able to find any data provided by the author to support this claim.
Lack of Documentation:
The project's code lacks proper comments, making it challenging for other developers to understand and navigate. The absence of Javadoc further compounds this issue, hindering the API's accessibility and ease of use. The same scarcity may be applied to the resource page, which is pretty blank when presented.
Incomplete Annotation and Safety Checks:
The inconsistency in the use of JetBrains @NotNull annotations and the scarcity of safety checks on passed parameters raise concerns about the API's reliability. The potential for breaking down with insufficient stacktrace information poses a significant risk.
-----------------------------
Extra Notice:
How can the developer obtain a full 5.0/5.0 EXTREME QUALITY rating?
+ Add full Javadoc
+ Improve resource page and graphics
+ Implement further checking and annotations for this library
+ Implement an annotation-based Listener
Updates and Development:
The resource seems to greatly benefit from a noticeable active community of contributors and developers. This overall grants the server owners a calmness of mind when updating into the latest versions, for they can rest assured of the software compatibility with the latests SpigotMC releases.
Different Approach:
Although the better performance of this approach compared to other projects remains to be unknown, the author does use a unique approach to read the server packets and provide them to developers through this API.
It might be the perfect solution for experimental environments.
Negative Aspects:
Lack of Proof for Efficiency Claims
The scarce introduction to this software written on this resource page claims to be fast and efficient, however I have not been able to find any data provided by the author to support this claim.
Lack of Documentation:
The project's code lacks proper comments, making it challenging for other developers to understand and navigate. The absence of Javadoc further compounds this issue, hindering the API's accessibility and ease of use.
Incomplete Annotation and Safety Checks:
The inconsistency in the use of JetBrains @NotNull annotations and the scarcity of safety checks on passed parameters raise concerns about the API's reliability. The potential for breaking down with insufficient stacktrace information poses a significant risk.
Metrics Data Management:
While PacketEvents utilizes bStats for metrics, the absence of a user-friendly option to individually disable metrics data is a notable drawback. Users may want to selectively opt out of data collection without disabling the entire service.
Sparse Resource Page:
The resource page falls short of expectations by lacking meaningful descriptions and explanations about the API's usage, content, and overall value. A more informative resource page is crucial for potential users to evaluate its suitability for their projects.
PacketEvents API 2.2.0 presents itself as a promising packet processing library with multi-version support, but its potential is marred by several drawbacks:
Lack of Proof for Efficiency Claims
The scarce text found on this resource page claim this software to be fast and efficient, however nowhere on this page or the GitHub does the author provide factual proof or hints to verify this.
There is no evidence to sustain that this software performs any better than competitors, and after some testing I verified this myself.
Lack of Documentation:
The project's code lacks proper comments, making it challenging for other developers to understand and navigate. The absence of Javadoc further compounds this issue, hindering the API's accessibility and ease of use.
Poorly Structured Examples:
While examples are crucial for developers to grasp the implementation, the current examples provided are poorly structured and displaced. This hampers the learning curve for those trying to utilize the API effectively.
Incomplete Annotation and Safety Checks:
The inconsistency in the use of JetBrains @NotNull annotations and the scarcity of safety checks on passed parameters raise concerns about the API's reliability. The potential for breaking down with insufficient stacktrace information poses a significant risk.
Metrics Data Management:
While PacketEvents utilizes bStats for metrics, the absence of a user-friendly option to individually disable metrics data is a notable drawback. Users may want to selectively opt out of data collection without disabling the entire service.
Sparse Resource Page:
The resource page falls short of expectations by lacking meaningful descriptions and explanations about the API's usage, content, and overall value. A more informative resource page is crucial for potential users to evaluate its suitability for their projects.
We already do, I just haven't pushed a new release for it. Tell the developer to contact me through Discord.
Version: 1.8.3
PacketEvents is an open-source Packet API. It has many cross-version packet-wrappers. You can process incoming and outgoing packets on the server. You can even send packets with our packet-wrappers. We are here to save you a ton of time.
super great plugin developer has much swag andd is very hot he get alot of females super segsy and dsuper cool hes gud at coding and plugin more amazing than ur moms booty
Amazing API, gets better and better every update. Extremely easy to use and the developer is actively willing to help and answer any questions and fix any issues. Definitely recommend!
The last time I reviewed PacketEvents, it was a bit buggy and inefficient. However, taking a look at 1.6.7 vs 1.2 (or something like that), the API has become my favorite packet api out there. It has so many new features like dynamic wrapper creation (being able to read packets directly and create wrappers while using them), protocollib support (it literally uses protocollib if its present to maintain support with other plugins that use protocollib, which is very good ;D), event system and more. It is also extremely fast and optimized and I myself have even ran extensive stress tests against it and it still ran great.
Making a review on this again, Still one of the best if not The best packet related Api on spigot! Highly recommended, The perfomance has also improved quite a lot and it's fairly easy to use!
Very easy to use, but when making anticheats the code isn't that clean if you don't make the packets call your own events. Friendly and helpful developer.
Thanks, bug requests, feature requests, let me know in my discord server.
Version: 1.3.2
I use this in my project called Luna Anticheat. I was looking for something that wasn't too complex syntax wise, and retrooper came to me and asked me to try out PacketEvents. I use it now and I'm very happy I did. If I could give this API 6 stars, I would.