ProtocolLib

3M Downloads

ClassNotFoundException: com.comphenix.protocol.injector.server.TemporaryPlayer in Build #551

casperge opened this issue ยท 4 comments

commented

Error:
java.lang.NoClassDefFoundError: com/comphenix/protocol/injector/server/TemporaryPlayer at me.casperge.realisticseasons.event.ChunkPacketEventProtocolLib1_18_R2$1.onPacketSending(ChunkPacketEventProtocolLib1_18_R2.java:40) ~[?:?] at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) ~[?:?] at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) ~[?:?] at com.comphenix.protocol.injector.PacketFilterManager.postPacketToListeners(PacketFilterManager.java:558) ~[?:?] at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:532) ~[?:?] at com.comphenix.protocol.injector.netty.manager.NetworkManagerInjector.onPacketSending(NetworkManagerInjector.java:95) ~[?:?] at com.comphenix.protocol.injector.netty.channel.NettyChannelInjector.processOutbound(NettyChannelInjector.java:517) ~[?:?] at com.comphenix.protocol.injector.netty.channel.NettyChannelInjector.access$000(NettyChannelInjector.java:40) ~[?:?] at com.comphenix.protocol.injector.netty.channel.NettyChannelInjector$2.proxyRunnable(NettyChannelInjector.java:450) ~[?:?] at com.comphenix.protocol.injector.netty.channel.NettyEventLoopProxy.execute(NettyEventLoopProxy.java:220) ~[?:?] at net.minecraft.network.NetworkManager.b(NetworkManager.java:215) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.network.NetworkManager.a(NetworkManager.java:195) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1720) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1706) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.level.EntityPlayer.a(EntityPlayer.java:1938) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.level.PlayerChunkMap.a(PlayerChunkMap.java:1379) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.level.PlayerChunkMap.a(PlayerChunkMap.java:961) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.level.PlayerChunkMap.a(PlayerChunkMap.java:1131) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.level.PlayerChunkMap.a(PlayerChunkMap.java:1276) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.level.ChunkProviderServer.b(ChunkProviderServer.java:556) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.level.WorldServer$a.e(WorldServer.java:1887) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.level.WorldServer$a.b(WorldServer.java:1) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.world.level.entity.PersistentEntitySectionManager.e(PersistentEntitySectionManager.java:146) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.world.level.entity.PersistentEntitySectionManager.a(PersistentEntitySectionManager.java:109) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.world.level.entity.PersistentEntitySectionManager.a(PersistentEntitySectionManager.java:90) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.level.WorldServer.e(WorldServer.java:986) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.level.WorldServer.c(WorldServer.java:970) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.players.PlayerList.a(PlayerList.java:315) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.network.LoginListener.a(LoginListener.java:193) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.network.LoginListener.d(LoginListener.java:179) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.network.LoginListener.c(LoginListener.java:74) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.network.NetworkManager.a(NetworkManager.java:258) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.network.ServerConnection.c(ServerConnection.java:172) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1360) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:429) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1244) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1053) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:306) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3445-Spigot-fb0dd5f-05a38da] at java.lang.Thread.run(Thread.java:833) [?:?] Caused by: java.lang.ClassNotFoundException: com.comphenix.protocol.injector.server.TemporaryPlayer ... 39 more

To Reproduce
Steps to reproduce the behavior:

  • Install ProtocolLib v5.0.0-SNAPSHOT-b551
  • Install any plugin interacting with TemporaryPlayer, it will error.

Version Info
ProtocolLib Dump
Timestamp: 03/13/22 17:01:21

ProtocolLib Version: ProtocolLib v5.0.0-SNAPSHOT-b551
Bukkit Version: 1.18.2-R0.1-SNAPSHOT
Server Version: 3445-Spigot-fb0dd5f-05a38da (MC: 1.18.2)
Java Version: 17.0.1

