提供: Minecraft Modding Wiki
2012年3月18日 (日) 10:03時点におけるMiyabi (トーク | 投稿記録)による版 (ModLoaderModLoader APIへ移動: 名前変更)
移動先: 案内検索

ModLoaderとは、マインクラフトの大半のMODの作成、導入を補助する前提MOD。
レシピやアイテムなどの追加アイテムなどを簡単に作ったりすることができる。

BaseMod

BaseModの概要

BaseModはModLoaderに含まれるクラスの一つです。
このクラスを継承した自作Modクラスを作成することで、ModLoaderが自作Modを読み込めるようになります。

ソースコードの例

以下にもっとも単純な自作Modクラスを示します。

このコードだけでも完全なModとして動作します。

package net.minecraft.src;
 import net.minecraft.client.Minecraft;

 /**
 * 自作Modクラス
 * BaseModクラスを継承している
 */
 public class mod_MyMod extends BaseMod
 {
     /**
     * 自作Modのコンストラクタ
     */
     public mod_MyMod()
     {
         super();
     }
     
     /**
     * 自作ModがModLoaderによって読み込まれる際に呼ばれる
     * ここでアイテムやブロックの定義、レシピの追加などを行う
     */
     public void load()
     {
     }

     /**
     * 自作Modのバージョンを定義する
     * MinecraftやModLoaderのバージョンと同じである必要はないが、わかりやすいものがよい
     */
     public String getVersion()
     {
         return "1.2.3-a";
     }
 }

メソッド一覧

BaseModクラスには上記のソースコードに示したメソッド以外にも、様々なメソッドが含まれます。以下の表はBaseModクラスに含まれるメソッドの一覧です。なお、太字で示したメソッドはabstractであるため必ずオーバーライドしなければなりません。


メソッド名説明
int addFuel(int itemID, int metaData)指定されたitemID、metaDataのアイテムが燃料として使用可能かどうか指定する。
燃料として利用可能であれば燃焼時間を戻り値とする。
void addRenderer(Map entityRenderMap)Entityクラスとその描画に用いるRenderクラスの対応を追加する。
entityRenderMap.put(Entity.class, new Render())のように指定する。
boolean dispenseEntity(World world, double x, double y, double z, int xVel, int zVel, Item item)ディスペンサーからitemが発射される直前に呼ばれ、対応するEntityの射出処理を行う。この処理を行った場合は戻り値をtrueとする。
void generateNether(World world, Random random, int chunkX, int chunkZ)ネザーの新しい地形を生成するために使用される。
void generateSurface(World world, Random random, int chunkX, int chunkZ)通常の世界に新しい地形を生成するために使用される。ネザーなどの別ディメンジョン、スーパーフラットでは呼ばれない。
String getName()このクラスの名前を定義する。
String getPriorities()ModLoaderがこのModを読み込む順番を定義する。
String getVersion()Modのバージョンを定義する。
void keyboardEvent(KeyBinding keybinding)登録されたキーが押されたときに呼び出される
void load()Modが読み込まれる際に呼ばれる。
void modsLoaded()全てのModが読み込まれた時に呼ばれる。
void onItemPickup(EntityPlayer entityplayer, ItemStack itemstack)プレイヤーがアイテムを拾ったときに呼ばれる。
boolean onTickInGame(float f, Minecraft minecraft)マインクラフトが起動している間、毎Tickごとに呼ばれる。falseを返すと呼ばれなくなる。
先にModLoader.setInGameHookを呼んで有効にする必要がある。
boolean onTickInGUI(float f, Minecraft minecraft, GuiScreen guiscreen)ModでGUIを開くために使用する。falseを返すと呼ばれなくなる。
先にModLoader.setInGUIHookを呼んで有効にする必要がある。
void registerAnimation(Minecraft minecraft) 
void renderInvBlock(RenderBlocks renderblocks, Block block, int i, int j)インベントリ内のブロックを描画するために呼ばれる。
boolean renderWorldBlock(RenderBlocks renderblocks, IBlockAccess iblockaccess, int i, int j, int k, Block block, int l)ワールド上に配置されているブロックを描画するために呼ばれる。
void takenFromCrafting(EntityPlayer entityplayer, ItemStack itemstack, IInventory iinventory)作業台で作成したアイテムを取り出したときに呼び出される。
void takenFromFurnace(EntityPlayer entityplayer, ItemStack itemstack)竈で精錬したアイテムを取り出したときに呼び出される。
String toString()クラスを示す文字列を定義する。