EasyEnchant
EasyEnchant
EasyEnchant is a complete overhaul of the current enchanting method, using commands to get accurate enchantments while also allowing for server owners to completely control how much the enchantments cost (using a multiplier and adder) and each enchantments maximum level. This also allows for users to add enchantments to their already enchanted tools, weapons and armor.
Works well with EnchantMore
NOTE: When updating to v1.2 let a new config generate!!! IMPORTANT
ANOTHER NOTE SINCE PEOPLE DON'T READ: READ THE CONFIG PROPERLY
Servers using EasyEnchant
- BigDogsPvP: mc.bigdogspvp.com:25641
- MC Legends Realm: mc.legends-realm.com
- BoarderLine: play.blcraft.net
- SemiCraft: 80.222.151.230
- Land Of Ch'bey: landofchbey.com
- damNation: damNation.eu
- Xazier Prison: 69.122.231.55
More will be added to this list as I find them.
Requirements
- Vault (Only if you choose to use money as currency)
Commands
- /ee
- /ee list
- /ee combos
- /ee exceptions
- /ee comboinfo (combo)
- /ee combo (combo)
- /ee (enchantment) (level)
- /ee cost (enchantment) (level)
- /ee remove (enchantment)
- /ee plugininfo
- /ee (page number)
Permission Nodes
- easyenchant.use
- easyenchant.notable
- easyenchant.nocost
- easyenchant.combo.(combo-name) ie. easyenchant.example
Video Demo
http://www.youtube.com/watch?v=wUzMq8XhEsc
Combo Format
example: cost: 15 enchantments: protection_environmental:5&protection_fire:3&oxygen:2
How it works:
- Click on an enchantment table
- Use /ee (or /easyenchant or /enchant) to bring up a list of help commands
- Use /ee (enchantment) (level)
- If it passes all the checks (ie. level <= maxlevel, (playerLevel - cost) >= 0, etc) the item is enchanted and the player looses the amount of levels.
- When finished click on the table again or walk away from the table
Pictures:
Features:
- Modifiable alias list
- Permission Nodes
- Combinations (User modifiable)
- Conflict Check
- Extremely configurable (maxLevel/Level costs per enchantment)
- Easy to use (simple drag and drop)
- Very compatible with EnchantMore
- MaxEnchantmentStack allowing for owners to control how many enchantments people can put on certain types of items
- Exception list to add non-standard enchanting
- Command to show exceptions for the item in the players hand
- Original enchantment method can still be used
- Choice of using Levels or Money as currency
- Can remove certain enchantments from an item
To-Do for later versions
- Spout interface
- Incorporate Bookshelves
- All ideas are on extreme hold, due to University
- More ideas (?)
Like what I do? Want to support me and my projects? A donation goes a long way for a simple developer like myself!
@pyrotech1620
I have heard of this problem before. It turned out to be a problem with the Exp Economy plugin. I dont know what exactly but there is no delay between EE updating the player info. It is done before the enchantment is even given to the item.
Hope you find a solution with ExconXp.
@Laserhog
Hey man.. Great plugin but I am getting something weird going on.. I am using Vault with ExconXP.. When using EE it will correctly remove the exp needed for the enchant but if I log out or use another plugin that uses exp it resets back.. For example.. I had 100 exp levels.. used EE to enchant a tool.. Went down to 56 exp levels.. I logged out.. Logged back in and was back at 100 exp levels.. Any thoughts on what could be doing this? Is there a delay between when EE updates the user info? Any help would be great!
EDIT: Actually looking on the EconXP there is someone else having the issue.. I posted there as well so it might not be EE that is the problem..
@Matthiaswagg
Crap, just noticed all of them have double 'protection_environmental'.
Will update the plugin hopefully soon with the adjustments.
K! Thanks, it fixed it. One question, and a few pointers on that list.
Question: Is there supposed to be a list with the leggings exceptions too? Or is that supposed to be left out?
Pointer1: That list says boot instead of boots. If someone uses that, change it!
Pointer2: On sword, instead of saying:
sword:
protection_environmental,protection_fire it says
sword:
protection_environmental,protection_environmental and the rest of the exceptions
Just pointing those out, thanks tons!!!
So, the fixed exceptions list (I think) would be:
Exception:
axe: protection_environmental,protection_environmental,protection_explosions,protection_fall,protection_projectile,oxygen,water_worker,damage_all,damage_undead,knockback,fire_aspect,loot_bonus_mobs,dig_speed,silk_touch,durability,loot_bonus_blocks,arrow_damage,arrow_fire,arrow_infinite,arrow_knockback
boots: protection_environmental,protection_environmental,protection_explosions,protection_fall,protection_projectile,oxygen,water_worker,damage_all,damage_undead,knockback,fire_aspect,loot_bonus_mobs,dig_speed,silk_touch,durability,loot_bonus_blocks,arrow_damage,arrow_fire,arrow_infinite,arrow_knockback
bow: protection_environmental,protection_environmental,protection_explosions,protection_fall,protection_projectile,oxygen,water_worker,damage_all,damage_undead,knockback,fire_aspect,loot_bonus_mobs,dig_speed,silk_touch,durability,loot_bonus_blocks,arrow_damage,arrow_fire,arrow_infinite,arrow_knockback
chestplate: protection_environmental,protection_environmental,protection_explosions,protection_fall,protection_projectile,oxygen,water_worker,damage_all,damage_undead,knockback,fire_aspect,loot_bonus_mobs,dig_speed,silk_touch,durability,loot_bonus_blocks,arrow_damage,arrow_fire,arrow_infinite,arrow_knockback
fishing_rod: protection_environmental,protection_environmental,protection_explosions,protection_fall,protection_projectile,oxygen,water_worker,damage_all,damage_undead,knockback,fire_aspect,loot_bonus_mobs,dig_speed,silk_touch,durability,loot_bonus_blocks,arrow_damage,arrow_fire,arrow_infinite,arrow_knockback
flint_and_steel: protection_environmental,protection_environmental,protection_explosions,protection_fall,protection_projectile,oxygen,water_worker,damage_all,damage_undead,knockback,fire_aspect,loot_bonus_mobs,dig_speed,silk_touch,durability,loot_bonus_blocks,arrow_damage,arrow_fire,arrow_infinite,arrow_knockback
helmet: protection_environmental,protection_environmental,protection_explosions,protection_fall,protection_projectile,oxygen,water_worker,damage_all,damage_undead,knockback,fire_aspect,loot_bonus_mobs,dig_speed,silk_touch,durability,loot_bonus_blocks,arrow_damage,arrow_fire,arrow_infinite,arrow_knockback
hoe: protection_environmental,protection_environmental,protection_explosions,protection_fall,protection_projectile,oxygen,water_worker,damage_all,damage_undead,knockback,fire_aspect,loot_bonus_mobs,dig_speed,silk_touch,durability,loot_bonus_blocks,arrow_damage,arrow_fire,arrow_infinite,arrow_knockback
leggings:
protection_environmental,protection_environmental,protection_explosions,protection_fall,protection_projectile,oxygen,water_worker,damage_all,damage_undead,knockback,fire_aspect,loot_bonus_mobs,dig_speed,silk_touch,durability,loot_bonus_blocks,arrow_damage,arrow_fire,arrow_infinite,arrow_knockback
pic: protection_environmental,protection_environmental,protection_explosions,protection_fall,protection_projectile,oxygen,water_worker,damage_all,damage_undead,knockback,fire_aspect,loot_bonus_mobs,dig_speed,silk_touch,durability,loot_bonus_blocks,arrow_damage,arrow_fire,arrow_infinite,arrow_knockback
shears: protection_environmental,protection_environmental,protection_explosions,protection_fall,protection_projectile,oxygen,water_worker,damage_all,damage_undead,knockback,fire_aspect,loot_bonus_mobs,dig_speed,silk_touch,durability,loot_bonus_blocks,arrow_damage,arrow_fire,arrow_infinite,arrow_knockback
spade: protection_environmental,protection_environmental,protection_explosions,protection_fall,protection_projectile,oxygen,water_worker,damage_all,damage_undead,knockback,fire_aspect,loot_bonus_mobs,dig_speed,silk_touch,durability,loot_bonus_blocks,arrow_damage,arrow_fire,arrow_infinite,arrow_knockback
sword: protection_environmental,protection_fire,protection_explosions,protection_fall,protection_projectile,oxygen,water_worker,damage_all,damage_undead,knockback,fire_aspect,loot_bonus_mobs,dig_speed,silk_touch,durability,loot_bonus_blocks,arrow_damage,arrow_fire,arrow_infinite,arrow_knockback
thanks!
@Matthiaswagg
Replace your exceptions with this. Simply put, i have added all enchantments to each item type.
@Matthiaswagg
You need to add 'arrow_knockback' to the exceptions list for sword. Same with any of the other problems.
I'm having a problem with EasyEnchant. I am using it with EnchantMore:
Punch (arrow_knockback) doesn't work for anything. When I try to use it on a sword, I write in (after punching the enchantment table) /ee punch 1
It sends back: [Easy Enchant]: Item cannot be enchanted with arrow_knockback. I tried this with the chestplate, boots, everything. Punch doesn't work. I've tried to edit the config, but I can't seem to figure out the problem. Here is my config right now:
EasyEnchant Configuration
How cost multiplier/adder work
Cost = (level x CM) + CA
So if a player said [/ee protection 4]
The cost would be = (4 x 6) + 2 = 26
If the cost turns out less than 1 it defaults to 0 (free)
If the Max Level is less than or equal to 0 the enchantment cannot be used
Combinations
Levels can be set higher than the set maxLevel
Enchantments cannot be conflicting (Check the wiki for conflicting enchantments and the items they can be used on)
Enchantments must be proper (look below for all the enchantemt names)
Put the name of all combos made in the 'ComboList' so the command may show them
Players must have the permission node of the combo to use it eg. easyenchant.example
MaxEnchantmentStack
Determines how many enchantments may be stacked on an item
Misc is simply items that don't fall under the other 4 categories
Exceptions
This list shows items that cannot normally be enchanted or cannot be enchanted with
the shown enchantment.
To add an item and enchantments for this item to the list follow the current layout
General items (ie. axe, shovel, etc) can be used and include all variations
Pickaxe is called 'pic' instead to reduce conflict with 'axe'
Exceptions still follow the pricing and maxLevel of enchantments as per normalThis was done to incorporate another plugin 'EnchantMore', look it up ;D
Combination:
armor:
cost: 15
enchantments: protection_environmental:3&protection_explosions:3&oxygen:2
sword:
cost: 10
enchantments: damage_all:4&protection_explosions:2&arrow_knockback:2
ComboList: armor, sword
MaxEnchantmentStack:
sword: 2
armor: 2
tool: 3
bow: 2
misc: 2
Exception:
axe: arrow_fire,arrow_damage
boot: arrow_fire,arrow_damage,arrow_knockback
bow: water_worker,damage_arthropods,dig_speed,protection_fall,fire_aspect,knockback,loot_bonus_mobs,oxygen,damage_all,silk_touch,damage_undead
chestplate: arrow_infinite,knockback
fishing_rod: dig_speed,fire_aspect,arrow_fire,loot_bonus_blocks,loot_bonus_mobs,silk_touch,damage_undead
flint_and_steel: water_worker,dig_speed,fire_aspect,protection_fire,oxygen,damage_all,damage_undead
helmet: fire_aspect
hoe: water_worker,damage_arthropods,dig_speed,loot_bonus_blocks,arrow_damage,oxygen,silk_touch
pic: arrow_fire,loot_bonus_mobs,arrow_damage
shears: damage_arthropods,loot_bonus_blocks,loot_bonus_mobs,arrow_damage,silk_touch,damage_undead
spade: arrow_fire,arrow_damage
sword: protection_fire,arrow_fire,arrow_damage,protection_environmental
protection_environmental:
Max Level: 4
Cost Multiplier: 6
Cost Adder: 2
protection_fire:
Max Level: 4
Cost Multiplier: 6
Cost Adder: 2
protection_explosions:
Max Level: 4
Cost Multiplier: 6
Cost Adder: 2
protection_fall:
Max Level: 4
Cost Multiplier: 6
Cost Adder: 3
protection_projectile:
Max Level: 4
Cost Multiplier: 6
Cost Adder: 2
oxygen:
Max Level: 3
Cost Multiplier: 8
Cost Adder: 3
water_worker:
Max Level: 1
Cost Multiplier: 9
Cost Adder: 3
damage_all:
Max Level: 5
Cost Multiplier: 7
Cost Adder: -3
damage_undead:
Max Level: 5
Cost Multiplier: 7
Cost Adder: -3
damage_arthropods:
Max Level: 5
Cost Multiplier: 7
Cost Adder: -3
knockback:
Max Level: 2
Cost Multiplier: 6
Cost Adder: 3
fire_aspect:
Max Level: 2
Cost Multiplier: 6
Cost Adder: 3
loot_bonus_mobs:
Max Level: 3
Cost Multiplier: 7
Cost Adder: 3
dig_speed:
Max Level: 5
Cost Multiplier: 4
Cost Adder: 2
silk_touch:
Max Level: 1
Cost Multiplier: 12
Cost Adder: 4
durability:
Max Level: 3
Cost Multiplier: 5
Cost Adder: 3
loot_bonus_blocks:
Max Level: 3
Cost Multiplier: 8
Cost Adder: 4
arrow_damage:
Max Level: 5
Cost Multiplier: 8
Cost Adder: 4
arrow_fire:
Max Level: 1
Cost Multiplier: 18
Cost Adder: 4
arrow_infinite:
Max Level: 1
Cost Multiplier: 18
Cost Adder: 4
arrow_knockback:
Max Level: 2
Cost Multiplier: 10
Cost Adder: 4
Another thing that happens with all my configs, for all plugins, thought I might ask, is that instead of being nice and neat like it looks up there, (I use notepad on a windows) it rounds all around, and makes it really hard to read and see the config. So it wraps around and is horizantal.
Also, I tested alot of other enchantments added by EnchantMore, and here is the list of ones (that I tested, not all of the ones that don't work for me). To every single one of these, it would say: [EasyEnchant]: Item cannot be enchanted with enchantment_name. Here is the list:
FireWalker
(FeatherFallingX I didn't understand, but I couldn't properly test it as I didn't understand)
Hover Jump
Witch's Broom
Reflect arrows
brass knuckles
reflect damage
rocketlaunch pants
tackle
surface
mine ore vein
shoot fireball
launch victim
return when dropped in lava
pickpocket
knock out of hand
banhammer
capture
invisibility
All those didn't work. If it isn't too much trouble, though it might be, if you know a way to fix this, could you reply with a config that would fix everything as well as the norm reply?
Thanks anyway, for tons of great plugins
Matthias
@Laserhog
Looking forward to continue working with you (by using this plugin). :)
Wow, 10k downloads. Major milestone for me!
Thank you all who use and love my plugin. I haven't been that active with developing new features for it recently but hopefully the new Minecraft API will be coming soon and i will be able to properly recode and more easily add features im wanting to add.
@Laserhog
Strange. I give my group the easyenchant.* perm and it works fine, but inheritance doesn't work. But I can give easyenchant.use to inherited groups with no problems. Oh well, I've got it working now. Thanks for the help. :)
@disciple218
Well all i know is i didn't add anything of the sort to my plugin so it is probably some feature in PEX. Therefore, if that feature isn't working, PEX is the place to bring it up.
@Laserhog
Well, giving a user easyenchant.* gives them permission to use EE, and removing it denys them access. How do you explain that?
@disciple218
There is no permission in EE called "easyenchant.*"
I'm having a problem with EE perms and PEX. It would seem EasyEnchant perms aren't being applied to inherited groups. For example: I add easyenchant.* to the Black_Belt group. The Moderator group inherits from Supervisor, which inherits from Black_Belt. No EE perms.
@ZeratulsDownfall
I believe that if you make a combo with the enchantments in it (ie. Protection V and Fire Protection V) then so long as the item can actually be enchanted with them (so is an armor piece) then both enchantments will be put on the item.
This would need to be confirmed however.
@WickyServer
I see how you mean and im sorry but i dont think i will do this. I already get so many people asking how to properly configure it this would drive people crazy. lol. Possibly when i pick this up again (most likely when a new MC version comes out and/or when i have a break from uni) i will think of a better way to do this.
Hi,
I really like this plugin, gives enchanting a solid structure instead of total randomness. As such, people in my server are obsessed with enchants. I decided to get EnchantMore as well, to get some more variation in the enchants.
However, with the current setup, I cannot make the enchants available to the public, as it works like:
Infinity costs 60 levels for a bow. But, due to the way it works, making the exception for the chestplate would make it: Godmode via chestplate for 60 levels..
Same goes for a lot of others, like Fire aspect with explosive arrows, costing only a few levels because it can be Fire Aspect level 1.
Thus, my request is, not sure if anyone else asked or if its easy to do.. Make enchantment costs per tool, this way there is a lot more configuration, but it adds a lot more flexability. I think, having separate configuration per tool would work, just have it default to the global costs if left unconfigured?
And if this is already possible, I'd love to know.
Thanks for your time.
Ah that works. I also noticed that I could hold an item and use /ee exceptions and it'll tell me the name of the item i'm holding if I wanted to check and make sure. Thanks!
One last question, how can I get around the "Conflicting enchantments" thing? Like have one piece of armor have both Protection V and Fire Protection V?
@ZeratulsDownfall
Yes, somewhat.
The tools/armor are but they are umbrella names that encompass all variations of the tool. So if i put 'chestplate', all kinds of chestplates will be allowed those exceptions.
Non-tool/armor items, ie. Fishing Rod or Flint and steel are based on their corresponding enum list name. So Flint and Steel is 'flint_and_steel'.
Was reading a back about the Exception names, are these names based on the enum list?
This list: http://jd.bukkit.org/doxygen/d7/dd9/namespaceorg_1_1bukkit.html#ab7fa290bb19b9a830362aa88028ec80a