dsdd / EnchantmentsPlusMinus

Custom enchants for your Minecraft server
MIT License
3 stars 11 forks source link

[Another Bug] Armour right click equip event bug #60

Closed rackgaming closed 1 year ago

rackgaming commented 1 year ago

[12:53:39 ERROR]: Could not pass event InventoryClickEvent to EnchantmentsPlusMinus v1.9r-16 java.lang.NullPointerException: Cannot invoke "org.bukkit.inventory.meta.ItemMeta.getEnchantLevel(org.bukkit.enchantments.Enchantment)" because "itemMeta" is null at org.vivi.eps.visual.EnchantGUI.put(EnchantGUI.java:173) ~[Enchantments- (6).jar:?] at org.vivi.eps.visual.EnchantGUI.nextPage(EnchantGUI.java:158) ~[Enchantments- (6).jar:?] at org.vivi.eps.visual.EnchantGUI.onInventoryClick(EnchantGUI.java:261) ~[Enchantments- (6).jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor447.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:git-Paper-81] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:670) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:3053) ~[?:?] 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$1(PacketUtils.java:51) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.19.jar:git-Paper-81] 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:1359) ~[paper-1.19.jar:git-Paper-81] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:183) ~[paper-1.19.jar:git-Paper-81] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1336) ~[paper-1.19.jar:git-Paper-81] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1329) ~[paper-1.19.jar:git-Paper-81] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1307) ~[paper-1.19.jar:git-Paper-81] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1192) ~[paper-1.19.jar:git-Paper-81] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:303) ~[paper-1.19.jar:git-Paper-81] at java.lang.Thread.run(Thread.java:833) ~[?:?]

rackgaming commented 1 year ago

But this happens on armour that when on right click, the armour gets equipped

dsdd commented 1 year ago

im just gonna make it impossible to open gui with right click when holding armor

dsdd commented 1 year ago

probably fixed idk https://github.com/dsdd/EnchantmentsPlusMinus/releases/download/1.9r-16/Enchantments+-.jar :D

rackgaming commented 1 year ago

Yep every armour and weapon and tool are now disabled from right clicking.

rackgaming commented 1 year ago

But no the problem is not closed and it would be better to fix it because I like the right clicking.

dsdd commented 1 year ago

the problem happened in the first place due to the item disappearing from the player's hand (which is now in their armor equipment slot) and the plugin assumes that it is still there.. but it isnt, i will have to change this with your suggestion #58 anyways but for now if you want to enable the right-clicking you might need to disable equipping armor using right-click and removing armors from enchant-gui.disable-if-holding in config.yml