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 mrkrab_:
In reply to Jikoo_K:
In reply to mrkrab_:
Getting this error while running a clone of my server from my local machine while testing for Spigot 1.12.1: https://pastebin.com/k1ZDUcmK
Thanks!
In reply to mercurialmusic:
In reply to Jikoo_K:
Hi, I Updated EnchantedFurances this morning to the latest build and it doesn't seem to work, Running paperspigot latest version. here is the error: https://hastebin.com/gacekuzape.css and the furnace.yml https://hastebin.com/alonequvov.makefile also this is the config file https://hastebin.com/qanalaxazi.md
Also on shutdown it can take 40 seconds to save file is there anyway the change the storage type?
In reply to Forge_User_45435240:
In reply to Jikoo_K:
In reply to Forge_User_45435240:
In reply to Jikoo_K:
In reply to Forge_User_45435240:
In reply to Forge_User_80739873:
In reply to Forge_User_80739873:
In reply to Forge_User_80739873:
Can't you use fortune to dupe stone (Cobble smelts into smooth stone)?
Terribly sorry about my inactivity in terms of updates, between day-to-day necessities and work I've had no time to test builds for nearly 2 weeks. When I finish with work today I should finally be able to find the time to make a release that will fix anvils in 1.12. Thanks for your patience!
Getting this Error on Startup with 1.12:
18:14:24 WARN]: java.lang.NoSuchFieldException: l
18:14:24 WARN]: at java.lang.Class.getDeclaredField(Unknown Source)
18:14:24 WARN]: at com.github.jikoo.enchantedfurnace.ReflectionUtils.init(ReflectionUtils.ja
a:84)
18:14:24 WARN]: at com.github.jikoo.enchantedfurnace.ReflectionUtils.<clinit>(ReflectionUtil
.java:58)
18:14:24 WARN]: at com.github.jikoo.enchantedfurnace.EnchantedFurnace.onEnable(EnchantedFurn
ce.java:124)
18:14:24 WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)
18:14:24 WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.jav
:316)
18:14:24 WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.ja
a:404)
18:14:24 WARN]: at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java
379)
18:14:24 WARN]: at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.jav
:329)
18:14:24 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:438)
18:14:24 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:399)
18:14:24 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:337)
18:14:24 WARN]: at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:2
6)
18:14:24 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:61
)
18:14:24 WARN]: at java.lang.Thread.run(Unknown Source)
In reply to Phreag:
In reply to Jikoo_K:
String packageName = Bukkit.getServer().getClass().getPackage().getName();
String nmspackageversion = packageName.substring(packageName.lastIndexOf('.') + 1);
try {
arrowfactory = (NMSArrowFactoryInterface) Class.forName(pkgname+"."+nmspackageversion+".NMSArrowFactory").newInstance();
return;
} catch (Throwable t) {
}