Chinese 1.4.7 Modding Tutorials: 第三章:基本方塊

第三章:基本方塊

在這個教學,我會教你如何在你的模組加入一個基本的方塊。
我將會由第二章的教學開始,也就是這編碼:

package Tutorial;
importnet.minecraft.block.Block;
importcpw.mods.fml.common.Mod;
importcpw.mods.fml.common.Mod.Init;
importcpw.mods.fml.common.event.FMLInitializationEvent;
importcpw.mods.fml.common.network.NetworkMod;
@Mod(modid = “Seer_TutorialMod”, name = “TutorialMod”, version = “1.0.0”)
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
publicclass Tutorial {
      
       @Init
       publicvoid load(FMLInitializationEvent event)
       {
        
       }
}

首先第一件事是在@Init的上面加上這句:

publicstaticBlock tutorialBlock;


TutorialBlock可改成其他名字,但不可以有空格)

你也需要import net.minecraft.src.Block,按下Ctrl+Shift+O,你會看到以下的視窗:
會出現這個東西是因為它有幾個選擇讓你import
這邊請選擇第一個「net.minecraft.block.Block」。
這句是import的東西:

importnet.minecraft.block.Block;


然後你要在public void load(FMLInitializationEvent event)裡面加上這句:


tutorialBlock = newBlockTutorialBlock(250, 0).setBlockName(“tutorialBlock”);


TutorialBlock

這個需要和剛剛增加的句子的藍色部分一樣;
BlockTutorialBlock
這個是方塊本體檔案的名字,建議以Block開頭作分辨。
(250, 0)
這邊有兩個數字,第一個是方塊ID,第二個是材質位置;
材質位置是方塊或物品在材質檔案的位置,
0是左上角,1是左上角的右一格,2是左上角的右二格,
所以16就是右上角,如此類推,
現在還沒設定圖片的話會用遊戲內置terrain.png的圖案,
過幾章會說如何設定自己的材質;
setBlockName(“tutorialBlock”)
這個名字基本上沒什麼用,不要和其他東西重覆就好了。
現在你應該會在BlockTutorialBlock有錯誤,因為你還沒弄這個方塊檔案,
這時候點左邊那行的錯誤圖示,應該會出現像這樣的東西:
直接像圖片一樣選擇Create File,然後直接按Finish,不要修改任何東西。
Eclipse會直接幫你創建方塊檔案:
第一件事是要在publicclass BlockTutorialBlock的後面加上extends Block
然後一樣import net.minecraft.block
做完這個之後就會變成BlockTutorialBlock有錯誤,
你需要加上這句:

public BlockTutorialBlock(int id, int texture)

        {
         super(id, texture, Material.rock);
        }

這句需要在publicclass BlockTutorialBlock extends Block的方式下面加上。

同樣Ctrl+Shift+O 來增加「importnet.minecraft.block.material.Material;」。
Material.rock
物品的質料,也就是用什麼工具才適合採集,還有能不能被活塞推動等等條件。
詳細的質料表會在打了「Material.」之後出現。
BlockTutorialBlock
改成和你的方塊檔案名一樣。
這時候你的方塊檔案應該就沒有錯誤了。
另一樣你應該會想增加的東西是把物品放到創造模式欄中,
你可以在「super(id, texture, Material.rock);」的下面加上這行:
this.setCreativeTab(CreativeTabs.tabBlock);
然後一樣用Ctrl+Shift+O」來import
this
這個東西和英文解釋一樣,簡單來說就是「這個東西」這意思;
(CreativeTabs.tabBlock)
這就是設定創造模式的方塊位置的位置,
在打完「CreativeTabs.」能看到整個列表。
現在方塊自己的檔案就差不多了,這是整個方塊檔案的編碼:

package Tutorial;

importnet.minecraft.block.Block;
importnet.minecraft.block.material.Material;
importnet.minecraft.creativetab.CreativeTabs;
publicclass BlockTutorialBlock extends Block{
      
       public BlockTutorialBlock(int id, int texture)
        {
         super(id, texture, Material.rock);
         this.setCreativeTab(CreativeTabs.tabBlock);
        }
}

別以為這樣就搞定了,讓我們回到主檔案:

(模組的主檔案,也就是我的Tutorial.java
這時候我們需要在@Init裡面加上這兩句:

GameRegistry.registerBlock(tutorialBlock, “Tutorial_tutorialBlock”);

LanguageRegistry.addName(tutorialBlock, “Tutorial Block”);

Import優先處理。

GameRegistry.registerBlock是告訴Forge,這個東西是個方塊,
藍色和淺藍色部分一樣要和public static Block那邊一樣;
LanguageRegistry就是設定Minecraft在遊戲中實際顯示出來的名字,
TutorialBlock
和之前的藍色部分要一樣;
“Tutorial Block”
實際顯示出來的名字。放心,引號不會顯示的。
這邊就可以有空格了,總之取個好聽的名字吧!
當你完成了以上的工作,你的第一個自訂方塊就完成了,歡呼吧!(什麼
以下是主檔案完成後的編碼:

補充:

如果想試一下你的模組運行得如何,你可以點上面一列的這個按鈕:

如果需要選擇,請選「Run client」(類似的東西),就可以測試了。

如果Crash就當然是你哪裡弄錯啦(笑
結束!(喂

You can download the source code over here.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">