提供: Minecraft Modding Wiki
この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
{{前提MOD|reqmod="Minecraft Forge Universal 10.12.0.xxx~"}} | {{前提MOD|reqmod="Minecraft Forge Universal 10.12.0.xxx~"}} | ||
− | + | ||
− | |||
− | |||
==ブロックの追加== | ==ブロックの追加== | ||
− | + | <p>ワールド上に設置できる簡単なブロックの追加方法</p> | |
+ | |||
===ソースコード=== | ===ソースコード=== | ||
*SampleBlockCore.java | *SampleBlockCore.java | ||
16行目: | 15行目: | ||
import cpw.mods.fml.common.registry.GameRegistry; | import cpw.mods.fml.common.registry.GameRegistry; | ||
− | @Mod(modid= | + | @Mod(modid="BlockSampleMod", name="BlockSampleMod", version="1.0") |
public class SampleBlockCore | public class SampleBlockCore | ||
{ | { | ||
− | |||
public static Block blockSample; | public static Block blockSample; | ||
26行目: | 24行目: | ||
{ | { | ||
//ブロックのインスタンス生成 | //ブロックのインスタンス生成 | ||
− | blockSample = new SampleBlock(); | + | 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内で被らなければ何でも良い。 | //ブロックの登録。登録文字列はMOD内で被らなければ何でも良い。 | ||
GameRegistry.registerBlock(blockSample, "blockSample"); | GameRegistry.registerBlock(blockSample, "blockSample"); | ||
36行目: | 46行目: | ||
<source lang = "java"> | <source lang = "java"> | ||
package mods.blocksample; | package mods.blocksample; | ||
− | |||
− | |||
import net.minecraft.block.Block; | import net.minecraft.block.Block; | ||
import net.minecraft.block.material.Material; | import net.minecraft.block.material.Material; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | public class SampleBlock extends Block | + | public class SampleBlock extends Block { |
− | { | ||
− | |||
− | |||
− | |||
− | |||
− | |||
public SampleBlock() { | public SampleBlock() { | ||
super(Material.rock); | super(Material.rock); | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
} | } | ||
134行目: | 67行目: | ||
<source lang = "java"> | <source lang = "java"> | ||
blockSample = new SampleBlock() | 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内で被らなければ何でも良い。 | //ブロックの登録。登録文字列はMOD内で被らなければ何でも良い。 | ||
GameRegistry.registerBlock(blockSample, "blockSample"); | GameRegistry.registerBlock(blockSample, "blockSample"); | ||
</source> | </source> | ||
blockSampleの変数にSampleBlockのインスタンスを代入。<br> | blockSampleの変数にSampleBlockのインスタンスを代入。<br> | ||
− | |||
− | |||
− | |||
− | |||
<source lang = "java"> | <source lang = "java"> | ||
public SampleBlock() { | public SampleBlock() { | ||
− | + | super(Material.rock); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
</source> | </source> | ||
− | Materialとはブロックの性質として、可燃性であるか、自分自身をドロップするか、ピストンなどで動かすことができるか、マップ上での色、透明(例:葉)か、地面につもる(例:雪)かをまとめて定義したもの。 | + | Materialとはブロックの性質として、可燃性であるか、自分自身をドロップするか、ピストンなどで動かすことができるか、マップ上での色、透明(例:葉)か、地面につもる(例:雪)かをまとめて定義したもの。 |
− | 既にMaterial.javaに定義されているものと同じ性質で良ければ、そのまま使える。 | + | 既にMaterial.javaに定義されているものと同じ性質で良ければ、そのまま使える。 |
− | ここでは上記の性質について石ブロックと同じものを使うので、Material.rockをそのまま使っている。 | + | ここでは上記の性質について石ブロックと同じものを使うので、Material.rockをそのまま使っている。 |
− | システム名を登録しないと、ゲーム内でブロック名を表示することが出来ない。 | + | |
− | このシステム名から、英語や日本語等の翻訳名を指定するには、langファイルに適切に記述する必要が有る。 | + | システム名を登録しないと、ゲーム内でブロック名を表示することが出来ない。 |
+ | このシステム名から、英語や日本語等の翻訳名を指定するには、langファイルに適切に記述する必要が有る。 | ||
langファイルの取扱については、[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]を参照のこと。<br> | langファイルの取扱については、[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]を参照のこと。<br> | ||
− | ブロックのテクスチャは、'''"src/ | + | ブロックのテクスチャは、'''"src/minecraft/assets/ドメイン名/textures/blocks/登録名"'''に置くこと。<br> |
− | 今回:"src/ | + | 今回:"src/minecraft/assets/samplemod/textures/blocks/block_sample.png"<br> |
ドメイン名は全て小文字にすること。 | ドメイン名は全て小文字にすること。 | ||
− | |||
− |