提供: Minecraft Modding Wiki
2012年3月29日 (木) 22:03時点におけるShift (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

この記事は"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


自分のコメントを追加
Minecraft Modding Wikiはすべてのコメントを歓迎します。匿名で投稿したくない場合は、アカウント作成またはログインしてください。無料です。