提供: Minecraft Modding Wiki
(ページ作成・執筆中) |
(取り敢えず基礎作成) |
||
1行目: | 1行目: | ||
− | このページはModLoaderを使っていることを前提に書かれています。 | + | このページはModLoaderを使っていることを前提に書かれています。<br/> |
− | + | 作成するクラス<br/> | |
− | mod_hoge | + | mod_hoge<br/> |
− | BlockHoge | + | BlockHoge<br/> |
また、データとしてBlockを追加するだけなので機能部分は省いています。 | また、データとしてBlockを追加するだけなので機能部分は省いています。 | ||
− | == | + | ==ソースの解説== |
− | + | ||
+ | ===mod_hogeクラス作成=== | ||
+ | mod_***クラスを作成します。 | ||
+ | これがないとModLoaderが追加として読み込まないので。 | ||
+ | |||
+ | mod_hogeソース | ||
<source lang="java"> | <source lang="java"> | ||
package net.minecraft.src; | package net.minecraft.src; | ||
25行目: | 30行目: | ||
blockID = 120; | blockID = 120; | ||
fileToOverride = "/terrain.png"; | fileToOverride = "/terrain.png"; | ||
− | textureFilePath = "block/hoge.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)); | oreHoge = new BlockHoge(blockID, ModLoader.addOverride(fileToOverride, textureFilePath)); | ||
+ | /* | ||
+ | setHardness:対象Blockの硬さをFloatで指定 デフォルトは3F | ||
+ | */ | ||
oreHoge.setHardness(3F); | oreHoge.setHardness(3F); | ||
+ | /* | ||
+ | setBlockName:対象Blockの名前を指定 | ||
+ | */ | ||
oreHoge.setBlockName("oreHoge"); | oreHoge.setBlockName("oreHoge"); | ||
+ | /* | ||
+ | setResistance:対象Blockの爆破耐性をFloatで指定 デフォルトは5F | ||
+ | */ | ||
oreHoge.setResistance(5F); | oreHoge.setResistance(5F); | ||
+ | /* | ||
+ | setStepSound:対象Blockの上を歩いた際の音を指定 | ||
+ | 下記では石の上を歩いた場合と同じ音を参照 | ||
+ | */ | ||
oreHoge.setStepSound(Block.soundStoneFootstep); | oreHoge.setStepSound(Block.soundStoneFootstep); | ||
+ | /* | ||
+ | setLightValue:対象ブロックを発光させる場合、明るさをFloatで指定 | ||
+ | */ | ||
oreHoge.setLightValue(1.0F); | oreHoge.setLightValue(1.0F); | ||
+ | /* | ||
+ | ModLoader.RegisterBlock:指定したBlockデータを登録します。 | ||
+ | */ | ||
ModLoader.RegisterBlock(oreHoge); | ModLoader.RegisterBlock(oreHoge); | ||
+ | /* | ||
+ | ModLOader.AddName:Minecraftで表示させるBlockの名前を指定 | ||
+ | */ | ||
ModLoader.AddName(oreHoge, "Hoge Ore"); | ModLoader.AddName(oreHoge, "Hoge Ore"); | ||
} | } | ||
42行目: | 76行目: | ||
</source> | </source> | ||
− | + | ===BlockHogeクラス作成=== | |
+ | BlockHogeクラスを作成します。 | ||
+ | Blockクラスを継承して作成します。 | ||
+ | |||
<source lang="java"> | <source lang="java"> | ||
package net.minecraft.src; | package net.minecraft.src; | ||
import java.util.Random; | import java.util.Random; | ||
− | |||
public class BlockHoge extends Block | 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 i, int j,Random random) | |
− | + | { | |
− | + | return this.blockID; | |
− | + | } | |
− | + | /* | |
− | + | 上記破壊時のドロップアイテムの個数を指定 | |
− | + | returnで1個ドロップするように指定しています。 | |
− | + | */ | |
− | + | public int quantityDropped(Random random) | |
− | + | { | |
− | + | return 1; | |
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | { | ||
− | |||
− | |||
− | |||
− | |||
} | } | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
2012年3月19日 (月) 22:20時点における版
このページはModLoaderを使っていることを前提に書かれています。
作成するクラス
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 i, int j,Random random) { return this.blockID; } /* 上記破壊時のドロップアイテムの個数を指定 returnで1個ドロップするように指定しています。 */ public int quantityDropped(Random random) { return 1; } }