EnchantMore
Original Plugin By Mushroom Hostage. Maintained And Continued By DSH105
EnchantMore adds dozens of new item enchantment effects; on flint & steel, hoes, shears, fishing rods, and other items…Ranging from entertainingly destructive to legitimately useful.
Download EnchantMore 2.0 - released 2013/04/19 for 1.5.1-R0.
Features
- Over 80 unique enchantment/item combinations
- Items in inventory appear as expected (glowing + descriptive tooltip)
- No client mods required
- Only adds functionality, does not change any - all your existing enchanted tools work as expected
- Any effects can be disabled in the Configuration File
- Supports enchantments on modded items
Effect List
Enchanting
An enchanting command is in the making, but at the moment, other enchanting plugins or inventory editors must be used
- EasyEnchant - see the Exception section in the config to enable/disable
- Tim The Enchanter - /enchant command for ops
- Auto Enchanter - set "unsafe" to true in config
- General - supported in v4.3+, enable in config
If you know of any other compatible plugins, let me know and I'll add them here. (If you're writing an enchanting plugin, use addUnsafeEnchantment() and ignore canEnchantItem(), then it should be compatible with EnchantMore.)
Limitations
- Not all enchantments reasonably combine with one another
- No permission support
- Some effects are overpowered or unstable; be careful!
For all known issues or to file a new bug see Tickets.
Permissions
All permissions are in this form: enchantmore.<category or item>.<enchantment>.
Item names are identical to those in the default configuration file, for example enchantmore.flintandsteel.aquaaffinity.
The method that forms the permissions can be found here on the GitHub source.
Notes
Slot Data protocol reference
Other relevant plugins of interest pertaining to enchantments:
- Sublimation - silk touch ice, no longer overpowered
- SilkSpawners - pickup and move mob spawners with silk touch
Got a cool idea for a new effect? I can't promise I'll implement everything, but all suggestions are welcome! Feel free to discuss your ideas below, or open a ticket for more specific requests. Including the specific item + enchantment name is appreciated, preferably from the available wanted effects list.
Also interested in new potions? Try PotionsPlus.
Testers For EnchantMore 2.0
A huge thank you to the following people for helping me get EnchantMore 2.0 tested and finished!
GitHub
@mushroomhostage
Mhm, i'd be interested in a R4 port indeed. My reasoning being that i'm unlikely to upgrade to 1.1 Anything before 1.2 bukkit proper comes out. (Specifically the ML/MLMP/Forge with IC²/CB ports.)
Does Chestplate + Punch actuall add to the damage or replace it, though? (Because i seem to be doing vanilla damage with this on and mcMMO Unarmed mastery.)
@MylesComputer
Thanks!
@BEQOsNtDi6xRDGzqIAT7
No, unfortunately EnchantMore 0.8.2 for 1.1-R8 is not completely backwards-compatible with 1.1-R4. The "Plugin EnchantMore is attempting to register event org/bukkit/entity/EntityType" error you are seeing is a result of this incompatibility. The Bukkit APIs changed from 1.1-R4 and beyond so I have to use different methods to support both versions… a backport to 1.1-R4 would be possible if you're interested, otherwise regrettably staying on 0.7.5 is the best option at this time.
Chestplate + Punch = brass knuckles deals by default 5 half hearts of damage per level, but it can be configured in config.yml effects - Chestplate + Punch - damagePerLevel. It should be compatible with enchanting plugins supporting this item/enchant combination, if a plugin doesn't check its docs for how to add an exception. To add sword enchantments to a nanosaber, try adding the IDs of the nanosaber (30148 and 30149) to items - Sword in config.yml – I haven't tried it, but any modded items should work, as long as they are similar enough to the vanilla items. Let me know how it works, if it does I can add the IDs to the default config in the next release (I already have IC2's bronze sword added, works fine, and a couple other modded items – but always welcome new additions).
@quickclay
Should be possible, ask the developers to add support for "unsafe" enchantments :P. Also I'm curious, has anyone tested adding EnchantMore enchantments with CommandBook? Or any other enchanting plugins?
@gabriel11798
Disabling Bow + Silk Touch = magnetic arrows (transport nearby entity) is one option if it is too overpowered for your tastes :) but I'm also open to suggestions how to nerf it. One suggestion has been to only transport certain types of entities, but I haven't figured a reasonable way to determine which kinds. Right now, the range of transported entities is 10.0 * the enchantment level, in a cubic volume. I'm surprised it pulled everything within 100 m… was this with a level X enchantment, or you saw this behavior with Silk Touch I?
@Celtic_Minstrel
Awesome, I've added General to the compatible list, noting it requires 4.3. Looking forward to this future version :). More compatible plugins, the better. Also I'm even more looking forward to your upcoming Catalyst plugin to revamp the enchantment table to use reagents, if it supports unsafe enchantments that would be great, if you could let me know once it is available I'll add your link.
Agreed with the dangers of player move event listening. I do listen for movement for Boots + Power and Boots + Flame but don't really like to, for performance reasons, and have a moveListener:false config option to disable the listener if it becomes problematic. Maybe something could be done with teleporting up/down ladders, triggered via some action instead of movement? Not sure.. but a faster method of ladder travel would definitely be nice. Seems that the only right way to drastically change player movement is via client mods..
@SYkO_Reaper117
Infinite durability swords could be useful – or even increased durability swords. Curiously the Unbreakable enchantment is not normally available on swords, but it does work in vanilla – sort of. Sword + Unbreaking used to break blocks have a chance of not taking damage, but the same sword always takes damage when attacking a mob. It won't be infinite, but if you want a nearly-unbreakable sword you can use something like Sword + Unbreaking 1000.
@jakester124
@DoubleZ
EnchantMore 0.8.2 was built and tested against 1.1-R8, yet it does appear to load on 1.2.3-R0.2, but I haven't extensively tested it. Some effects work, others may not due to low-level changes I have to update for.
If anyone finds any effect broken on 1.2.3 you want fixed please let me know and I can use this information to help prioritize what to work on first, 82 effects is a lot to go through =).
Infinity sword should be infinite durability, probably too late to change it, just throwing it out there.
Hey, just wondering if this works with 1.2.3? Thanks in advance.
Say, i can't help but notice a bunch of error messages in my server log.
[SEVERE] Plugin EnchantMore is attempting to register event org/bukkit/entity/EntityType, which does not exist. Ignoring events registered in class me.exphc.EnchantMore.EnchantMoreListener
I'm not entirely sure what is causing this, short of assuming that R4 of 1.1 is insufficient, due to the log not providing any other hints as to what does this. :S
Also a sidenote: The Punch II enchantment on the chestpiece seems to interfere with the mcMMO Unarmed damage increase (Mastery is +4 Dmg). This results in you just dealing normal damage.
waiting for 1.2 update :)
@my_name_is_gage
Either PM me or post your problem on the EasyEnchant plugin page
...try posting on the EasyEnchant page instead of here?
help
i do not know how to use this with easyenchant can you help me or tel me the commands
@mushroomhostage
I don't think detecting climbing would be easy to implement... the best I can think of is detecting PlayerMoveEvent and checking that the player is in a vine and that the movement is in the right direction to be counted as climbing. It would probably misfire if someone jumped next to a vine or ladder, though.
Also, I'd like to note that the enchanting feature of the /give command in General 4.3 (which isn't released yet) is compatible with this plugin if you change some values in the config from their default settings.
EDIT: Note that PlayerMoveEvent needs to be handled somewhat delicately... it gets called very, very frequently, so don't make it five hundred lines long or have long loops in it! Or, if you can't avoid that sort of thing, at least have a conditional which will cause it to be skipped 99% of the time.
Bow + Silk Touch = magnetic arrows (transport nearby entity) This feature pulled every NPC in my server for 100 blocks away (we tested) Maybe it should be nerfed/removed? :/
edit I'm so fking stupid, just saw you can disable any one you want in config.yml lol xD
Doesn't work with the Essentials command "/enchant", sadly. That would be coolness.
Mhm, coloring me impressed as well. Fast and effective work. :)
(But i wonder, is that version backwards compatible? That is, R8 back to R4.)
Also, how much more damage exactly is dealt by the Brass Knucks enchantment (configurable?) and how can it be added in combination with EasyEnchant? (And what would it take to add sword enchantments to a nano saber, config-wise.)
(Sidenote: Bukkitdev not having a alias for user names, despite the bukkit forum itself having that? Son, i am disappoint.)
Great Plugin thanks for making it!
@BEQOsNtDi6xRDGzqIAT7
Added in EnchantMore 0.8.2: Leggings + Knockback = tackle (more damage when sprinting), and Chestplate + Punch = brass knuckles (more damage with fists). You can now kill a creeper with two hits from fists while wearing Chestplate + Punch II :).
The other ideas, especially the effect to make climbing ladders faster would quite useful. Not sure how to add it though (anyone have any ideas?).
@masterofninjas
Even though you can obtain these special items by other means, agreed, enchantment table support would be very nice. I think it is best done as a separate plugin, which could integrate nicely with EnchantMore. I posted a request to the forums: custom item enchantments via enchanting tables. If anyone wants that plugin to be made, or wants to make it, feel free to chime in the thread. Hopefully someone makes it :). I believe it is possible, although likely fairly difficult to implement.
@Zuri3L
The mapping is somewhat configurable already, though not at a fine granularity. You can edit config.yml and move the contents of items - Axe to items - Sword, then the sword effects will work on axes.
A more configurable mapping should be possible, but there are some challenges. Not all effects would be applicable to all different items, for example, some can only be applied to bows or fishing rods since they listen for their respective events. Also, armor types have their effect applied by the slot not the item itself, so making that configurable would require different code than simply replacing the item type. Another problem is the logistics of managing and referring to the effects. Right now, each item + enchantment pair is unique, and used as the identifier for the effect – in the code, config, documentation, and elsewhere. This certainly could be improved, though.
@Celtic_Minstrel
Added Chestplate + Respiration = fish mode (no damage in water). Also thanks for the info on the new inventory click event. Didn't get around to trying it out for 0.8.2, unfortunately.
Note to self for perma-sprint boots, interesting related plugin: SetSpeed.
@quickclay
Try it and let me know :). EnchantMore should work with any plugin that supports "unsafe" enchantments, not sure if Essentials does. I'm also curious if CommandBook is compatible, but haven't tested it myself yet. If anyone wants to, feel free to post your results here, and I can add any compatible plugins to the list.
@jakester124
Yes, you can turn off any effect in config.yml, set "enable: false".
The lack of custom mapping is probably the main reason I haven't downloaded this plugin already.
Hey, what about for fortune on swords /axes/ bows if killed mobs dropped bottles of enchanting? This would let you store xp for later.
Also as a long term thing, it would be really cool if we could have custom mapping for the enchant effects. We use axes as weapons on our server, and I'd like to be able to apply the sword effects to axes
So, looking at the wanted enchantments... wouldn't Armor/Sword + Unbreaking translate to armor/sword that has a chance to not take damage, like tools? Meaning it lasts longer in general. :) (Which is highly useful if you cannot repair your gear without destroying the enchantment.)
Also, off the top of my head:
Boots/Leggings + Efficiency = Descend/ascend ladders faster
Leggings + Knockback = Knocks enemies further back when sprinting into them while dealing damage (tackling then, essentially)
Chestplate + Punch = More unarmed damage (that is, when not holding any items) Because i like the idea of fist fighting a creeper. :)
Sword + Efficiency = Chance to deal more critical hits (even when not jumping)?
Sword + Punch = A chance to damage mobs adjacent to the actual target?
Throwin' it out there! o/
@mushroomhostage
"(is there an event plugins can listen to for when armor is donned and doffed?)"
–> Sort of. You could detect the click event in the inventory (Spout not required as of 1.1-R5). That would cover 90% of cases; it wouldn't cover armour wearing out or player death. I don't think there's an event to detect armour wearing out.
Also, perhaps chestplate+respiration = no damage underwater? Thus making it an improved form of helmet+respiration? Though, you could also attach that effect to levels of helmet+respiration above what vanilla allows.
Any idea when you can use enchantment tables with this? :P