Repository navigation
ebp plugin v1.2.1 on purpur 1.21.8 enchantment error "PrepareAnvilEvent enchantment.getmaxlevel()" #59
Description
this may be version specific as ive tried the same plugin on purpur 1.21.11 and had no similar issue.
not sure of the enchants.
ALSO i do have EXCELLENT ENCHANTS PLUGIN as well side by side with it.
- Enchantbookplus v 1.2.1
- Excellentenchants v 5.2.1
- nightcore v 2.8.0
- anvilunlocker v 1.1.3 doubt its because of this plugin
side note i know night core and excellentenchants are old but they are hard to find a good match together so i gave up and used those
[22:38:31 ERROR]: Could not pass event PrepareAnvilEvent to EnchantBookPlus v1.2.1
java.lang.NullPointerException: Cannot invoke "org.bukkit.enchantments.Enchantment.getMaxLevel()" because the return value of "pro.cloudnode.smp.enchantbookplus.ConfigEnchantmentEntry.getEnchantment()" is null
at EnchantBookPlus-1.2.1.jar/pro.cloudnode.smp.enchantbookplus.ConfigEnchantmentEntry.getMaxLevel(ConfigEnchantmentEntry.java:50) ~[EnchantBookPlus-1.2.1.jar:?]
at EnchantBookPlus-1.2.1.jar/pro.cloudnode.smp.enchantbookplus.event.PrepareAnvil.onPrepareAnvil(PrepareAnvil.java:92) ~[EnchantBookPlus-1.2.1.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[purpur-api-1.21.8-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:71) ~[purpur-api-1.21.8-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[purpur-api-1.21.8-R0.1-SNAPSHOT.jar:?]
at org.bukkit.event.Event.callEvent(Event.java:46) ~[purpur-api-1.21.8-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareResultEvent(CraftEventFactory.java:1681) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.world.inventory.AnvilMenu.setItemName(AnvilMenu.java:407) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleRenameItem(ServerGamePacketListenerImpl.java:1111) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.network.protocol.game.ServerboundRenameItemPacket.handle(ServerboundRenameItemPacket.java:33) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.network.protocol.game.ServerboundRenameItemPacket.handle(ServerboundRenameItemPacket.java:8) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:29) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:155) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1486) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:176) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:129) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1466) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1460) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:139) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1417) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1425) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1302) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:313) ~[purpur-1.21.8.jar:1.21.8-2497-a49cdb9]
at java.base/java.lang.Thread.run(Thread.java:1474) ~[?:?]
Activity
usernamevalidation commentedon Jul 31, 2026
most likely just gonna remove the hook on my own since i dont need it but thats not a fix its just a compromise
usernamevalidation commentedon Aug 1, 2026
unfortunately i had spoken too soon there is no excellent enchants hook
which is why it may be returning null so i may find a way to fix it or look into it myself
usernamevalidation commentedon Aug 1, 2026
im not 100 percent sure if i fixed it but i added a compromise again
this time i added a config line and a way for it to only check vanilla enchants instead of any custom ones
gonna create a fork and pull request soon
"# Enable or disable processing of custom enchantments from other plugins (e.g., ExcellentEnchants)
If disabled, only vanilla Minecraft enchantments will be affected by the "ALL" rule
Set to true to allow custom enchantments, false to only use vanilla enchantments
allow-custom-enchantments: false"
more info will be in the pull soon