Chinese 1.4.7 Modding Tutorials: 第四章:基本物品

第四章:基本物品

在這次的教學,我會教你如何建立一個新的物品。
在這邊教學將會比較少地解釋在「基本方塊」已有的東西,
如果有一些不明白,可以回到前一章查看。

這次我會用這個主檔案開始:

package Tutorial;

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;

@Mod(modid = "Seer_TutorialMod", name = "TutorialMod", version = "1.0.0")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)

public class Tutorial {
      
       public static Block tutorialBlock;
      
       @Init
       public void load(FMLInitializationEvent event)
       {
             TutorialBlock = new BlockTutorialBlock(250, 0).setBlockName("tutorialBlock");
            
             GameRegistry.registerBlock(tutorialBlock, "Tutorial_tutorialBlock");
             LanguageRegistry.addName(tutorialBlock, "Tutorial Block");
        
       }

}

首先我們需要和方塊一樣,加上下面這句:

public static Item tutorialItem;

和方塊一樣,藍色部分可以改成你想用的名字。

然後在load方法內加上這句:

tutorialItem = new ItemTutorialItem(251, 1).setItemName("tutorialItem");

同樣地,你需要把tutorialItem改成你剛剛改掉的藍色部分。

然後我們按錯誤標示,建立ItemTutorialItem檔案,一開始應該是這樣:

package Tutorial;

public class ItemTutorialItem {

}

我們首先在public class ItemTutorialItem後面加上extends Item
然後在括號裡面加上這個語法:

public ItemTutorialItem(int id, int texture)
        {
         super(id);
        }


和方塊不同的是,super(id); 這句縮減了許多,也沒有了材質的選擇。
不過你也同樣可以用this.setCreativeTab(CreativeTabs.tabMaterials); 這句
來把物品加入至創造模式分欄中。

到這邊,基本物品就完成了,這邊是整個物品檔案的編碼:

package Tutorial;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;

public class ItemTutorialItem extends Item{
      
       public ItemTutorialItem(int id, int texture)
        {
         super(id);
         this.setCreativeTab(CreativeTabs.tabMaterials);
        }

}

我們現在回到主檔案,比起方塊,物品不需要在load方法裡面register
所以我們只需要加上這句來設定顯示名字:

LanguageRegistry.addName(tutorialItem, "Tutorial Item");

內容就不多講了,方塊教學有寫到,大家忘記了可以去看看。

到了這邊,物品的增加就差不多了。這邊是整個主檔案的內容:

package Tutorial;

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;

@Mod(modid = "Seer_TutorialMod", name = "TutorialMod", version = "1.0.0")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)

public class Tutorial {
      
       public static Block tutorialBlock;
       public static Item tutorialItem;
      
       @Init
       public void load(FMLInitializationEvent event)
       {
             tutorialBlock = new BlockTutorialBlock(250, 0).setBlockName("tutorialBlock");
             tutorialItem = new ItemTutorialItem(251, 1).setItemName("tutorialItem");
            
             GameRegistry.registerBlock(tutorialBlock, "Tutorial_tutorialBlock");
             LanguageRegistry.addName(tutorialBlock, "Tutorial Block");
             LanguageRegistry.addName(tutorialItem, "Tutorial Item");
       }


You can download the source code over here.

When you are done you should go back to the tutorials list here.

1 opmerking:

  1. ROBLOX is driven by an ever growing membership base of more than 300,000 creator players who generate an infinite variety of highly immersive experiences.

    These experiences range from 3D multi-player games and competitions, to interactive adventures where friends can take on new identities to discover what it would be like to be a dinosaur, a miner working a mine or an astronaut on a space exploration.

    BeantwoordenVerwijderen