Minecraft 模組製作教學 for 1.7 – Part 6 新增物品和物品名稱!
2014 年 09 月 28 日 15:09:35 · Fetching Views...
影片
新增物品
*提醒 : 建議大家搭配影片觀看文字教學。
進入Basic.java之後,請在模組訊息下方輸入
//Items public static Item 物品名稱參數;
這個參數可以隨意命名,不過為了管理方便,我建議直接命名成你想要的物品英文名稱(不要出現空格)
新增貼圖
請開啟繪圖軟體,製作一張16*16的圖片,並且存放在影片中敘述的位置
設定Gameregistry
回到eclipse的Basic.java,請在
@EventHandler
public void preInit(FMLPreInitializationEvent e){
下方輸入
//Items 物品名稱參數 = new Item().setUnlocalizedName("物品名稱").setCreativeTab(創造模式標籤名稱).setTextureName("來源資料夾名稱" + ":" + "不含副檔名的圖片檔名"); GameRegistry.registerItem(Aluminium_ingot, "Aluminium_ingot");
第二行的「物品名稱」是給Forge讀的,不能有空格。至於給玩家看的名稱會在下面介紹。
設定貼圖部分和上一篇教學是一模一樣的。
完成之後,你的Basic.java大概長的像這樣:
Basic.java
package lecraft.Basic; import lecraft.Block.Bauxite; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraftforge.common.MinecraftForge; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid = Basic.modid, version = Basic.version) public class Basic { public static final String modid = "light_energy_craft"; public static final String version = "beta 0v1a"; //Blocks public static Block Bauxite; //Items public static Item Aluminium_ingot; public static Item Rocket_Fuel; public static Item Aluminium_dust_20; //Creative Tabs public static CreativeTabs LEcraftTabs = new CreativeTabs("LEcraftTab"){ public Item getTabIconItem() { return Items.glowstone_dust; } }; @EventHandler public void preInit(FMLPreInitializationEvent e){ //blocks Bauxite = new Bauxite().setBlockName("Bauxite").setBlockTextureName(Basic.modid + ":" + "bauxite"); GameRegistry.registerBlock(Bauxite, "Bauxite"); //Items Aluminium_ingot = new Item().setUnlocalizedName("Aluminium_ingot").setCreativeTab(LEcraftTabs).setTextureName("light_energy_craft" + ":" + "aluminium_ingot"); GameRegistry.registerItem(Aluminium_ingot, "Aluminium_ingot"); Aluminium_dust_20 = new Item().setUnlocalizedName("Aluminium_dust_20").setCreativeTab(LEcraftTabs).setTextureName("light_energy_craft" + ":" + "aluminium_dust"); GameRegistry.registerItem(Aluminium_dust_20, "Aluminium_dust_20"); Rocket_Fuel = new Item().setUnlocalizedName("Rocket_Fuel").setCreativeTab(LEcraftTabs).setTextureName("light_energy_craft" + ":" + "rocket_fuel"); GameRegistry.registerItem(Rocket_Fuel, "Rocket_Fuel"); } @EventHandler public void init(FMLInitializationEvent event) { } }
設定給玩家看的物品名稱
方法和第三篇教學雷同
細節部分就請參照第三篇教學和影片了(偷懶中…)