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.
@Rory185
No, for a couple reasons.
If you wish to regulate furnace enchantments, disable the enchantments in the configuration and distribute them via other means.
@Jikoo_K Hey this is a great plugin but can you please make permissions required for using furnaces with specific enchantments, for players with enchantedfurnace.use.silktouch they can use furnaces enchanted with silk touch but not efficiency unbreaking or fortune. Additonally you can make a config value called use permissions: true/false and if true then the enchantedfurnace.use.silktouch, enchantedfurnace.use.unbreaking etc., Thanks!
@xShaZZa
Thanks, glad to know you're enjoying it!
Makes smelting go so much quicker with enchant's on them. I actually enjoy cooking stuff these days :)
Thanks for this awesome plugin.
@Artemuidak
1.4.2 has been uploaded for about 3 hours. Unfortunately, Bukkit stopped approving files for the day 6 hours ago.
@Jikoo_K
Now the console displays this error http://pastebin.com/szQD7cMn
@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.