<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 概述 本部分以制作一個和黑曜石鎬為例,講述如何做出一個新的工具或武器,如斧、鎬、鏟、以及鋤和劍。 ## 物品和ToolMaterial 在包`net.xiaobang.bm.item`下新建一個文件`ItemObsidianPickaxe.java`,并讓`ItemObsidianPickaxe`類繼承`ItemPickaxe`類: **`src/main/java/net/xiaobang/bm/item/ItemObsidianPickaxe.java`** ~~~ package net.xiaobang.bm.item; import net.xiaobang.bm.creativetab.CreativeTabsLoader; import net.minecraft.item.Item; import net.minecraft.item.ItemPickaxe; import net.minecraftforge.common.util.EnumHelper; public class ItemObsidianPickaxe extends ItemPickaxe { public static final Item.ToolMaterial OBSIDIAN = EnumHelper.addToolMaterial("OBSIDIAN", 3, 2061, 18.0F, 2.0F, 10); public ItemObsidianPickaxe() { super(OBSIDIAN); this.setUnlocalizedName("obsidianPickaxe"); this.setCreativeTab(CreativeTabsLoader.tabBm); this.setTextureName("bm:obsidianPickaxe"); } } ~~~ 先來說說這一行: `public static final Item.ToolMaterial OBSIDIAN = EnumHelper.addToolMaterial("OBSIDIAN", 3, 2061, 18.0F, 2.0F, 10);` 這里添加了一個作為工具需要的枚舉類,ToolMaterial的實例。顧名思義,ToolMaterial就是工具或武器使用的材料,Forge本身定義了五種材料:WOOD,STONE,IRON,EMERALD,GOLD。它們分別表示木頭、石頭、鐵、鉆石、金。 我們來看看ToolMaterial的構造方法: ~~~ private ToolMaterial(int harvestLevel, int maxUses, float efficiency, float damageVsEntity, int enchantability) {...} ~~~ 和五種材料的參數: * WOOD(0, 59, 2.0F, 0.0F, 15), * STONE(1, 131, 4.0F, 1.0F, 5), * IRON(2, 250, 6.0F, 2.0F, 14), * EMERALD(3, 1561, 8.0F, 3.0F, 10), * GOLD(0, 32, 12.0F, 0.0F, 22); ToolMaterial的構造方法共有五個參數: * `harvestLevel`參數表示制作出的工具等級。這一點在鎬中尤其明顯,如木頭為0,只能挖掘對應等級為0的方塊才能掉落物品,如石頭等,而鉆石為3,就可以挖掘出對應等級為3的,其他鎬挖不出物品的方塊,如黑曜石。這里使用了最高等級3 * `maxUses`參數表示制作出的工具對應耐久。如鉆石工具就是1561,耐久最高,而木工具為59,耐久最低。這里刻意提高了該數值,為2061 * `efficiency`參數表示制作出的工具使用效率。使用效率和該參數的值成正比。這里刻意提高了該數值,為18.0F * `damageVsEntity`參數表示攻擊傷害力度。同樣該力度和該參數的值成正相關。這里為2.0F,表示攻擊力很低 * `enchantability`參數與附魔等級相關。Minecraft中關于附魔等級的系統十分復雜。但是有一點,就是該值越高,對應的附魔就越容易得到高等級。這也是為何金更容易得到高等級附魔,而石頭得到的附魔就相當低。這里為10,和鉆石相同 `EnumHelper`的作用就是為Minecraft的一些枚舉類型注冊新的實例,該方法的第一個參數為實例的名稱,后面的參數就是該枚舉類型構造方法需要的參數。比如這里就是向ToolMaterial枚舉類型添加一個名為`REDSTONE`的實例,并提供相應的參數。 ## 材質 (你可以看到就只是鉆石鎬調了色=_=||): **`src/main/resources/assets/fmltutor/textures/items/obsidianPickaxe.png`** ![](https://i.vgy.me/QCAbvv.png) ## 一些事情 語言文件和在`GameRegistry`中注冊(這里需要稍微注意一下的可能是`ToolMaterial`和物品的先后注冊順序): **`src/main/resources/assets/bm/lang/en_US.lang`(部分)** `item.obsidianPickaxe.name=Obsidian Pickaxe` **`src/main/resources/assets/bm/lang/zh_CN.lang.lang`(部分)** `item.obsidianPickaxe.name=黑曜石鎬` **`src/main/java/net/xiaobang/bm/loader/ItemLoader.java`(部分)** ~~~ public static ItemDiamondStick ds = new ItemDiamondStick(); public static ItemObsidianPickaxe op = new ItemObsidianPickaxe(); public ItemLoader(FMLPreInitializationEvent event) { register(ds, "diamondStick"); register(op,"obsidianPickaxe"); } ~~~ 當然最后,也可以加入進合成表里面: **`src/main/java/net/xiaobang/bm/crafting/CraftingLoader.java`(部分)** ~~~ GameRegistry.addShapedRecipe(new ItemStack(ItemLoader.op), new Object[] { "###", " * ", " * ", '#', Blocks.obsidian '*', Items.stick }); ~~~ 打開游戲試試吧~ 當然,其他需要ToolMaterial的工具,如斧、鏟、鋤與劍,它們的制作,都是同樣的道理。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看