EnchantPlus
EnchantPlus
Description
EnchantPlus allows you to enchant items more than one time with an enchantment table and it has various commands for admins or users to enchant every item manually with customisable level costs. Everything is customisable in the config and there are bypass permissions for all checks!
Features
- Enchant items more than one time smoothly with the enchantment table
- Enchant items manually with commands
- Highly customisable settings for the enchanting commands and the enhanced enchantment table
- Display a list of all enchantments or their descriptions
- Display all applicable enchantments of certain items
- Enchant items with enchantments up to the maximum level (32767)
Note: All listed features above are always referring to the newest version of EnchantPlus!
The multiple enchanting feature is currently bugged and it sometimes occurs that no enchantment offers show up even if there are still applicable enchantments. As a temporary fix you can repeatedly remove an item from the enchanting inventory and put it back in until the offers show up.
(This seems to be an issue of newer Minecraft/Spigot versions since it works perfectly fine on 1.12 for example)
Metrics
This plugin uses Metrics by BtoBastian to collect various data from servers.
If you don't want Metrics to collect your data you can disable it easily by setting enabled to false in the config file at plugins/bStats/
Commands & Permissions
Command | Description | Permission |
/plus add <name/id> <level/natural> | Adds an enchantment to the item in your hand | enchantplus.command.add |
/plus mighty <level/natural> [applicable] | Adds all existing enchantments to the item in your hand | enchantplus.command.mighty |
/plus remove <name/id> | Removes an enchantment from the item in your hand | enchantplus.command.remove |
/plus purify | Removes all enchantments from the item in your hand | enchantplus.command.purify |
/plus list | Shows a list of all enchantments and their respecting names and ids | enchantplus.command.list |
/plus description <name/id> | Shows an advanced description of an enchantment | enchantplus.command.description |
/plus applicable | Shows a list of enchantments that can be currently applied to the item in your hand | enchantplus.command.applicable |
/plus reload | Reloads the whole plugin | enchantplus.command.reload |
/plus help [page] | Shows the help pages | - |
- | All command permissions |
enchantplus.command.* |
- | Level limit check bypass permission | enchantplus.bypass.limit |
- | Conflicting enchantment check bypass permission | enchantplus.bypass.conflicting |
- | Inapplicable enchantment check bypass permission | enchantplus.bypass.inapplicable |
- | Item amount check bypass permission | enchantplus.bypass.amount |
- | Power source check bypass permission | enchantplus.bypass.power |
- | Level restriction check bypass permission | enchantplus.bypass.restriction |
- | Enchanting cost check bypass permission | enchantplus.bypass.cost |
- | All bypass permissions | enchantplus.bypass.* |
- | All plugin permissions | enchantplus.* |
Bugs & Suggestions
If you find any bugs or have any suggestions for this plugin don't hesitate and send me a message or post a comment down below! Alternatively you can use the DevBukkit issue tracker or the GitHub issue tracker.
@legoblock200
It's already released!
When is the next update coming out.
Thanks, it seems to be running fine.
@AreQPL
I've already worked out a fix, I'm currently adding some new features and release the new version today!
EDIT: New version has been uploaded!
Hi, please fix this console-spamming bug:
2013-08-01 03:14:08 [SEVERE] Could not pass event InventoryClickEvent to EnchantPlus v1.2.1 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:46) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463) at net.minecraft.server.v1_6_R2.PlayerConnection.a(PlayerConnection.java:1399) at net.minecraft.server.v1_6_R2.Packet102WindowClick.handle(SourceFile:31) at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:230) at net.minecraft.server.v1_6_R2.PlayerConnection.e(PlayerConnection.java:116) at net.minecraft.server.v1_6_R2.ServerConnection.b(SourceFile:37) at org.spigotmc.netty.NettyServerConnection.b(NettyServerConnection.java:125) at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:592) at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:239) at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:481) at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:413) at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582) Caused by: java.lang.ArrayIndexOutOfBoundsException
It seems to be related with Spigot & netty.
@ DarkBladee12
Fix errors !
This cost level base formula is confusing and getting on my nerves. Is there some way it can be explained so I know what "base" is. What is :"Level"? (since the word level seems to be applied to everything from xp to enchantment values to who knows what else.)
Also, how do you make it require an enchanting table? I don't want free enchantments on my server.
@Kolgrath
Ah, that's a very good idea, I haven't thought of something like this yet. This will be added next update.
Pliss fast correct error crash
[SEVERE] Could not pass event InventoryClickEvent to EnchantPlus v1.2.1
~~~~~
Feature requests:
1) Option to require an enchanting table to perform enchants
2) Option for nearby bookcases to limit enchant levels (ex. 15 bookcases required for max enchants, etc.)
@DarkBladee12
I think this is the full error:
[SEVERE] Could not pass event InventoryClickEvent to EnchantPlus v1.2.1
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:46)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463)
at net.minecraft.server.v1_6_R2.PlayerConnection.a(PlayerConnection.java:1399)
at net.minecraft.server.v1_6_R2.Packet102WindowClick.handle(SourceFile:31)
at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:230)
at net.minecraft.server.v1_6_R2.PlayerConnection.e(PlayerConnection.java:116)
at net.minecraft.server.v1_6_R2.ServerConnection.b(SourceFile:37)
at org.spigotmc.netty.NettyServerConnection.b(NettyServerConnection.java:125)
at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:592)
at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:239)
at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:481)
at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:413)
at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
at net.minecraft.server.v1_6_R2.InventorySubcontainer.getItem(InventorySubcontainer.java:34)
at org.bukkit.craftbukkit.v1_6_R2.inventory.CraftInventory.getItem(CraftInventory.java:49)
at com.DarkBlade12.EnchantPlus.Listener.AnvilListener.onInventoryClick(AnvilListener.java:33)
at sun.reflect.GeneratedMethodAccessor224.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
... 15 more
We love this plugin on our mcmmo world!
One feature request: Is there a way to disenchant all the enchantments on a single item with a one command? Would be great to be able to just do /ep disenchant for example and have all the XP Levels given to the user at once.
Each server 1.6.2 on the latest spigot throws these errors all the time during the 10 minutes can make up 100mb server log! Please fix it soon ...
does this work well together with the enchantmantAPI and enchantment pack?
@Swords761
But that's not the full error message, please post the full message so I can see what causes this error!
Help errors "InventoryClickEvent" !!!! (Laggs)
@DarkBladee12
I'm also getting spammed an "InventoryClickEvent" error in my console, and themrstamp's post looks to be the same error message.
@themrstamp
That's not the full error code, please copy the full error in your server.log and post it here!
at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:413)
at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)
Caused by: java.lang.ArrayIndexOutOfBoundsException
09:31:50 [SEVERE] Could not pass event InventoryClickEvent to EnchantPlus v1.2.1
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:46)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463)
at net.minecraft.server.v1_6_R2.PlayerConnection.a(PlayerConnection.java:1399)
at net.minecraft.server.v1_6_R2.Packet102WindowClick.handle(SourceFile:31)
at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:230)
at net.minecraft.server.v1_6_R2.PlayerConnection.e(PlayerConnection.java:116)
at net.minecraft.server.v1_6_R2.ServerConnection.b(SourceFile:37)
at org.spigotmc.netty.NettyServerConnection.b(NettyServerConnection.java:125)
at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:592)
at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:239)
at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:481)
at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:413)
at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)
Do you have any suggestions for an upcoming feature? Well one thing that I'd like to implement next version is the support for enchanted books, which are over the natural max level at the anvil ;)