EnchantmentAPI
Overview
EnchantmentAPI brings customization to enchantments. Change how common enchantments are, turn specific ones off, change the max levels, or create your own!
Requirements
Features
- Customize Vanilla enchantments
- Allow enchantments to be naturally obtained on normally unenchantable items (like steaks!)
- Use SkillAPI's skill editor to create your own enchantments
- Code your own custom skills using a simple API
- Allow enchantments to be merged above their normal max levels
- Reach enchantment levels not normally possible (custom enchantment level 5403? sure!)
- Control how many enchantments can be obtained on a single item
- View fancy graphs of enchantment probabilities in game!
- Start off with 50 custom enchantments by getting EnchantmentPack
More Details
For more information, view the wiki on GitHub
Support
I am not active on this site. For support, head over to the Spigot page.
Older Versions
Unforunately, to keep this project maintainable, versions of Bukkit/Spigot before 1.12 will not be supported. To use this plugin on those versions, use builds released before the recoded release.
@Undust4able
Alright, that is fixed in version 4.4 :) Just need to wait until its approved
@Undust4able
Thank you for letting me know, I will fix that now.
[BUG] When you are enchanting, (a placeholder book placed), and other person breaks table (or with worldedit, set 0 on table), table drops a book, called placeholder and the item in the lore (if you were enchantin wooden sword, lore has it). IT DROPS BOOK! Can you delete placeholders, or fix that bug asap? (delete placeholders plz)
Ohhhhhh, now I get it :P. It was my first "api" plugin, soooo... :P
@ehwllmac
You have to make sure that when your plugin loads EnchantmentAPI is loaded already. If your plugin doesn't load after EnchantAPI it will try to use classes which don't exist atm. Which is the error you have gotten "NoClassDefFound" = I couldn't find the class you wanted to use.
What you have to do is make sure that your plugin loads after EnchantAPI and to do this you add the following to your plugin.yml:
sorry, where it says EnchantP, it should be EnchantPlugin...
Hello, I am currently programming a plugin (My first that I hope will work :P) and it says this in the start up:
11:09:19 [SEVERE] Could not load 'plugins\Epic Enchants.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: com/rit/sucy/EnchantP at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:184) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugins(CraftServer.java:239) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.<init>(CraftServer.java:217) at net.minecraft.server.v1_5_R3.PlayerList.<init>(PlayerList.java:55) at net.minecraft.server.v1_5_R3.DedicatedPlayerList.<init>(SourceFile:11) at net.minecraft.server.v1_5_R3.DedicatedServer.init(DedicatedServer.java:106) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:382) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573) Caused by: java.lang.NoClassDefFoundError: com/rit/sucy/EnchantPlugin at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:173) ... 9 more Caused by: java.lang.ClassNotFoundException: com.rit.sucy.EnchantPlugin at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 25 more
@Lord_Eliphas
o.o I completely forgot to block right clicking, but at least in 4.1 its replaced and I will fix the backup before CB updates.
Yeah we had players sitting there farming books out of the anvil by right clicking on them >.>
I'm currently crunching tons of numbers in order to bring the API that much closer to vanilla results! Looking good so far :)
@jessefjxm
1. I can make the placeholder show the original name, so I'll add that.
2. Yes, glowing effects probably won't be added, at least until bukkit adds support for it
3. I can work on that, its a newly developed system and making it more customizable and robust is something that will develop over time
4. That hasn't been added although I could possibly add that it. Just please be patient. I'm fairly busy :\
Some problems/suggestions about v4.0:
1.The Placeholder can't show the original name of the item to be enchanted, hope this can be changed
2.Items with only custom enchantments aren't shining( I know this might be impossible to fix X_X)
3.Hope how unique names be generated can be customizable.(E.g. %prefix %suffix之%weaponname)
4.Hope there's a permission to control whether a player can use this advanced enchantment system or not( without this permission they'll face the original enchanting system)
@Eniripsa96
Is 4.0 available? I don't see a dev build option
@gameacid13
Yes, this was fixed in v4.0
clicking multiple times quickly in the enchantment table gives you a permanent placeholder book and removes your item.
@Eniripsa96
Check this maybe :
https://github.com/Bukkit/Bukkit/commit/cd0205e53eda66f6bcc6545c739d80f9089466d2
Xephi
@Xephi59
@xDGaHD
I thank you for letting me know and I found out the problems - the most difficult one to get around is that some click events don't fire
Important issue with Enchant Table method :
Take a 2+ stack of an item at cursor
Put only one of these item in the table with right-click
Put the stack in your inventory
Take the item in the table without enchanting
Duplication on the first stack :/
Edit: You can get the uggly book too with simply Shift + Clicking on the book in the enchant table "
Xephi
I'm experiencing a bug with the plugin where sometimes the enchantments will be duplicated over to another item, or the item will disappear. Other than that I love what the plugin can do :)
- Tom
@CoasterCrazy
I'll add in in the next version I upload (v2.8)