ProtocolLib: com.comphenix.protocol.ProtocolLib@7c52038f[
statistics=com.comphenix.protocol.metrics.Statistics@2db659fb
backgroundCompiler=com.comphenix.protocol.reflect.compiler.BackgroundCompiler@317908f9
packetTask=2
tickCounter=120
configExpectedMod=1
updater=com.comphenix.protocol.updater.SpigotUpdater@479eda78
redirectHandler=com.comphenix.protocol.ProtocolLib$2@2bbce77f
commandProtocol=com.comphenix.protocol.CommandProtocol@34da1a72
commandPacket=com.comphenix.protocol.CommandPacket@4d1de2d0
commandFilter=com.comphenix.protocol.CommandFilter@7ce1ac11
packetLogging=com.comphenix.protocol.PacketLogging@30aa3bed
skipDisable=false
isEnabled=true
loader=org.bukkit.plugin.java.JavaPluginLoader@5447ae00
server=CraftServer{serverName=CraftBukkit,serverVersion=3445-Spigot-fb0dd5f-05a38da,minecraftVersion=1.18.2}
file=plugins\ProtocolLib (2).jar
description=org.bukkit.plugin.PluginDescriptionFile@79e66c2
dataFolder=plugins\ProtocolLib
classLoader=org.bukkit.plugin.java.PluginClassLoader@6b20192e
naggable=true
newConfig=YamlConfiguration[path='', root='YamlConfiguration']
configFile=plugins\ProtocolLib\config.yml
logger=org.bukkit.plugin.PluginLogger@f54c5e0
]
Manager: com.comphenix.protocol.injector.PacketFilterManager@f53ce2d[
plugin=ProtocolLib v5.0.0-SNAPSHOT-b551
server=CraftServer{serverName=CraftBukkit,serverVersion=3445-Spigot-fb0dd5f-05a38da,minecraftVersion=1.18.2}
reporter=com.comphenix.protocol.ProtocolLib$1@7b0f0173
minecraftVersion=(MC: 1.18.2)
asyncFilterManager=com.comphenix.protocol.async.AsyncFilterManager@4fb538a5
pluginVerifier=com.comphenix.protocol.injector.PluginVerifier@66e79f76
inboundListeners=com.comphenix.protocol.injector.SortedPacketListenerList@77d40721
outboundListeners=com.comphenix.protocol.injector.SortedPacketListenerList@74d38431
registeredListeners=[PacketAdapter[plugin=RealisticSeasons, sending=ListeningWhitelist[priority=NORMAL, packets=[MAP_CHUNK[class=ClientboundLevelChunkWithLightPacket, id=34]], gamephase=PLAYING, options=[]], receiving=EMPTY_WHITELIST]]
packetInjector=com.comphenix.protocol.injector.netty.manager.NetworkManagerPacketInjector@12c5fa1e
playerInjectionHandler=com.comphenix.protocol.injector.netty.manager.NetworkManagerPlayerInjector@4803db1f
networkManagerInjector=com.comphenix.protocol.injector.netty.manager.NetworkManagerInjector@1fb93031
debug=false
closed=false
injected=true
]

Listeners:
me.casperge.realisticseasons.event.ChunkPacketEventProtocolLib1_18_R2$1@58c81ede[
plugin=RealisticSeasons v7.32
connectionSide=SERVER_SIDE
receivingWhitelist=EMPTY_WHITELIST
sendingWhitelist=ListeningWhitelist[priority=NORMAL, packets=[MAP_CHUNK[class=ClientboundLevelChunkWithLightPacket, id=34]], gamephase=PLAYING, options=[]]
]

Plugins Using ProtocolLib:
RealisticSeasons by []

commented

TemporaryPlayer was never meant to be a public-facing API. RealisticSeasons needs to update their plugin

commented

This issue seems to also be occurring with CombatLogX

commented

I remember implementing an instanceof TemporaryPlayer check (in RealisticSeasons) because packet listeners would sometimes pass an instance of it and it would result in errors. I assume this isn't an issue anymore so I removed the code.

commented

The player shouldn't be temporary anymore after he started logging in... ๐Ÿค” If it is still temporary this is most likely a bug