提供: Minecraft Modding Wiki
この記事は"ModLoader及びMinecraftForge"を前提MODとしています。 |
例として土をバケツに突っ込んで設置するまでを行います。
作成するクラス mod_ForgeTutBuckets ItemDirtBucket
ソース解説
mod_ForgeTutBucketsクラスを作成
package net.minecraft.src; import net.minecraft.src.forge.*; public class mod_ForgeTutBuckets extends BaseMod { public DirtBucket dirtBucket; public static String itemsPng = "/ForgeTutorials/Buckets/items.png"; public static String terrainPng = "/ForgeTutorials/Buckets/terrain.png"; public mod_ForgeTutBuckets() { } @Override public String getVersion() { return "1.0"; } @Override public void load() { /* Forgeのメソッドを使って土を入れた時のバケツのテクスチャファイルを指定 */ MinecraftForgeClient.preloadTexture(itemsPng); MinecraftForgeClient.preloadTexture(terrainPng); /* ItemIDを1337として指定し テクスチャをspritesheetで(0,0)で指定(下記の場合はBlock.dirt.blockID,0 の部分) itemの名前を"dirtBucket"として指定します。 */ dirtBucket = (DirtBucket) new DirtBucket(1337, Block.dirt.blockID, 0).setItemName("dirtBucket"); /* Minecraft上のアイテムの表示名を"Dirt Bucket"をして指定 */ ModLoader.AddName(dirtBucket, "Dirt Bucket"); /* dirtBucketをforgeのregisterCustomBucketHanclerでバケツのハンドラとして設定 */ MinecraftForge.registerCustomBucketHandler(dirtBucket); } }
ItemDirtBucketクラスを作成
package net.minecraft.src; import net.minecraft.src.forge.*; /* バケツの動作を追加するため、IBucketHandlerクラスをインターフェイスとして追加します。 */ public class ItemDirtBucket extends ItemBucket implements IBucketHandler, ITextureProvider { /* バケツに土をいれたときのid 右クリックしたときに設置するblockID iconのインデックスのパラメータが必要なので設定しておきます。 */ public ItemDirtBucket (int id, int blockId, int icon) { super(id, blockId); setIconIndex(icon); } /* 空バケツを右クリックしたときに呼び出されるメソッドです。 空のバケツの場合、何も設置しないのでnullを返します。 それ以外の場合はこのメソッドでItemStackに置き換えられます。 */ @Override public ItemStack fillCustomBucket(World w, int i, int j, int k) { return null; } public String getTextureFile() { return mod_ForgeTutBuckets.itemsPng; } }
参考:http://www.minecraftforum.net/topic/854952-creating-mods-minecraft-forge-28112
コメントの自動更新を有効化