BentoBoxWorld / BentoBox

Expandable Minecraft server plugin for island-type games like SkyBlock or AcidIsland.
https://bentobox.world
Eclipse Public License 2.0
333 stars 137 forks source link

broken panels <=1.20.4 #2459

Closed rudde0 closed 1 month ago

rudde0 commented 2 months ago

Expected behavior

I opened this issue but I think its related with BentoBox, I realised that /is top also isn't working (maybe more).

Observed/Actual behavior

It prints "An internal error occured while attempting to perform this command" error.

[00:30:01 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing 'is generator' in world.bentobox.bskyblock.BSkyBlock$1(island)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:178) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_20_R3.CraftServer.dispatchCommand(CraftServer.java:1013) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at org.bukkit.craftbukkit.v1_20_R3.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~[brigadier-1.2.9.jar:?]
        at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:30) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:13) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.commands.execution.UnboundEntryAction.lambda$bind$0(UnboundEntryAction.java:8) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.commands.execution.CommandQueueEntry.a(CommandQueueEntry.java:5) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.commands.execution.ExecutionContext.runCommandQueue(ExecutionContext.java:103) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.commands.Commands.executeCommandInContext(Commands.java:442) ~[?:?]
        at net.minecraft.commands.Commands.performCommand(Commands.java:344) ~[?:?]
        at net.minecraft.commands.Commands.performCommand(Commands.java:331) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2301) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$15(ServerGamePacketListenerImpl.java:2261) ~[?:?]
        at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1498) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:194) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:123) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1475) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1398) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:112) ~[?:?]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1590) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1246) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.NoSuchMethodError: 'void org.bukkit.inventory.meta.ItemMeta.setEnchantmentGlintOverride(java.lang.Boolean)'
        at world.bentobox.bentobox.api.panels.PanelItem.setGlow(PanelItem.java:135) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.bentobox.api.panels.PanelItem.<init>(PanelItem.java:59) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.bentobox.api.panels.builders.PanelItemBuilder.build(PanelItemBuilder.java:127) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.magiccobblestonegenerator.panels.CommonPanel.<init>(CommonPanel.java:73) ~[MagicCobblestoneGenerator-2.5.2-SNAPSHOT-LOCAL.jar:?]
        at world.bentobox.magiccobblestonegenerator.panels.player.GeneratorUserPanel.<init>(GeneratorUserPanel.java:51) ~[MagicCobblestoneGenerator-2.5.2-SNAPSHOT-LOCAL.jar:?]
        at world.bentobox.magiccobblestonegenerator.panels.player.GeneratorUserPanel.openPanel(GeneratorUserPanel.java:707) ~[MagicCobblestoneGenerator-2.5.2-SNAPSHOT-LOCAL.jar:?]
        at world.bentobox.magiccobblestonegenerator.commands.player.GeneratorPlayerCommand.execute(GeneratorPlayerCommand.java:84) ~[MagicCobblestoneGenerator-2.5.2-SNAPSHOT-LOCAL.jar:?]
        at world.bentobox.bentobox.api.commands.CompositeCommand.call(CompositeCommand.java:292) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.bentobox.api.commands.CompositeCommand.execute(CompositeCommand.java:260) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
        ... 28 more
