提供: Minecraft Modding Wiki
この記事は"ModLoader及びMinecraftForge"を前提MODとしています。 |
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"; } }