提供: Minecraft Modding Wiki
この記事は"Minecraft Forge Universal 10.12.0.xxx~"を前提MODとしています。 |
ブロックの追加
ワールド上に設置できる簡単なブロックの追加方法
ソースコード
- SampleBlockCore.java
package mods.blocksample; import net.minecraft.block.Block; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid="BlockSampleMod", name="BlockSampleMod", version="1.0") public class SampleBlockCore { public static Block blockSample; @EventHandler public void preInit(FMLPreInitializationEvent event) { //ブロックのインスタンス生成 blockSample = new SampleBlock() .setCreativeTab(CreativeTabs.tabBlock)/*クリエイティブタブの選択*/ .setUnlocalizedName("blockSample")/*システム名の設定*/ .setTextureName("samplemod:block_sample")/*ブロックのテクスチャの指定*/ /*いらないものは消してください*/ .setHardness(1.5F)/*硬さ*/ .setResistance(1.0F)/*爆破耐性*/ .setStepSound(Block.soundStoneFootstep)/*ブロックの上を歩いた時の音*/ /*.setBlockUnbreakable()*//*ブロックを破壊不可に設定*/ /*.setTickRandomly(true)*//*ブロックのtick処理をランダムに。デフォルトfalse*/ /*.disableStats()*//*ブロックの統計情報を保存しない*/ .setLightOpacity(1)/*ブロックの透過係数。デフォルト0(不透過)*/ .setLightValue(1.0F);/*明るさ 1.0F = 15*/ //ブロックの登録。登録文字列はMOD内で被らなければ何でも良い。 GameRegistry.registerBlock(blockSample, "blockSample"); } }
- SampleBlock.java
package mods.blocksample; import net.minecraft.block.Block; import net.minecraft.block.material.Material; public class SampleBlock extends Block { public SampleBlock() { super(Material.rock); } }
解説
SampleBlockCore.java
public static Block blockSample;
追加するブロックを保持しておく変数を宣言
blockSample = new SampleBlock() .setCreativeTab(CreativeTabs.tabBlock)/*クリエイティブタブの選択*/ .setUnlocalizedName("blockSample")/*システム名の設定*/ .setTextureName("samplemod:block_sample")/*ブロックのテクスチャの指定*/ /*いらないものは消してください*/ .setHardness(1.5F)/*硬さ*/ .setResistance(1.0F)/*爆破耐性*/ .setStepSound(Block.soundStoneFootstep)/*ブロックの上を歩いた時の音*/ /*.setBlockUnbreakable()*//*ブロックを破壊不可に設定*/ /*.setTickRandomly(true)*//*ブロックのtick処理をランダムに。デフォルトfalse*/ /*.disableStats()*//*ブロックの統計情報を保存しない*/ .setLightOpacity(1)/*ブロックの透過係数。デフォルト0(不透過)*/ .setLightValue(1.0F);/*明るさ 1.0F = 15*/ //ブロックの登録。登録文字列はMOD内で被らなければ何でも良い。 GameRegistry.registerBlock(blockSample, "blockSample");
blockSampleの変数にSampleBlockのインスタンスを代入。
システム名を登録しないと、ゲーム内でブロック名を表示することが出来ない。
このシステム名から、英語や日本語等の翻訳名を指定するには、langファイルに適切に記述する必要が有る。
langファイルの取扱については、1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所を参照のこと。
ブロックのテクスチャは、"src/minecraft/assets/ドメイン名/textures/blocks/登録名"に置くこと。
今回:"src/minecraft/assets/samplemod/textures/blocks/block_sample.png"
ドメイン名は全て小文字にすること。