提供: Minecraft Modding Wiki
(一行コメント) |
(→BlockHogeクラス作成) |
||
101行目: | 101行目: | ||
returnでthis.blockIDなので同じ物をドロップさせています | returnでthis.blockIDなので同じ物をドロップさせています | ||
*/ | */ | ||
− | public int idDropped(int | + | public int idDropped(int par1, Random par2Random, int par3) |
{ | { | ||
return this.blockID; | return this.blockID; |
2012年4月6日 (金) 21:18時点における版
この記事は"ModLoader"を前提MODとしています。 |
作成するクラス
mod_hoge
BlockHoge
また、データとしてBlockを追加するだけなので機能部分は省いています。
ソースの解説
mod_hogeクラス作成
mod_***クラスを作成します。 これがないとModLoaderが追加として読み込まないので。
mod_hogeソース
package net.minecraft.src; public class mod_hoge extends BaseMod{ public static Block oreHoge; public int blockID; public String fileToOverride; public String textureFilePath; public mod_hoge() { } public void load() { blockID = 120; fileToOverride = "/terrain.png"; textureFilePath = "/block/hoge.png"; /* BlockHogeクラスから新規BlockのIDとテクスチャファイルを指定 blockID:追加するBlockのIDを指定 ここでは120として定義 fileToOverride:GUIインベントリを使用しない場合は"/terrain.png" GUIインベントリを使用する場合は"/gui/items.png" textureFilePath:テクスチャの参照ファイルパスを指定 */ oreHoge = new BlockHoge(blockID, ModLoader.addOverride(fileToOverride, textureFilePath)); /* setHardness:対象Blockの硬さをFloatで指定 デフォルトは3F */ oreHoge.setHardness(3F); /* setBlockName:対象Blockの名前を指定 */ oreHoge.setBlockName("oreHoge"); /* setResistance:対象Blockの爆破耐性をFloatで指定 デフォルトは5F */ oreHoge.setResistance(5F); /* setStepSound:対象Blockの上を歩いた際の音を指定 下記では石の上を歩いた場合と同じ音を参照 */ oreHoge.setStepSound(Block.soundStoneFootstep); /* setLightValue:対象ブロックを発光させる場合、明るさをFloatで指定 */ oreHoge.setLightValue(1.0F); /* ModLoader.registerBlock:指定したBlockデータを登録します。 */ ModLoader.registerBlock(oreHoge); /* ModLOader.AddName:Minecraftで表示させるBlockの名前を指定 */ ModLoader.AddName(oreHoge, "Hoge Ore"); } public String getVersion() { return "1.0.0"; } }
BlockHogeクラス作成
BlockHogeクラスを作成します。 Blockクラスを継承して作成します。
package net.minecraft.src; import java.util.Random; public class BlockHoge extends Block { /* 親クラスを初期化する必要があるため定義 */ public BlockHoge(int i, int j) { /* Material.rock:石と同じ処理をさせる定義をしているだけです。 */ super(i, j, Material.rock); } /* ブロックが破壊された時にドロップするものを設定 returnでthis.blockIDなので同じ物をドロップさせています */ public int idDropped(int par1, Random par2Random, int par3) { return this.blockID; } /* 上記破壊時のドロップアイテムの個数を指定 returnで1個ドロップするように指定しています。 */ public int quantityDropped(Random random) { return 1; } }
- 下記の通りVer1.1でサンプルソース作成されています。1.2.3はModLoaderのmethod名の先頭が小文字になっているはずです。大した変更でもないので、 --Nagisawa 2012年3月30日 (金) 09:32 (JST)
- AddNameじゃなくてaddNameですね、今のModLoaderですと --219.99.11.26 2012年3月29日 (木) 23:09 (JST)
- 上記はVer1.1を基礎としています。理由は1.23のBlockID増えてるけど公式拡張されてないので変更があるかもしれないため --Nagisawa 2012年3月19日 (月) 22:25 (JST)
コメントの自動更新を有効化