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) ~[?:?]
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.
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) ~[?:?]