You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Not really, I just want to share some suggestions for improving Shading PacketEvents wiki page.
Describe the solution you'd like
I suggest removing "Step 3 - (Optional) Minimize PacketEvents" or giving a warning about usage of the mentioned minimizeJar option. It can break because some classes are loaded dynamically, and the plugin doesn't recognize that, see below for more context.
Add somewhere that there is an example available: https://github.com/retrooper/packetevents-example (a week old), however the example pom.xml uses Java 8, Spigot 1.17.1 and maven shade plugin 3.2.4. There should be a note stating that, it's better and more concise than having people look pom.xml themselves. Also, it should be stated that Java 21 (for 1.20.6+) is only supported by maven shade plugin 3.5.1 and up (I'm not sure for Java 17).
Describe alternatives you've considered to solve your solution without
us adding this as a feature?
I think this doesn't apply in this request
Additional context
When I built an uber jar with minimizeJar true, this exception hinted that this option could be breaking because of dynamically loading classes, the compiler thinks that a class is not used just because it's not directly referenced in the code:
[19:43:23] [Netty Server IO #2/WARN]: An exception 'java.lang.NoClassDefFoundError: dev/ribica/magic/packets/util/ExceptionUtil' [enable DEBUG level for full stacktrace] was thrown by a user handler's exceptionCaught() method while handling the following exception:
io.netty.handler.codec.EncoderException: java.lang.NoClassDefFoundError: dev/ribica/magic/packets/util/Vector3i
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:107) ~[netty-codec-4.1.97.Final.jar:4.1.97.Final]
at dev.ribica.magic.packetsio.injector.handlers.PacketEventsEncoder.write(PacketEventsEncoder.java:101) ~[?:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:113) ~[netty-codec-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113) ~[netty-codec-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:120) ~[netty-codec-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.ChannelOutboundHandlerAdapter.write(ChannelOutboundHandlerAdapter.java:113) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at net.minecraft.network.NetworkManager$2.write(NetworkManager.java:543) ~[spigot-1.20.6-R0.1-SNAPSHOT.jar:4168-Spigot-e2c1eee-2ea1e7a]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:940) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:966) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:934) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1020) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:311) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at com.comphenix.protocol.injector.netty.channel.NettyChannelProxy.writeAndFlush(NettyChannelProxy.java:227) ~[?:?]
at com.comphenix.protocol.injector.netty.channel.NettyChannelProxy.writeAndFlush(NettyChannelProxy.java:233) ~[?:?]
at net.minecraft.network.NetworkManager.c(NetworkManager.java:366) ~[spigot-1.20.6-R0.1-SNAPSHOT.jar:4168-Spigot-e2c1eee-2ea1e7a]
at net.minecraft.network.NetworkManager.lambda$sendPacket$12(NetworkManager.java:359) ~[spigot-1.20.6-R0.1-SNAPSHOT.jar:4168-Spigot-e2c1eee-2ea1e7a]
at com.comphenix.protocol.injector.netty.channel.NettyEventLoopProxy.lambda$proxyRunnable$2(NettyEventLoopProxy.java:48) ~[?:?]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.97.Final.jar:4.1.97.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.97.Final.jar:4.1.97.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.97.Final.jar:4.1.97.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.97.Final.jar:4.1.97.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.97.Final.jar:4.1.97.Final]
at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
Caused by: java.lang.NoClassDefFoundError: dev/ribica/magic/packets/util/Vector3i
at dev.ribica.magic.packets.wrapper.PacketWrapper.readBlockPosition(PacketWrapper.java:877) ~[?:?]
at dev.ribica.magic.packets.wrapper.PacketWrapper.readWorldBlockPosition(PacketWrapper.java:1069) ~[?:?]
at dev.ribica.magic.packets.wrapper.PacketWrapper.readOptional(PacketWrapper.java:1335) ~[?:?]
at dev.ribica.magic.packets.wrapper.play.server.WrapperPlayServerJoinGame.read(WrapperPlayServerJoinGame.java:200) ~[?:?]
at dev.ribica.magic.packets.wrapper.PacketWrapper.readEvent(PacketWrapper.java:244) ~[?:?]
at dev.ribica.magic.packets.wrapper.PacketWrapper.<init>(PacketWrapper.java:149) ~[?:?]
at dev.ribica.magic.packets.wrapper.PacketWrapper.<init>(PacketWrapper.java:139) ~[?:?]
at dev.ribica.magic.packets.wrapper.play.server.WrapperPlayServerJoinGame.<init>(WrapperPlayServerJoinGame.java:65) ~[?:?]
at dev.ribica.magic.packets.manager.InternalPacketListener.onPacketSend(InternalPacketListener.java:130) ~[?:?]
at dev.ribica.magic.packets.event.PacketSendEvent.call(PacketSendEvent.java:51) ~[?:?]
at dev.ribica.magic.packets.event.EventManager.callEvent(EventManager.java:52) ~[?:?]
at dev.ribica.magic.packets.util.PacketEventsImplHelper.handleClientBoundPacket(PacketEventsImplHelper.java:44) ~[?:?]
at dev.ribica.magic.packetsio.injector.handlers.PacketEventsEncoder.handleClientBoundPacket(PacketEventsEncoder.java:82) ~[?:?]
at dev.ribica.magic.packetsio.injector.handlers.PacketEventsEncoder.encode(PacketEventsEncoder.java:67) ~[?:?]
at dev.ribica.magic.packetsio.injector.handlers.PacketEventsEncoder.encode(PacketEventsEncoder.java:46) ~[?:?]
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:90) ~[netty-codec-4.1.97.Final.jar:4.1.97.Final]
... 40 more
Caused by: java.lang.ClassNotFoundException: dev.ribica.magic.packets.util.Vector3i
at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:160) ~[spigot-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:112) ~[spigot-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]
at dev.ribica.magic.packets.wrapper.PacketWrapper.readBlockPosition(PacketWrapper.java:877) ~[?:?]
at dev.ribica.magic.packets.wrapper.PacketWrapper.readWorldBlockPosition(PacketWrapper.java:1069) ~[?:?]
at dev.ribica.magic.packets.wrapper.PacketWrapper.readOptional(PacketWrapper.java:1335) ~[?:?]
at dev.ribica.magic.packets.wrapper.play.server.WrapperPlayServerJoinGame.read(WrapperPlayServerJoinGame.java:200) ~[?:?]
at dev.ribica.magic.packets.wrapper.PacketWrapper.readEvent(PacketWrapper.java:244) ~[?:?]
at dev.ribica.magic.packets.wrapper.PacketWrapper.<init>(PacketWrapper.java:149) ~[?:?]
at dev.ribica.magic.packets.wrapper.PacketWrapper.<init>(PacketWrapper.java:139) ~[?:?]
at dev.ribica.magic.packets.wrapper.play.server.WrapperPlayServerJoinGame.<init>(WrapperPlayServerJoinGame.java:65) ~[?:?]
at dev.ribica.magic.packets.manager.InternalPacketListener.onPacketSend(InternalPacketListener.java:130) ~[?:?]
at dev.ribica.magic.packets.event.PacketSendEvent.call(PacketSendEvent.java:51) ~[?:?]
at dev.ribica.magic.packets.event.EventManager.callEvent(EventManager.java:52) ~[?:?]
at dev.ribica.magic.packets.util.PacketEventsImplHelper.handleClientBoundPacket(PacketEventsImplHelper.java:44) ~[?:?]
at dev.ribica.magic.packetsio.injector.handlers.PacketEventsEncoder.handleClientBoundPacket(PacketEventsEncoder.java:82) ~[?:?]
at dev.ribica.magic.packetsio.injector.handlers.PacketEventsEncoder.encode(PacketEventsEncoder.java:67) ~[?:?]
at dev.ribica.magic.packetsio.injector.handlers.PacketEventsEncoder.encode(PacketEventsEncoder.java:46) ~[?:?]
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:90) ~[netty-codec-4.1.97.Final.jar:4.1.97.Final]
... 40 more
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
Not really, I just want to share some suggestions for improving Shading PacketEvents wiki page.
Describe the solution you'd like
Describe alternatives you've considered to solve your solution without
us adding this as a feature?
I think this doesn't apply in this request
Additional context
When I built an uber jar with minimizeJar true, this exception hinted that this option could be breaking because of dynamically loading classes, the compiler thinks that a class is not used just because it's not directly referenced in the code:
The text was updated successfully, but these errors were encountered: