1.18 support?
Spiderjockey02 opened this issue · comments
[21:55:41] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to HubBasics v6.11.9
java.lang.NullPointerException: Cannot invoke "java.lang.Boolean.booleanValue()" because the return value of "net.notfab.hubbasics.spigot.nms.nbt.NBTItem.hasKey(String)" is null
at net.notfab.hubbasics.spigot.listeners.v1_9.ItemListener.onRightClick(ItemListener.java:103) ~[HubBasics-Spigot.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor60.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:git-Paper-36]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_18_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:543) ~[paper-1.18.jar:git-Paper-36]
at org.bukkit.craftbukkit.v1_18_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:506) ~[paper-1.18.jar:git-Paper-36]
at org.bukkit.craftbukkit.v1_18_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:501) ~[paper-1.18.jar:git-Paper-36]
at org.bukkit.craftbukkit.v1_18_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:497) ~[paper-1.18.jar:git-Paper-36]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItem(ServerGamePacketListenerImpl.java:1806) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundUseItemPacket.handle(ServerboundUseItemPacket.java:28) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundUseItemPacket.a(ServerboundUseItemPacket.java:8) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.18.jar:git-Paper-36]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1413) ~[paper-1.18.jar:git-Paper-36]
at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:189) ~[paper-1.18.jar:git-Paper-36]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1391) ~[paper-1.18.jar:git-Paper-36]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1384) ~[paper-1.18.jar:git-Paper-36]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[?:?]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1362) ~[paper-1.18.jar:git-Paper-36]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1268) ~[paper-1.18.jar:git-Paper-36]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.18.jar:git-Paper-36]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Version: This server is running Paper version git-Paper-36 (MC: 1.18) (Implementing API version 1.18-R0.1-SNAPSHOT)
Also for some reason right-clicking the menu item causes you TP at the position u were looking at
Hello, I'll be checking this soon! 1.17 also still not supported. The TP thing is caused by World Edit
, right clicking the compass will teleport you if you have World Edit and the appropriate permissions.
Hello, I believe this should be fixed on the latest 6.11.10
version I released a few minutes ago. Let me know if it's fine!
Still the same error:
[16:45:46] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to HubBasics v6.11.10
java.lang.NullPointerException: Cannot invoke "java.lang.Boolean.booleanValue()" because the return value of "net.notfab.hubbasics.spigot.nms.nbt.NBTItem.hasKey(String)" is null
at net.notfab.hubbasics.spigot.listeners.v1_9.ItemListener.onRightClick(ItemListener.java:103) ~[HubBasics-Spigot.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor67.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:git-Paper-57]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-api-1.18-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_18_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:543) ~[paper-1.18.jar:git-Paper-57]
at org.bukkit.craftbukkit.v1_18_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:506) ~[paper-1.18.jar:git-Paper-57]
at org.bukkit.craftbukkit.v1_18_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:501) ~[paper-1.18.jar:git-Paper-57]
at org.bukkit.craftbukkit.v1_18_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:497) ~[paper-1.18.jar:git-Paper-57]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItem(ServerGamePacketListenerImpl.java:1872) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundUseItemPacket.handle(ServerboundUseItemPacket.java:28) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundUseItemPacket.a(ServerboundUseItemPacket.java:8) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.18.jar:git-Paper-57]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1413) ~[paper-1.18.jar:git-Paper-57]
at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:189) ~[paper-1.18.jar:git-Paper-57]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1391) ~[paper-1.18.jar:git-Paper-57]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1384) ~[paper-1.18.jar:git-Paper-57]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[?:?]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1362) ~[paper-1.18.jar:git-Paper-57]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1268) ~[paper-1.18.jar:git-Paper-57]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.18.jar:git-Paper-57]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Version: Paper version git-Paper-57 (MC: 1.18) (Implementing API version 1.18-R0.1-SNAPSHOT)
Hm, I'll take another look at this maybe today, it should be fixed though as I was unable to reproduce the issue yesterday after changing the nbt classes location.
I can send my list of plugins if u want, to see if it's conflicting anything?
Also for some reason right-clicking the menu item causes you TP at the position u were looking at
You can remove this by holding the compass and typing /none
in chat
Looks like Spigot stopped remapping Mojang classes in 1.17 and that completely broke NBT in 1.18, I thought 1.17 had finally added proper NBT support but looks like they just made it even harder to use in 1.18. Not sure why Spigot still doesn't have an abstracted API for adding NBT tags to items.
Anyhow, the way NBT works in 1.18 is EXTREMELY complex and requires me tinkering with the build system for remapping the classes myself and then back, this is too much work and would likely be a pain to make functional without crippling older versions.
With that said I've opted to use NBTAPI for 1.18 and above as a soft dependency. In 1.17 HubBasics will use net.minecraft.nbt
as available and below 1.17 it will just use the reflection method that has worked since the beginning of time. This means that for HubBasics to work properly in 1.18 (Item-related features) you MUST install NBTAPI.
HubBasics will throw a custom Unsupported Minecraft Version
error if you attempt to run on 1.18 without NBTAPI installed.
This should now be fixed in release 6.11.11
, don't forget to install NBTAPI.