Posted August 17, 20223 yr I added a custom BlockItem for my block and now I want it to be enchantable with sword enchantments. I tried overwriting canApplyAtEnchantingTable but this doesn't work. Here is the whole class: public class SwordBlockItem extends BlockItem { public SwordBlockItem(Block block, Properties properties) { super(block, properties); } @Override public boolean canApplyAtEnchantingTable(ItemStack stack, Enchantment enchantment) { return true; } @Override public boolean isEnchantable(ItemStack stack) { return true; } @Override public boolean isBookEnchantable(ItemStack stack, ItemStack book) { return true; } } For testing purposes I made all three of those methods return true. Applying books in an anvil works completely fine. It's just that no enchantment shows up in the enchantment table.
August 17, 20223 yr You need to override #getEnchantmentValue in your Item class too, the value must be larger than 0. You don't need to override #isBookEnchantable unless the Block should be work similar to the vanilla Book (Enchanted Book).
August 18, 20223 yr Author 13 hours ago, Luis_ST said: You need to override #getEnchantmentValue in your Item class too, the value must be larger than 0. You don't need to override #isBookEnchantable unless the Block should be work similar to the vanilla Book (Enchanted Book). Thank you so much!
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.