[00:35:22 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing 'is top' in world.bentobox.bskyblock.BSkyBlock$1(island)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:178) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_20_R3.CraftServer.dispatchCommand(CraftServer.java:1013) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at org.bukkit.craftbukkit.v1_20_R3.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~[brigadier-1.2.9.jar:?]
        at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:30) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:13) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.commands.execution.UnboundEntryAction.lambda$bind$0(UnboundEntryAction.java:8) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.commands.execution.CommandQueueEntry.a(CommandQueueEntry.java:5) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.commands.execution.ExecutionContext.runCommandQueue(ExecutionContext.java:103) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.commands.Commands.executeCommandInContext(Commands.java:442) ~[?:?]
        at net.minecraft.commands.Commands.performCommand(Commands.java:344) ~[?:?]
        at net.minecraft.commands.Commands.performCommand(Commands.java:331) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2301) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$15(ServerGamePacketListenerImpl.java:2261) ~[?:?]
        at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1498) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:194) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:123) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1475) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1398) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:133) ~[?:?]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1376) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1265) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[purpur-1.20.4.jar:git-Purpur-2176]
        at java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.NoSuchMethodError: 'void org.bukkit.inventory.meta.ItemMeta.setEnchantmentGlintOverride(java.lang.Boolean)'
        at world.bentobox.bentobox.api.panels.PanelItem.setGlow(PanelItem.java:135) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.bentobox.api.panels.PanelItem.<init>(PanelItem.java:59) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.bentobox.api.panels.builders.PanelItemBuilder.build(PanelItemBuilder.java:127) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.level.panels.TopLevelPanel.createIslandIcon(TopLevelPanel.java:249) ~[Level-2.15.0-SNAPSHOT-LOCAL.jar:?]
        at world.bentobox.level.panels.TopLevelPanel.createPlayerButton(TopLevelPanel.java:142) ~[Level-2.15.0-SNAPSHOT-LOCAL.jar:?]
        at world.bentobox.bentobox.api.panels.TemplatedPanel.makeAddonButton(TemplatedPanel.java:295) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.bentobox.api.panels.TemplatedPanel.makeButton(TemplatedPanel.java:248) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.bentobox.api.panels.TemplatedPanel.processItemData(TemplatedPanel.java:126) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.bentobox.api.panels.TemplatedPanel.populateInventoryPanel(TemplatedPanel.java:81) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.bentobox.api.panels.TemplatedPanel.generatePanel(TemplatedPanel.java:61) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.bentobox.api.panels.TemplatedPanel.<init>(TemplatedPanel.java:52) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.bentobox.api.panels.builders.TemplatedPanelBuilder.build(TemplatedPanelBuilder.java:150) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.level.panels.TopLevelPanel.build(TopLevelPanel.java:82) ~[Level-2.15.0-SNAPSHOT-LOCAL.jar:?]
        at world.bentobox.level.panels.TopLevelPanel.openPanel(TopLevelPanel.java:416) ~[Level-2.15.0-SNAPSHOT-LOCAL.jar:?]
        at world.bentobox.level.commands.IslandTopCommand.execute(IslandTopCommand.java:29) ~[Level-2.15.0-SNAPSHOT-LOCAL.jar:?]
        at world.bentobox.bentobox.api.commands.CompositeCommand.call(CompositeCommand.java:292) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at world.bentobox.bentobox.api.commands.CompositeCommand.execute(CompositeCommand.java:260) ~[BentoBox-2.4.3-SNAPSHOT-b2680.jar:?]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
        ... 28 more

Steps/models to reproduce

Try execute /is generator / /is top etc. with latest BentoBox (server version is MC 1.20.4).

BentoBox version

00:34:24 INFO: Sunucu PAPER 1.20.4 sürümünde çalışıyor.

00:34:24 INFO: BentoBox sürümü: 2.4.3-SNAPSHOT-b2680 00:34:24 INFO: Database: MARIADB 00:34:24 INFO: Yüklenen oyun dünyaları: 00:34:24 INFO: skyblock (skyblock): Dünya 00:34:24 INFO: Yüklenen eklentiler: 00:34:24 INFO: Bank 1.7.1-SNAPSHOT-b87 00:34:24 INFO: Border 4.3.0-SNAPSHOT-b205 00:34:24 INFO: BSkyBlock 1.18.0-SNAPSHOT-b763 00:34:24 INFO: ExtraMobs 1.13 00:34:24 INFO: Level 2.15.0-SNAPSHOT-LOCAL 00:34:24 INFO: Likes 2.4.0-SNAPSHOT-b102 00:34:24 INFO: Limits 1.21.0 00:34:24 INFO: MagicCobblestoneGenerator 2.5.2-SNAPSHOT-LOCAL 00:34:24 INFO: Visit 1.7.0-SNAPSHOT 00:34:24 INFO: Warps 1.15.0-SNAPSHOT-b362

Plugin list

No response

Other

I think its related with https://github.com/BentoBoxWorld/BentoBox/commit/d704aa9c679da125da70f3ffb99ea8b38cc2e7fc

BONNe commented 2 months ago

Yeah, you need to use older bentobox version for 1.20.4

rudde0 commented 2 months ago

I'm aware of that but it isn't make sense that I need to modified(or old) version due to small things. Can't we add compatibility for older versions?

tastybento commented 1 month ago

This is fixed and tested.