提供: Minecraft Modding Wiki
2012年3月19日 (月) 22:59時点におけるNagisawa (トーク | 投稿記録)による版 (簡単だけどForgeのSpriteID無限化方法を追加)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

このページは
・ModLoader
・MinecraftForge
を使っていることを前提に書かれています。

BlockとItem両方を行います。
Blockの追加並びにItemの追加の詳細は下記を参照してください。

作成するクラス
mod_hoge
BlockHoge
ItemHoge

ソース解説

mod_hogeクラス作成

package net.minecraft.src;

/*
 forgeを忘れずにインポートしておきましょう
*/
import net.minecraft.src.forge;

public class mod_hoge extends BaseMod{
 
    public static Block oreHoge;
    public static Item itemHoge;
    public int blockID;
    public int itemID;
    public String blockTextureFilePath;
    public String itemTextureFilePath;
 
    public mod_hoge()
    {
    }

    public void load()
    {
    	blockID = 120;
        itemID = 5000;
        blockTextureFilePath = "/block/hoge.png";
        itemTextureFilePath = "/item/hoge.png";
        /*
    テクスチャファイルは256*256のpngファイルを用意します。
    MinecraftForgeClient.preloadTextureで対象のテクスチャファイルを指定してあげるだけです。
    */
        MinecraftForgeClient.preloadTexture(blockTextureFilePath);
        MinecraftForgeClient.preloadTexture(itemTextureFilePath );
    	ModLoader.RegisterBlock(oreHoge);
        ModLoader.AddName(oreHoge, "Hoge Ore");
        ModLoader.addName(itemHoge, "Hoge Item");
    }
    public String getVersion()
    {
            return "1.0.0";
    }
}

※Blockに対してGUIを入れる場合はMinecraftForgeClient.preloadTextureでGUIテクスチャファイルを追加指定してあげるだけです。

BlockHogeクラス作成

package net.minecraft.src;
 
import java.util.Random;
/*
 forgeを忘れずにインポートしておきましょう
*/
import net.minecraft.src.forge.*;

/*
 ITextureProviderインターフェイスを追加します。
*/ 
public class BlockHoge extends Block implements ITextureProvider
{
  public BlockHoge(int i, int j)
  {
	super(i, j, Material.rock);
  }
  public int idDropped(int i, int j,Random random)
    {
        return this.blockID;
    }
  public int quantityDropped(Random random)
    {
        return 1;
    }
    /*
    getTextureFileメソッドを追加します。
  retuenでBlockのテクスチャファイルのパスを指定します。
    */
    public String getTextureFile()
    {
        return "/block/hoge.png";
    }
}

itemHogeクラス作成

やることはBlockと一緒です。

package net.minecraft.src;

import net.minecraft.src.forge.*;

public class itemHoge extends Item implements ITextureProvider
{
        public itemHoge(int i)
        {
                super(i);
        }

        public String getTextureFile()
        {
                return "/item/hoge.png";
        }
}