EnhancedEnchants
EnhancedEnchants
Combine enchantments on an anvil to increase their level (infinitely).
Costs and limitations are configurable.
Changelog
1.6
- You can change the messages that the plugin sends through the config;
1.5
- Swift sneak enchantment support (1.19);
1.4
- You can now disable merge types;
- You can now disable certain enchantments;
- Multiplier can be specified per enchant individually;
- Custom attributes are now preserved on merged items;
1.3
- Fixed permissions (they work);
- Autocomplete for commands;
- Lore is now preserved on items;
- Added a reload command;
- You can disable the "Too Expensive!" message through the config;
1.2
- You can now specify the maximum allowed level per enchant through the config;
- Fixed a bug where some items could receive improper enchantments;
1.1
- Added commands to change the multiplier and maximum repair cost;
- Players receive a message that tells them the cost of combining enchants when the anvil menu reads "Too Expensive!";
- Fixed a bug where renaming an item would allow you to combine enchantments past the maximum allowed repair cost;
Config
max_repair_cost
- The maximum level cost that is allowed to be spent combining enchants, before it says "Too Expensive!"
- Default: 50
multiplier
- The multiplier for cost increase per level of enhanced enchant.
- Making Unbreaking IV would cost <vanilla cost> + <multiplier> * 1
- Making Unbreaking V would cost <vanilla cost> + <multiplier> * 2
- and so on..
- Default: 10
too_expensive_message
- Should the plugin notify players when the client shows "Too Expensive!" when the maximum allowed cost is not exceeded.
- Default: true
enchantments (Contains all enchantments)
- multiplier (see above)
- limit (the maximum level for this enchant)
- disabled (if true, this enchant can't be obtained from an anvil)
Commands
/enhancedenchants maxrepaircost <number>
/enhancedenchants bookonbook <true/false>
/enhancedenchants bookonitem <true/false>
/enhancedenchants itemonitem <true/false>
/enhancedenchants reload
Permissions
enhancedenchants.use
- Able to combine enchants above the vanilla limit;
- Given to all by default;
enhancedenchants.admin
- Able to modify the cost settings using above mentioned commands;
- Given to operators by default;
Always improving
Please let me know if you find any issues with the plugin.
Suggestions are welcome, too.
HI
this plugin work wery good but there is a way to add like max cost? like prot 11+prot11=prot12 and 50 lvl cost. and prot12 +prot12=prot13 with 50lvl cost. and do limit like to expensive? sorry for my English.
In reply to clasher_gamer1:
If you want the levels to cost more, you should increase the multiplier.
How do I change the limit of a certain enchantment? Please help!
In reply to breadthatsgaming:
In the config. Read the description above...
In reply to Kars1090: sorry, guess I missed it lol
Hi, very interesting plugin, I had an error (I will paste it below).
It would be very interesting if you added the possibility to put a certain spell on a certain item, possibly limited in some way from the config, and with permissions.
Ex .: sharpness on pickaxe, looting on pickaxe, fire aspect on axe ...
Now, the error:
It appears when I try to do what I described above, that is to put looting on a pickaxe, I just put it in anvil and:
[15:10:40 ERROR]: Could not pass event PrepareAnvilEvent to EnhancedEnchants v1.2.2 java.lang.NullPointerException: null at nl.kars.listeners.AnvilListener.onAnvilEvent(AnvilListener.java:61) ~[?:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor22.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.3.jar:git-Paper-197] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.3.jar:git-Paper-197] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.3.jar:git-Paper-197] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.3.jar:git-Paper-197] at org.bukkit.event.Event.callEvent(Event.java:45) ~[patched_1.16.3.jar:git-Paper-197] at org.bukkit.craftbukkit.v1_16_R2.event.CraftEventFactory.callPrepareResultEvent(CraftEventFactory.java:1588) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.ContainerAnvilAbstract.a(ContainerAnvilAbstract.java:68) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.ContainerAnvilAbstract$1.update(ContainerAnvilAbstract.java:12) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.InventorySubcontainer.setItem(InventorySubcontainer.java:183) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.Slot.set(SourceFile:82) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.Container.a(Container.java:637) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.ContainerAnvilAbstract.shiftClick(ContainerAnvilAbstract.java:112) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.Container.b(Container.java:334) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.Container.a(Container.java:183) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.PlayerConnection.a(PlayerConnection.java:2435) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.PacketPlayInWindowClick.a(SourceFile:32) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.PacketPlayInWindowClick.a(SourceFile:10) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:23) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.TickTask.run(SourceFile:18) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.ba(MinecraftServer.java:1135) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.executeNext(MinecraftServer.java:1128) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.sleepForTick(MinecraftServer.java:1089) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:1003) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.3.jar:git-Paper-197] at java.lang.Thread.run(Unknown Source) [?:1.8.0_251] [15:10:40 ERROR]: Could not pass event PrepareAnvilEvent to EnhancedEnchants v1.2.2 java.lang.NullPointerException: null at nl.kars.listeners.AnvilListener.onAnvilEvent(AnvilListener.java:61) ~[?:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor22.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.3.jar:git-Paper-197] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.3.jar:git-Paper-197] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.3.jar:git-Paper-197] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.3.jar:git-Paper-197] at org.bukkit.event.Event.callEvent(Event.java:45) ~[patched_1.16.3.jar:git-Paper-197] at org.bukkit.craftbukkit.v1_16_R2.event.CraftEventFactory.callPrepareResultEvent(CraftEventFactory.java:1588) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.ContainerAnvilAbstract.a(ContainerAnvilAbstract.java:68) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.ContainerAnvilAbstract$1.update(ContainerAnvilAbstract.java:12) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.Slot.d(SourceFile:87) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.Slot.set(SourceFile:83) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.Container.a(Container.java:637) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.ContainerAnvilAbstract.shiftClick(ContainerAnvilAbstract.java:112) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.Container.b(Container.java:334) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.Container.a(Container.java:183) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.PlayerConnection.a(PlayerConnection.java:2435) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.PacketPlayInWindowClick.a(SourceFile:32) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.PacketPlayInWindowClick.a(SourceFile:10) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:23) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.TickTask.run(SourceFile:18) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.ba(MinecraftServer.java:1135) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.executeNext(MinecraftServer.java:1128) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.sleepForTick(MinecraftServer.java:1089) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:1003) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.3.jar:git-Paper-197] at java.lang.Thread.run(Unknown Source) [?:1.8.0_251] [15:10:40 ERROR]: Could not pass event PrepareAnvilEvent to EnhancedEnchants v1.2.2 java.lang.NullPointerException: null at nl.kars.listeners.AnvilListener.onAnvilEvent(AnvilListener.java:61) ~[?:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor22.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.3.jar:git-Paper-197] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.3.jar:git-Paper-197] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.3.jar:git-Paper-197] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.3.jar:git-Paper-197] at org.bukkit.event.Event.callEvent(Event.java:45) ~[patched_1.16.3.jar:git-Paper-197] at org.bukkit.craftbukkit.v1_16_R2.event.CraftEventFactory.callPrepareResultEvent(CraftEventFactory.java:1588) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.ContainerAnvilAbstract.a(ContainerAnvilAbstract.java:68) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.ContainerAnvilAbstract$1.update(ContainerAnvilAbstract.java:12) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.Slot.d(SourceFile:87) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.Container.a(Container.java:640) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.ContainerAnvilAbstract.shiftClick(ContainerAnvilAbstract.java:112) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.Container.b(Container.java:334) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.Container.a(Container.java:183) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.PlayerConnection.a(PlayerConnection.java:2435) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.PacketPlayInWindowClick.a(SourceFile:32) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.PacketPlayInWindowClick.a(SourceFile:10) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:23) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.TickTask.run(SourceFile:18) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.ba(MinecraftServer.java:1135) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.executeNext(MinecraftServer.java:1128) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.sleepForTick(MinecraftServer.java:1089) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:1003) ~[patched_1.16.3.jar:git-Paper-197] at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.3.jar:git-Paper-197] at java.lang.Thread.run(Unknown Source) [?:1.8.0_251]
Another problem:
"max_repair_cost:" not work, it's limited ... i have "too expensive" message on lvl 45, i changed max_repair_cost and nothing.
In reply to sebyhas:
The error you described doesn't happen for me.
As for the suggestion. Thank you; i will consider it.
The Too Expensive! message happens in survival above level 40 because of the MC client, but you can combine regardless. Look for the message in chat telling you what the cost is.
In reply to Kars1090:
Sorry, for my mistake, you are right, work to combine. (appears in the chat, you just have to read ... :')) )
sorry, i forgot to specify the version: Paper version git-Paper-197 (MC: 1.16.3) (Implementing API version 1.16.3-R0.1-SNAPSHOT)
I tryed now with: Paper version git-Paper-465 (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT)
[12:50:20 ERROR]: Could not pass event PrepareAnvilEvent to EnhancedEnchants v1.2.2
java.lang.NullPointerException: null
at nl.kars.listeners.AnvilListener.onAnvilEvent(AnvilListener.java:61) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor22.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Paper-465]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Paper-465]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Paper-465]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.5.jar:git-Paper-465]
at org.bukkit.event.Event.callEvent(Event.java:45) ~[patched_1.16.5.jar:git-Paper-465]
at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPrepareResultEvent(CraftEventFactory.java:1580) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.ContainerAnvilAbstract.a(ContainerAnvilAbstract.java:68) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.ContainerAnvilAbstract$1.update(ContainerAnvilAbstract.java:12) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.InventorySubcontainer.setItem(InventorySubcontainer.java:183) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.Slot.set(SourceFile:82) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.Container.a(Container.java:643) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.ContainerAnvilAbstract.shiftClick(ContainerAnvilAbstract.java:112) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.Container.b(Container.java:339) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.Container.a(Container.java:188) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:2548) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.PacketPlayInWindowClick.a(SourceFile:32) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.PacketPlayInWindowClick.a(SourceFile:10) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:23) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1133) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1126) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1087) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1001) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:174) ~[patched_1.16.5.jar:git-Paper-465]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_251]
[12:50:20 ERROR]: Could not pass event PrepareAnvilEvent to EnhancedEnchants v1.2.2
java.lang.NullPointerException: null
at nl.kars.listeners.AnvilListener.onAnvilEvent(AnvilListener.java:61) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor22.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Paper-465]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Paper-465]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Paper-465]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.5.jar:git-Paper-465]
at org.bukkit.event.Event.callEvent(Event.java:45) ~[patched_1.16.5.jar:git-Paper-465]
at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPrepareResultEvent(CraftEventFactory.java:1580) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.ContainerAnvilAbstract.a(ContainerAnvilAbstract.java:68) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.ContainerAnvilAbstract$1.update(ContainerAnvilAbstract.java:12) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.Slot.d(SourceFile:87) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.Slot.set(SourceFile:83) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.Container.a(Container.java:643) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.ContainerAnvilAbstract.shiftClick(ContainerAnvilAbstract.java:112) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.Container.b(Container.java:339) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.Container.a(Container.java:188) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:2548) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.PacketPlayInWindowClick.a(SourceFile:32) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.PacketPlayInWindowClick.a(SourceFile:10) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:23) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1133) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1126) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1087) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1001) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:174) ~[patched_1.16.5.jar:git-Paper-465]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_251]
[12:50:20 ERROR]: Could not pass event PrepareAnvilEvent to EnhancedEnchants v1.2.2
java.lang.NullPointerException: null
at nl.kars.listeners.AnvilListener.onAnvilEvent(AnvilListener.java:61) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor22.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Paper-465]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Paper-465]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Paper-465]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.5.jar:git-Paper-465]
at org.bukkit.event.Event.callEvent(Event.java:45) ~[patched_1.16.5.jar:git-Paper-465]
at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPrepareResultEvent(CraftEventFactory.java:1580) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.ContainerAnvilAbstract.a(ContainerAnvilAbstract.java:68) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.ContainerAnvilAbstract$1.update(ContainerAnvilAbstract.java:12) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.Slot.d(SourceFile:87) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.Container.a(Container.java:646) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.ContainerAnvilAbstract.shiftClick(ContainerAnvilAbstract.java:112) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.Container.b(Container.java:339) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.Container.a(Container.java:188) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:2548) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.PacketPlayInWindowClick.a(SourceFile:32) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.PacketPlayInWindowClick.a(SourceFile:10) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:23) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1133) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1126) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1087) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1001) ~[patched_1.16.5.jar:git-Paper-465]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:174) ~[patched_1.16.5.jar:git-Paper-465]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_251]
And in Spigot 1.16.1 not appear
which is the problem?
Why in paper appear this error, and in spigot not?
In reply to sebyhas:
Thank you for the bug report. This issue is resolved as of version 1.2.3;
In reply to Kars1090:
Thank you too :D
In reply to Kars1090:
I don't have the message in chat
I set enhancedenchants.use to false in LuckPerms because I want my users to have to complete a quest before they can enchant higher levels. However with this permissions disabled, and with verbose logging turned on in LP, the permission node is never triggered, and I can still use the higher enchant levels. Not what I need at all.
Plugin works perfectly for OPs but struggling to get it regular for common players. Would love for this to work as it's perfect for the job otherwise. I use the latest version of the plugin.
In reply to phicctv:
The plugin works for everyone (non-ops) for me. You probably have a permission plugin that interferes with it.
The permission is called enhancedenchants.use, if that helps.
So sorry for another one, but there seems to be another but with the new release 1.2.2When combining in an anvil, if the repair cost is greater than 39 (40?), the anvil just says the levels needed to repair is 39, and the combining only takes 39 levels from the player. However, the true repair cost is shown in chat.Seems to be conflicting with NotTooExpensive, problem solved
Just wanted to reiterate my appreciation for this plugin, and thanks in advance
Nice plugin!
But when i have pickaxe with efficiency 5 and unbreaking 3 and second pickaxe with efficiency 5 and fortune 3 that gives me efficiency 6 and unbreaking 4. fortune dissapears. pleasy fix it.
In reply to gametronic505:
Thank you for the bug report.
This issue is resolved as of version 1.2.1 (not version 1.2 yet)
does it work for 1.16.x?
In reply to joex92:
Yes
Hi! Great plugin, absolutely love it.
Unfortunately, a flaw that I've noticed is that it allows me to add certain enchants to wrong sets of gear. For example, I combined a book that had protection 4 and efficiency 4 with a chestplate that had protection 4 and unbreaking 3, and I got protection 5 and efficiency 4 on the chestplate. I don't think that a chestplate needs efficiency 4.
Regardless, thank you!