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.
@Artemuidak
Unfortunately, no. That error is thrown while checking how far the furnace progress arrow is towards finishing smelting. If it were related to the efficiency enchantment level, the error would be thrown when the cook time is set, not checked.
That said, I will also cap the maximum that the cook time can be set to. Efficiency level 16382 or higher could cause some issues. Efficiency over level 99 has no additional effect anyway.
@Jikoo_K
May be a bug related to the fact that I have a furnace that enchanted 1000 levels?
@Artemuidak
Sorry about that, I'll try to simplify it.
Can you cause that error again, or was it just random? It's something that I can stop, but it doesn't look like it's my plugin at fault. The error points to an issue inside CraftBukkit's furnaces. If the error is easy to cause, it could be an issue that I need to report.
Either way, I'll have 1.4.2 out today to prevent it.
@Jikoo_K
I really do not know much English, and what you wrote above is not very clear to me .. (Can you write like this to make it clear to the translator?): D
@Artemuidak Can you replicate that reliably?
It appears that there was a problem in Bukkit's side of furnaces - while I can easily catch that and prevent spam, if can be replicated it could be a sign of a larger issue.
Error http://pastebin.com/RgZnJJpW Spigot 1.8.1
Strange thing, I have tested 1.3.10 version on Spigot 1.8.3 and only Silk Touch doesn't work (so Unbreaking works fine). But as soon as I take 1.4.0 version, Unbreaking doesn't work...
For now I'm using 1.3.10 version waiting a fix, especially on fusion anvil ^^
@Dr0lf
Figured out why the resulting furnace could not be removed - The cost of applying the book is 0, as furnaces are not ordinarily meant to be enchanted. In 1.7, the item could still be removed. In 1.8, if there is no cost associated with removing the result, it cannot be done.
Unfortunately, that will take me a while to apply a real fix and not just a crappy band-aid. There's no API for changing exp costs, getting name typed into an anvil, or applying anvil work tags. To work around this issue, you can rename the furnace in an anvil prior to attemping to combine books. After the rename, applying books should cost 1 level, so the result should be removable.
@Dr0lf
@Paprikart
I cannot find anything wrong with unbreaking - let me know if it continues to be a problem in 1.4.1.
I have the same problem that Dr0lf with Unbreak and Silk Touch. The rest works well. I use the latest version of Spigot 1.8.3 :/
@Dr0lf
@Dr0lf
Well, I'm sorry, but I cannot fix what I cannot reproduce. I'll keep an eye out, but no promises.
I know normal effects that should give enchantments but it doesn't work on my server.
[02:19:40 INFO]: This server is running CraftBukkit version git-Spigot-c136710-350cb99 (MC: 1.8.3) (Implementing API version 1.8.3-R0.1-SNAPSHOT) [02:19:40 INFO]: You are running the latest version
Same version but I swear that both enchants do not work on my server. And I have neither error or warn in my server log :/
@Dr0lf
Ideally you have a way to reliably replicate them not working. Like I said, everything works fine for me. If you cannot provide a case which demonstrates it not working, I cannot fix it.
For example, a Silk Touch 1 furnace: I insert 1 coal and 4 iron ore. When the 4 iron are smelted, the flame inside the GUI is unlit as expected and the furnace block is left burning. If I then insert an additional 4 iron ore, the furnace GUI re-lights and smelts them.
Unbreaking 3: I insert 1 coal and 16 iron ore. When the furnace finishes smelting, 12 have been smelted instead of 8.
Output of /version:
@Jikoo_K
What do you want me to say? Both enchants have no effect all. Unbreaking doesn't increase the coal "life", and Silk Touch doesn't keep the flame when there is nothing left to cook (and it is not just visual)
@Dr0lf
Please explain what is not working, under which circumstances.
Anvils work in creative because you can enchant anything in creative. That is unmodified vanilla behavior.
I know for Unbreaking and Silk Touch but it doesn't work for me :/
For anvil enchanting, it works with gamemode 1.
@Dr0lf
Like I said, anvil enchanting was broken by a 1.8 change.
Unbreaking and Silk Touch do not affect smelting speed, Efficiency does. Unbreaking extends fuel life, Silk Touch preserves burn time when out of things to smelt.
When I say that player can't recover frunaces, it's about anvil enchanting, with the permission player see enchanted furnace but can't take it (but without permission there is the cross and enchanted furnace doesn't appear.
And for Unbreaking/Silk Touch, they have no effect on the cooking, it's as if they were not thrilled (for me it was already the case for Silk Touch before 1.8.3)
@Dr0lf
Anvil enchanting was broken by 1.8. I've been slowly working on making it possible to fix, but it is not a priority for me.
Please try to explain in more detail what you mean about players not being able to recover furnaces. I cannot grasp your meaning, and this feature is working for me.
Unbreaking and Silk Touch are working fine for me in 1.8.3, could you explain what is not working?
Great plugin ! But for me, enchantedfurnace.enchant.anvil doesn't work correctly, player can't recover furnace, the only difference is that the cross is not there anymore and they can see enchanted furnace but not taking it.
And Unbreaking/Silk Touch enchantements don't work in Spigot 1.8.3 :/
@Th3PotatoArmyHD
Unfortunately, no, that would require client modification.