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
@OverridepublicvoidonPacketSend(PacketSendEventevent) {
if (event.getPacketType() == PacketType.Login.Server.LOGIN_SUCCESS) {
event.getUser().getConnectionState();
}
}
Expected behavior
Should return the current User connection state.
Additional context
[05:28:29 WARN]: [net.myentrainement.mycore.shaded.packetevents.api.PacketEventsAPI] PacketEvents caught an unhandled exception while calling your listener.
java.lang.IllegalArgumentException: Can't get common connection state: LOGIN != CONFIGURATION
at common-1.3.46-SNAPSHOT.jar/net.myentrainement.mycore.shaded.packetevents.api.protocol.player.User.getConnectionState(User.java:101) ~[common-1.3.46-SNAPSHOT.jar:?]
at common-1.3.46-SNAPSHOT.jar/net.myentrainement.mycore.listeners.packet.PlayerJoinQuit.onPacketSend(PlayerJoinQuit.java:49) ~[common-1.3.46-SNAPSHOT.jar:?]
at common-1.3.46-SNAPSHOT.jar/net.myentrainement.mycore.shaded.packetevents.api.event.PacketSendEvent.call(PacketSendEvent.java:51) ~[common-1.3.46-SNAPSHOT.jar:?]
at common-1.3.46-SNAPSHOT.jar/net.myentrainement.mycore.shaded.packetevents.api.event.EventManager.callEvent(EventManager.java:84) ~[common-1.3.46-SNAPSHOT.jar:?]
at common-1.3.46-SNAPSHOT.jar/net.myentrainement.mycore.shaded.packetevents.api.util.PacketEventsImplHelper.handleClientBoundPacket(PacketEventsImplHelper.java:61) ~[common-1.3.46-SNAPSHOT.jar:?]
at common-1.3.46-SNAPSHOT.jar/net.myentrainement.mycore.shaded.packetevents.impl.injector.handlers.PacketEventsEncoder.handleClientBoundPacket(PacketEventsEncoder.java:88) ~[common-1.3.46-SNAPSHOT.jar:?]
at common-1.3.46-SNAPSHOT.jar/net.myentrainement.mycore.shaded.packetevents.impl.injector.handlers.PacketEventsEncoder.encode(PacketEventsEncoder.java:73) ~[common-1.3.46-SNAPSHOT.jar:?]
at common-1.3.46-SNAPSHOT.jar/net.myentrainement.mycore.shaded.packetevents.impl.injector.handlers.PacketEventsEncoder.encode(PacketEventsEncoder.java:52) ~[common-1.3.46-SNAPSHOT.jar:?]
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:90) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at common-1.3.46-SNAPSHOT.jar/net.myentrainement.mycore.shaded.packetevents.impl.injector.handlers.PacketEventsEncoder.write(PacketEventsEncoder.java:107) ~[common-1.3.46-SNAPSHOT.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:893) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:113) ~[netty-codec-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:893) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.ChannelOutboundHandlerAdapter.write(ChannelOutboundHandlerAdapter.java:113) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at net.minecraft.network.Connection$2.write(Connection.java:728) ~[paper-1.21.4.jar:1.21.4-212-bb1beda]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:893) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:956) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:982) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:950) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:1000) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:974) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:305) ~[netty-transport-4.1.115.Final.jar:4.1.115.Final]
at net.minecraft.network.Connection.doSendPacket(Connection.java:492) ~[paper-1.21.4.jar:1.21.4-212-bb1beda]
at net.minecraft.network.Connection.lambda$sendPacket$13(Connection.java:479) ~[paper-1.21.4.jar:1.21.4-212-bb1beda]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.115.Final.jar:4.1.115.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.115.Final.jar:4.1.115.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[netty-common-4.1.115.Final.jar:4.1.115.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:405) ~[netty-transport-classes-epoll-4.1.115.Final.jar:4.1.115.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.115.Final.jar:4.1.115.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.115.Final.jar:4.1.115.Final]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
The text was updated successfully, but these errors were encountered:
In versions after 1.20.2 (only the server version is relevant here), the connection states may not always match between encoder and decoder, so User#getConnectionState may sometimes throw an exception
You can use either User#getDecoderState/User#getEncoderState or ProtocolPacketEvent#getConnectionState
This issue sadly can't be fixed because of how the minecraft protocol works since 1.20.2
I've added a javadoc comment in 91730fdb4693450f50dc8412673640f2773a45a0 which should make this more clear
Describe the bug
User#getConnectionState() is throwing an IAE.
Software brand
1.21.4-212-main@bb1beda
Plugins
Bukkit plugins (7):
How To Reproduce
Expected behavior
Should return the current User connection state.
Additional context
The text was updated successfully, but these errors were encountered: