EnchantableBlocks
EnchantableBlocks (formerly EnchantedFurnace) adds effects for enchantments on blocks! Currently only furnaces are supported.
Get It Now
Builds are available on BukkitDev or in the releases.
Development builds are available for use at your own risk on AppVeyor in the Artifacts tab.
Features
Per-World Focus
All features are configurable per-world. Want an OP world? Not a problem. Want to disable blocks for a vanilla world? Absolutely. All block settings can be controlled by per-world overrides, falling through to default values when not specifically configured.
Enchantment Table Enchanting
EnchantableBlocks offers vanilla-style enchantment table usage for supported blocks. Disable certain enchantments, determine your own conflicts (i.e. silk touch/fortune), or modify enchantability either globally or for a specific world set.
Permission can be granted or denied per-implementation or as a whole. More specific overrides always take precedence.
Nodes are available as follows:
<plugin name>.enchant.table.<block name>
- Permission to enchant a specific block implementation by a plugin in an enchanting table
- Ex:
enchantableblocks.enchant.table.enchantablefurnace
- Note that this is not per-material! I.e.
enchantablefurnace
covers 3 material types.
<plugin name>.enchant.table
- Permission to enchant all block implementations by a plugin in an enchanting table
- Ex:
enchantableblocks.enchant.table
<plugin name>.enchant
- Permission to enchant all block implementations by a plugin in any enchantment source
- Ex:
enchantableblocks.enchant
Anvil Enchanting
EnchantableBlocks offers vanilla-style enchantment and combination for supported blocks in anvils. Supported blocks can be combined with either a matching block or an enchanted book to increase enchantment levels. Uses vanilla combination rules - higher level takes precedence, equal levels yield an increase of 1 level up to the level cap. The enchantment level cap is configurable per-enchantment. Enchantments can be disabled to prevent transfer, though this won't remove them from the base item. Conflicts are also determined separately for maximum configurability.
Permission can be granted or denied per-implementation or as a whole. More specific overrides always take precedence.
Nodes are available as follows:
<plugin name>.enchant.anvil.<block name>
- Permission to enchant a specific block implementation by a plugin in an anvil
- Ex:
enchantableblocks.enchant.anvil.enchantablefurnace
- Note that this is not per-material! I.e.
enchantablefurnace
covers 3 material types.
<plugin name>.enchant.anvil
- Permission to enchant all block implementations by a plugin in an anvil
- Ex:
enchantableblocks.enchant.anvil
<plugin name>.enchant
- Permission to enchant all block implementations by a plugin in any enchantment source
- Ex:
enchantableblocks.enchant
Enchantments
Furnaces
See the wiki for furnace enchantments.
Videos
A basic overview of features is available from shop1126.
Alternate English video courtesy of MusicTechnician.
Portuguese video courtesy of AbsintoJ.
Thank you all!
Permissions
- Please refer to the wiki.
Config
- Please refer to the wiki.
In reply to Neubulae:
Could you provide more detail to reproduce your setup? There is no way to clog a well-designed automated system using normal enchantment levels. A Fortune 3 Efficiency 5 furnace can create items at a rate of up to 4 per 58 ticks, averaging 2. Hoppers move items at a rate of 1 per 8 ticks, which is enough to keep up with 7.25 items per 58 ticks.
I do probably need to look into recipe caching with 1.14, there's a lot more to sift through.
In reply to Jikoo_K:
Just remove the bottom double chest and insert an excessive amount of items on the top, then there you have it!
In reply to Jikoo_K:
I'm getting the same. Haven't been able to capture it in a timings report, and no errors in console, but any time someone has more than a couple furnaces going at a time TPS just tanks to about 6 from 20. Stopping the smelting allows TPS to recover. It's pretty brutal.
Can I set the level limit of enchantments?
In reply to Neubulae:
In terms of enchanting, EnchantableBlocks only provides methods to enchant up to vanilla max level. It does support enchantments over that, but if you want that you'll need to find a plugin that changes enchanting behavior.
Not sure if it was a Spigot change, but unfortunately enchanting on tables has stopped working for me (using Spigot 1.14.4 with EnchantableBlocks 2.0.3). Tried rolling back other plugins to see if it was them and couldn't determine that it was anything else interacting. Enchanting with books and combining on anvils still works, and the actual enchants seem to work still, but just can't do anything on the table. :(
I've been getting loads of complaints of people mining there furances and them just getting a normal ones.. I Dont get it. :( I'm on 1.13.2 on pappermc
In reply to Forge_User_50096833:
Please make sure you're using v2.0.1 for 1.13.2, 2.0.2 makes use of 1.14 methods and is not backwards compatible.
Due to the volume of changes in 1.14 surrounding blast furnaces and smokers, I've opted to remove backwards compatibility instead of allowing the codebase to devolve further into a worse mass of spaghetti. 2.0.2 is not up to my usual standard for a release-quality build. Unfortunately, 2.0.1 does not function on 1.14 due to the removal of the Lang3 library, so I've opted to push out 2.0.2 early to offer a mostly functional plugin instead of a brick.
Hiya!
Just wanted to know if your planning on updating this plugin to 1.14 eventually?
Thnx.
In reply to ketsuekireaper:
Yeah, it's next on my list. OpenInv was a bit worse than usual this time around so it's been longer than expected. I believe the API exposes pretty much everything EnchantableBlocks requires, will be quick with any luck.
In reply to Jikoo_K:
awesome news thank you!
In reply to ketsuekireaper:
Initial release is posted because I've got a relatively functional build and ironing out all the little bugs is going to take me a decent while, standard lack of free time excuse. Turns out there were a lot more changes than expected due to blast furnaces and smokers.
In reply to Jikoo_K:
not a problem from what I know 1.14.1 isn't even stable yet. I'm
probably going to hold off until 1.14.2.
thanks
In reply to ketsuekireaper:
Yeah, I honestly cannot recommend using EnchantableBlocks right now, the async chunk implementation is so slow that my larger testbed started hanging repeatedly last night when checking if chunks were loaded.
In reply to Jikoo_K:
In reply to Jikoo_K:
I've heard the same thing from a couple other developers, 1.14 is a pain.
I noticed a bug:
When ever you place a stack of an item to cook in the enchanted furnace, you must wait till the first item is cooked before the enchantment effects are applied for the rest of the stack
If you place one item to cook the furnace effects will not apply to it.
I love this plugin btw. Very easy to implement and a cool feature to add to my simple server!
Hope this helped
Will this work on higher level enchants than what are listed? Unbreaking 10, DIg_speed 10 for example? Also I think the enchant names have updated in 1.13, will this be compatible?
In reply to mr_coffee1026:
Enchantments will work above level cap, though there's a certain point of diminishing returns, i.e. furnaces can only produce up to 1 item per tick. That's why the formula is there, it's just more user-friendly to display expected common results.
The current release is for 1.13, and enchantment names have not changed. See the javadocs.
2.0.1 is uploaded and should address all of the issues with fortune/silk touch. Thanks for your patience everyone, sorry I've been so slow.