Elytrium / LimboHub

Get a virtual hub directly on Velocity proxy.
GNU Affero General Public License v3.0
32 stars 5 forks source link

Couldn't pass ProxyInitializeEvent to limbohub (limbohub из ветки 1.0.5 / limboapi из ветки 1.1.21) #18

Open yukisnowflake opened 9 months ago

yukisnowflake commented 9 months ago

Захотел протестировать хаб на Velocity, поставил плагин, а он начал выкидывать ошибки. Проблема причём проявляется не только на дев-билдах, но и на релизе.

Артифакт 1.0.5 скачивал отсюда: https://github.com/Elytrium/LimboHub/tree/1.0.5

[08:11:34 ERROR]: Couldn't pass ProxyInitializeEvent to limbohub
java.lang.NoClassDefFoundError: com/velocitypowered/proxy/protocol/packet/UpsertPlayerInfo$Action
    at net.elytrium.limbohub.LimboHub.lambda$reload$13(LimboHub.java:322) ~[?:?]
    at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
    at net.elytrium.limbohub.LimboHub.reload(LimboHub.java:321) ~[?:?]
    at net.elytrium.limbohub.LimboHub.onProxyInitialization(LimboHub.java:155) ~[?:?]
    at net.elytrium.limbohub.Lmbda$5.execute(Unknown Source) ~[?:?]
    at com.velocitypowered.proxy.event.UntargetedEventHandler$VoidHandler.lambda$buildHandler$0(UntargetedEventHandler.java:56) ~[velocity.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:597) ~[velocity.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:478) ~[velocity.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
    at java.lang.Thread.run(Thread.java:840) [?:?]
Caused by: java.lang.ClassNotFoundException: com.velocitypowered.proxy.protocol.packet.UpsertPlayerInfo$Action
    at com.velocitypowered.proxy.plugin.PluginClassLoader.loadClass0(PluginClassLoader.java:87) ~[velocity.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at com.velocitypowered.proxy.plugin.PluginClassLoader.loadClass(PluginClassLoader.java:64) ~[velocity.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
    ... 11 more

Не долго думая решился поискать новые билды для limboapi (до дев-билда с ветки 1.1.21 стоял билд 1.1.20 из релиза), нашёл-поставил-запустил, теперь выдаёт вот такие ошибки.

[08:20:07 ERROR]: Couldn't pass ProxyInitializeEvent to limbohub
net.elytrium.commons.utils.reflection.ReflectionException: An unexpected internal error was caught during the reflection operations.
    at net.elytrium.limboapi.thirdparty.fastprepare.PreparedPacketFactory.encodeId(PreparedPacketFactory.java:188) ~[?:?]
    at net.elytrium.limboapi.thirdparty.fastprepare.PreparedPacketFactory.encodeSingle(PreparedPacketFactory.java:243) ~[?:?]
    at net.elytrium.limboapi.thirdparty.fastprepare.PreparedPacketFactory.encodeSingle(PreparedPacketFactory.java:224) ~[?:?]
    at net.elytrium.limboapi.thirdparty.fastprepare.PreparedPacket.prepare(PreparedPacket.java:136) ~[?:?]
    at net.elytrium.limboapi.injection.packet.PreparedPacketImpl.prepare(PreparedPacketImpl.java:89) ~[?:?]
    at net.elytrium.limboapi.injection.packet.PreparedPacketImpl.prepare(PreparedPacketImpl.java:26) ~[?:?]
    at net.elytrium.limboapi.thirdparty.fastprepare.PreparedPacket.prepare(PreparedPacket.java:51) ~[?:?]
    at net.elytrium.limboapi.injection.packet.PreparedPacketImpl.prepare(PreparedPacketImpl.java:34) ~[?:?]
    at net.elytrium.limboapi.injection.packet.PreparedPacketImpl.prepare(PreparedPacketImpl.java:26) ~[?:?]
    at net.elytrium.limboapi.server.LimboImpl.createDelayedChunksPackets(LimboImpl.java:833) ~[?:?]
    at net.elytrium.limboapi.server.LimboImpl.refresh(LimboImpl.java:233) ~[?:?]
    at net.elytrium.limboapi.server.LimboImpl.<init>(LimboImpl.java:174) ~[?:?]
    at net.elytrium.limboapi.LimboAPI.createLimbo(LimboAPI.java:380) ~[?:?]
    at net.elytrium.limbohub.LimboHub.reload(LimboHub.java:343) ~[?:?]
    at net.elytrium.limbohub.LimboHub.onProxyInitialization(LimboHub.java:155) ~[?:?]
    at net.elytrium.limbohub.Lmbda$5.execute(Unknown Source) ~[?:?]
    at com.velocitypowered.proxy.event.UntargetedEventHandler$VoidHandler.lambda$buildHandler$0(UntargetedEventHandler.java:56) ~[velocity.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:597) ~[velocity.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:478) ~[velocity.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
    at java.lang.Thread.run(Thread.java:840) [?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Integer.intValue()" because the return value of "java.util.Map.get(Object)" is null
    at net.elytrium.limboapi.server.world.SimpleBlockEntity.getID(SimpleBlockEntity.java:54) ~[?:?]
    at net.elytrium.limboapi.server.world.SimpleBlockEntity.getID(SimpleBlockEntity.java:49) ~[?:?]
    at net.elytrium.limboapi.server.world.SimpleBlockEntity$Entry.getID(SimpleBlockEntity.java:137) ~[?:?]
    at net.elytrium.limboapi.protocol.packets.s2c.ChunkDataPacket.encode(ChunkDataPacket.java:166) ~[?:?]
    at net.elytrium.limboapi.thirdparty.fastprepare.PreparedPacketFactory.encodeId(PreparedPacketFactory.java:186) ~[?:?]
    ... 21 more

Билд Velocity сам по себе новый, обновлялся недавно, что делать не понимаю. Вполне возможно, что это я чего-то не так делаю, поэтому заранее прошу прощения, если очень сильно туплю.

UserNugget commented 9 months ago

Попробуй этот билд: https://github.com/Elytrium/LimboHub/actions/runs/7619977747

yukisnowflake commented 9 months ago

Попробуй этот билд: https://github.com/Elytrium/LimboHub/actions/runs/7619977747

Его я как раз таки и пробовал, почему указал на ветку 1.0.5