AutoEnchanter
Introduction
Auto Enchanter is a plugin to add Items that automatically level based on usage. The plugin is currently in alpha and is under active development. Auto Enchanter is licensed under the LGPL and the code is hosted on github
Updated version 1.1, fixes bows and adds permission nodes
Download version 1.1 here
This plugin will only work if you have craftbukkit 1511 or above
Commands
Currently no commands are needed or used.
Configuration
Example
DIAMOND_PICKAXE: BlockBreakEvent: GOLD_ORE: enchant: 'LOOT_BONUS_BLOCKS' levelFactor: 1 enchant: 'DIG_SPEED' rate: 1.0 maxLevel: 5 permission: 'autoenchanter.level' DIAMOND_SWORD: DealDamageEvent: enchant: 'DAMAGE_ALL' rate: 1.0 maxLevel: 2
Options
All item/block names are defined from the enum values used within bukkit's api. They can be found here.
The names used for enchantments can be found here
The objects in subsections will inherit the values from their parents.
Common
These options can be used on all events
- maxLevel - Int - The maximum AutoEnchater will enchant to. - Default: Variable, depending on enchantment
- rate - Double - How much xp is gained for this specific enchant - Default: 0.1
- levelFactor - Double - The rate AutoEnchater will increase the requirered XP to enchant. - Default: 1
- levelCurveFactor - Double - The exponent AutoEnchater will apply to the current level when determining the required XP to enchant. - Default: 1
- unsafe - T/F - Allow the use of unsafe enchants - Default: false
- permission - The permission node to check - Default: autoenchanter.level
- enchant - String - The specific enchant to use. The names used for the enchant can be found in the bukkit javadoc as the string representation of the enchant values - Default: None, not providing this option will result no action.
- levelRequirement - Double - The amount of XP required before leveling - Default: 10.0
BlockBreakEvent
- [BLOCK_NAME] - SubConfiguration - This defines behavior for a particular block type - Default: none
DealDamageEvent
- [EntityClassName] - SubConfiguration - This defines the behavior for a particular monster, The name used is the exact String name of the entity's class - You can find them here
PlayerFishEvent
N/A - more planned
PlayerInteractEvent
- [INTERACT_TYPE] - SubConfiguration - This defines behavior for a particular action (like right click) - Default: none
Video - Demonstration
Configuration used in the demonstration:
DIAMOND_PICKAXE: BlockBreakEvent: LAPIS_ORE: enchant: 'WATER_WORKER' unsafe: true maxLevel: 1 enchant: 'DIG_SPEED' rate: 1.0 levelFactor: 0.0 maxLevel: 5 GOLD_PICKAXE: BlockBreakEvent: enchant: 'DURABILITY' rate: 1.0 levelFactor: 0.0 maxLevel: 5 STONE_SWORD: DealDamageEvent: enchant: 'DAMAGE_ALL' rate: 5.0 levelFactor: 1.0 maxLevel: 5 STONE_PICKAXE: BlockBreakEvent: GOLD_ORE: enchant: 'LOOT_BONUS_BLOCKS' rate: 1.0 levelFactor: 0.0 maxLevel: 5
@MineCraftMyph
Wow, i just watched the video, read description, got all excited about it,
version 1.1 D:
@poo2thegeek
It's licensed under the LGPL, so you can just post it and give him credit.
Hey Guys, I just updated this plugin, and (once I get permisssion for the original owner) I will make a public link to everyone!
because of inactivity and the errors for Bukkit version 1.4.2 i decided to put it on the forum and asked to recode it.
Bukkit Forum So feel free to promote it and maybe someone will do the job.
Is this inactive or just stalled out for a while? I REALLY want to use it.
Is this still an active plugin? And does it work with armor or just tools?
Looks really interesting, totally want to use it. Is it already compatible with 1.2.3?
@kasszz
I will ship a default configuration file in newer version.
YAML has some built in features that help you dramatically with this issue of "too much" configuration.
http://pastie.org/3517784
Notice the <<: *swords? This can be used to simplify your configuration dramatically.
Isn't there a default config file. Because it is crazy work to do it for every (battle)item in the game :S and is there a way to make the enchant: random?? ty :)
<<
This plugin, when you figure out how it works, (I find it to be) is a really great plugin. It works with 1.1.0 perfectly well, but I have 4 issues with it: 1) the lack of permissions; 2) that to get bow enchants you have to physically left-click attack to target with a bow. 3) Would it be possible to add multiple damage leveling enchants on one item? Because for the bow I have
BOW: DealDamageEvent: enchant: 'ARROW_DAMAGE' rate: 2.0 enchant: 'ARROW_KNOCKBACK' rate: 1.0 maxLevel: 2 enchant: 'ARROW_FIRE' rate: 1.0 maxLevel: 2
But that doesn't allow for all three enchants to be allowed on the Bow via doing damage, it only goes with the last enchant. And 4) A way to enchant armour other then breaking blocks or hitting mobs with it. Please. (Just some questions and suggestions). For those who want to figure out how to word the yml file right, you can talk to me. I also recommend using this plugin with the EnchantMore plugin. The two seem to compliment each other quite nicely, in my
>>
I know the plugin is fairly difficult to configure but it is mostly flexible, I have fixed/add suggestions 1&2 and I have added sub nodes for individual entity times in the damage events.
As for suggestion #3 and #4 I will add something similar that will achieve the same goal
This plugin, when you figure out how it works, (I find it to be) is a really great plugin. It works with 1.1.0 perfectly well, but I have 4 issues with it: 1) the lack of permissions; 2) that to get bow enchants you have to physically left-click attack to target with a bow. 3) Would it be possible to add multiple damage leveling enchants on one item? Because for the bow I have
BOW: DealDamageEvent: enchant: 'ARROW_DAMAGE' rate: 2.0 enchant: 'ARROW_KNOCKBACK' rate: 1.0 maxLevel: 2 enchant: 'ARROW_FIRE' rate: 1.0 maxLevel: 2
But that doesn't allow for all three enchants to be allowed on the Bow via doing damage, it only goes with the last enchant. And 4) A way to enchant armour other then breaking blocks or hitting mobs with it. Please. (Just some questions and suggestions). For those who want to figure out how to word the yml file right, you can talk to me. I also recommend using this plugin with the EnchantMore plugin. The two seem to compliment each other quite nicely, in my personal opinon.
I've tried to get this working a couple of times and failed. I've got a server running quite a few plugins which i tried it on first but nothing so I removed most of them and still nothing. I checked the yml data so the spacing was correct still nothing. /plugins saying its running tho
NOTHING HAPPENS :( i used the configuration above
For multiple enchantments per item what would be the format? Do we just add another enchant after maxLevel or do we have to make a whole new section for the same item?
Awesome- is there a way to set up a separate track for mob arena via permission nodes or will separate enchant tracks via permission nodes maybe be a future feature?
I like your plugin and all, but what I'm looking for is permissions support (prefferebly PEX) for who is able to use this ability. Also, maybe add a feature to turn enchanting off? (again, permissions :P)
@predawnia2
Ah yes, I fully intend to add permission support. I will most likely use the bukkit API to handle the permission nodes.
Great plugin! The only thing that is stopping me from implementing this is my server is the lack of permissions node. Any chance it will support permissionsBukkit?
Also, would be great if we can have an option set the auto enchantment to randomly select from a set of enchantments, it would make item enchanments more unique, like every tool may have different set of enchantments?
Somthing like that, food for thought :)