Advancements earned by GeyserMC users fail to bridge
This error began flooding the console when someone joined the server using GeyserMC, generally around when they get an Advancement:
[22:06:34 ERROR]: [MatterBukkit] java.lang.ClassCastException: class net.minecraft.resources.MinecraftKey cannot be cast to class java.lang.Boolean (net.minecraft.resources.MinecraftKey is in unnamed module of loader java.net.URLClassLoader @421faab1; java.lang.Boolean is in module java.base of loader 'bootstrap')
java.lang.ClassCastException: class net.minecraft.resources.MinecraftKey cannot be cast to class java.lang.Boolean (net.minecraft.resources.MinecraftKey is in unnamed module of loader java.net.URLClassLoader @421faab1; java.lang.Boolean is in module java.base of loader 'bootstrap')
at com.selfcoders.matterbukkit.EventListener.onPlayerAdvancementDone(EventListener.java:98) ~[MatterBukkit.jar:?]
at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:40) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:git-Paper-527]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.19.4.jar:git-Paper-527]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[paper-1.19.4.jar:git-Paper-527]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.PlayerAdvancements.award(PlayerAdvancements.java:246) ~[?:?]
at net.minecraft.advancements.CriterionTrigger$Listener.run(CriterionTrigger.java:35) ~[?:?]
at net.minecraft.advancements.critereon.SimpleCriterionTrigger.trigger(SimpleCriterionTrigger.java:73) ~[?:?]
at net.minecraft.advancements.critereon.InventoryChangeTrigger.lambda$trigger$0(InventoryChangeTrigger.java:57) ~[?:?]
at net.minecraft.advancements.critereon.InventoryChangeTrigger.trigger(InventoryChangeTrigger.java:53) ~[?:?]
at net.minecraft.server.level.ServerPlayer$2.slotChanged(ServerPlayer.java:345) ~[?:?]
at net.minecraft.world.inventory.AbstractContainerMenu.triggerSlotListeners(AbstractContainerMenu.java:306) ~[?:?]
at net.minecraft.world.inventory.AbstractContainerMenu.broadcastFullState(AbstractContainerMenu.java:269) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:3268) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:58) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:23) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:51) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.19.4.jar:git-Paper-527]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1342) ~[paper-1.19.4.jar:git-Paper-527]
at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.19.4.jar:git-Paper-527]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1319) ~[paper-1.19.4.jar:git-Paper-527]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1312) ~[paper-1.19.4.jar:git-Paper-527]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1290) ~[paper-1.19.4.jar:git-Paper-527]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1178) ~[paper-1.19.4.jar:git-Paper-527]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[paper-1.19.4.jar:git-Paper-527]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Advancements they get are not bridged. Chat, join/leave, and deaths all work fine.
This may only be an issue for those who are joining on console via public nameservers such as GeyserConnect. I'm going to try and replicate this on my own time to figure out the cause. Until then, here's my latest.log.
Edited by Flit