Skip to content

ebp plugin v1.2.1 on purpur 1.21.8 enchantment error "PrepareAnvilEvent enchantment.getmaxlevel()" #59

Open

Description

@usernamevalidation

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

  1. usernamevalidation commented on Jul 31, 2026

    @usernamevalidation
    Author

    most likely just gonna remove the hook on my own since i dont need it but thats not a fix its just a compromise

  2. self-assigned this
    on Jul 31, 2026
  3. added theissue type on Jul 31, 2026
  4. usernamevalidation commented on Aug 1, 2026

    @usernamevalidation
    Author

    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

  5. usernamevalidation commented on Aug 1, 2026

    @usernamevalidation
    Author

    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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions