提供: Minecraft Modding Wiki
2013年4月1日 (月) 15:09時点におけるTakanasayo (トーク | 投稿記録)による版 (無駄な処理が多かったので全体的に書き直し)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

この記事は"1.2.5~1.4.7MinecraftForge"を前提MODとしています。

Forgeを使用してスプライトIDを無限化する方法です。
※注:ただしこの方法では、1つのクラス内で256個を超えるテクスチャは扱えません。

作成するクラス
mod_textureSample

ソース解説

mod_textureSampleクラス作成

package net.minecraft.src;

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

public class mod_textureSample extends BaseMod
{ 
    public static Block sampleBlock;
    public static Item sampleItem;

    @MLProp(info="", min=1, max=4095)
    public static int sampleBlockID = 3000;

    @MLProp(info="", min=256, max=31999)
    public static int sampleItemID = 5000;

    //16*16個のテクスチャが入ったpngファイルを用意します。画像サイズは任意です。
    private final String blockTextureFilePath = "/textureBlock.png";
    private final String itemTextureFilePath = "/textureItems.png";
 
    public void load()
    {
        //MOD内で使用する全てのテクスチャをForgeに登録します。
        MinecraftForgeClient.preloadTexture(blockTextureFilePath);
        MinecraftForgeClient.preloadTexture(itemTextureFilePath );
        
        sampleBlock = new Block(sampleBlockID, 0, Material.stone).setBlockName("sampleBlock");
        //setTextureFile()でテクスチャファイルを設定します。
        sampleBlock .setTextureFile(blockTextureFilePath);
        ModLoader.RegisterBlock(sampleBlock);
        ModLoader.AddName(sampleBlock, "Sample Block");
        ModLoader.AddName(sampleBlock, "ja_JP", "サンプルブロック");
        
        sampleItem = new Item(sampleItemID - 256).setIconCoord(0, 0).setItemName("sampleItem");
        //setTextureFile()でテクスチャファイルを設定します。
        sampleItem .setTextureFile(itemTextureFilePath);
        ModLoader.addName(sampleItem , "Sample Item");
        ModLoader.addName(sampleItem , "ja_JP", "サンプルアイテム");
    }

    public String getVersion()
    {
            return "1.0.0";
    }
}