在《我的世界》这个充满奇幻与冒险的世界里,附魔书扮演着至关重要的角色。它不仅可以帮助我们升级装备,还能解锁各种强大的新技能,让我们的冒险之旅更加精彩。本文将带您深入探索附魔书的奥秘,助您打造最强冒险装备。
附魔书的种类与功能
1. 基础附魔
基础附魔包括锋利、节俭、力量、精准等,这些附魔可以提高武器的攻击力和效率。例如,给剑附加锋利附魔,可以让它更容易击破敌方的防御。
Item item = new ItemStack(Items.DIAMOND_SWORD);
ItemMeta meta = item.getItemMeta();
List<String> lore = new ArrayList<>();
lore.add("锋利");
meta.setLore(lore);
item.setItemMeta(meta);
2. 进阶附魔
进阶附魔包括infinity(无限)、火焰附加、生命偷取等,这些附魔可以让装备更加变态。例如,给弓附加infinity附魔,可以让它无限射箭。
Item item = new ItemStack(Items.BOW);
ItemMeta meta = item.getItemMeta();
List<String> lore = new ArrayList<>();
lore.add("无限");
meta.setLore(lore);
item.setItemMeta(meta);
3. 特殊附魔
特殊附魔包括生命恢复、隐身、夜视等,这些附魔可以让玩家在冒险中更加得心应手。例如,给靴子附加隐身附魔,可以让玩家在夜晚潜行。
Item item = new ItemStack(Items.LEATHER_BOOTS);
ItemMeta meta = item.getItemMeta();
List<String> lore = new ArrayList<>();
lore.add("隐身");
meta.setLore(lore);
item.setItemMeta(meta);
附魔书制作与升级
1. 制作附魔书
附魔书可以通过将羊皮纸与墨水混合制作而成。将羊皮纸和墨水放入工作台,即可制作出附魔书。
ItemStack paper = new ItemStack(Items.PAPER);
ItemStack ink = new ItemStack(Items.DYE, 1, DyeColor.BLACK.getDyeData());
ShapedRecipe recipe = new ShapedRecipe(new Identifier("minecraft", "book"), new ItemStack(Items.BOOK))
.pattern("PPP")
.pattern("PFP")
.pattern("PPP")
.define('P', paper)
.define('F', ink);
clientLevel.addRecipe(recipe);
2. 升级附魔书
附魔书可以通过附魔台进行升级。将附魔书与附魔台相邻放置,然后使用附魔材料进行升级。
”`java ItemStack book = new ItemStack(Items.BOOK); ItemStack enchantingTable = new ItemStack(Items.ENCHANTING_TABLE); ItemStack diamond = new ItemStack(Items.DIAMOND); Level world = clientLevel; world.setBlockAndUpdate(new BlockPos(0, 0, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 0, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 0, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 0, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 0, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 0, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 1, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 1, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 1, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 1, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 1, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 1, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 2, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 2, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 2, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 2, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 2, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 2, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 3, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 3, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 3, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 3, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 3, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 3, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 4, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 4, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 4, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 4, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 4, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 4, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 5, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 5, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 5, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 5, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 5, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 5, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 6, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 6, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 6, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 6, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 6, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 6, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 7, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 7, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 7, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 7, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 7, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 7, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 8, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 8, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 8, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 8, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 8, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 8, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 9, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 9, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 9, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 9, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 9, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 9, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 10, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 10, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 10, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 10, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 10, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 10, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 11, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 11, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 11, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 11, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 11, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 11, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 12, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 12, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 12, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 12, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 12, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 12, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 13, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 13, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 13, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 13, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 13, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 13, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 14, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 14, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 14, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 14, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 14, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 14, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 15, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 15, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 15, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 15, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 15, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 15, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 16, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 16, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 16, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 16, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 16, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 16, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 17, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 17, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 17, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 17, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 17, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 17, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 18, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 18, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 18, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 18, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 18, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 18, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 19, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 19, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 19, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 19, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 19, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 19, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 20, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 20, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 20, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 20, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 20, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 20, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 21, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 21, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 21, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 21, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 21, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 21, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 22, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 22, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 22, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 22, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 22, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 22, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 23, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(0, 23, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 23, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(1, 23, 1), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 23, 0), Blocks.ENCHANTING_TABLE.defaultBlockState()); world.setBlockAndUpdate(new BlockPos(2, 23, 1), Blocks.ENCHANT
