BadlionClient / BadlionClientModAPI

Disable Badlion Client mods while Badlion Client users play on your server with this easy to use API.
MIT License
85 stars 25 forks source link

plugin doesnt work on 1.21 #43

Closed Budderman18 closed 3 months ago

Budderman18 commented 3 months ago

This stacktrace pops up when joining and no mods are blocked

[BadlionClientModAPI] Failed to send BLC mod packet java.lang.NullPointerException: Cannot invoke "java.lang.reflect.Constructor.newInstance(Object[])" because "this.packetPlayOutMinecraftKeyConstructor" is null at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.bukkitapi.BukkitPluginMessageSender.sendPluginMessagePacket(BukkitPluginMessageSender.java:222) ~[Badlion-ModApi-Bukkit-1.17.jar:?] at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.bukkitapi.AbstractBukkitPluginMessageSender.sendPluginMessage(AbstractBukkitPluginMessageSender.java:23) ~[Badlion-ModApi-Bukkit-1.17.jar:?] at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.modapicommon.AbstractPluginMessageSender.sendModData(AbstractPluginMessageSender.java:44) ~[Badlion-ModApi-Bukkit-1.17.jar:?] at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.bukkitapi.survival.SurvivalManager.sendData(SurvivalManager.java:107) ~[Badlion-ModApi-Bukkit-1.17.jar:?] at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.bukkitapi.survival.SurvivalManager.sendData(SurvivalManager.java:103) ~[Badlion-ModApi-Bukkit-1.17.jar:?] at Badlion-ModApi-Bukkit-1.17.jar/net.badlion.bukkitapi.listener.PlayerListener.onPlayerJoin(PlayerListener.java:41) ~[Badlion-ModApi-Bukkit-1.17.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor744.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:1.21-1-21c9a7c] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.21.jar:1.21-1-21c9a7c] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.21.jar:1.21-1-21c9a7c] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?] at net.minecraft.server.players.PlayerList.placeNewPlayer(PlayerList.java:347) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.server.network.ServerConfigurationPacketListenerImpl.handleConfigurationFinished(ServerConfigurationPacketListenerImpl.java:173) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.handle(ServerboundFinishConfigurationPacket.java:22) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.handle(ServerboundFinishConfigurationPacket.java:13) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:36) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1478) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1456) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1449) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1408) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1415) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1260) ~[paper-1.21.jar:1.21-1-21c9a7c] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:329) ~[paper-1.21.jar:1.21-1-21c9a7c] at java.base/java.lang.Thread.run(Thread.java:1570) ~[?:?]

Rigner commented 3 months ago

Thanks for the report! Indeed, Minecraft changed a lot of things in the last few snapshots regarding how ResourceLocation are allocated... I just made a local fix, gonna test it in a bit and publish a new version 😄

Rigner commented 3 months ago

Fixed in https://github.com/BadlionClient/BadlionClientModAPI/releases/tag/2.1.6.

I added a note to myself with a potential workaround that will fix the system for all future versions.