提供: 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() |
//ブロックの登録。登録文字列はMOD内で被らなければ何でも良い。 | //ブロックの登録。登録文字列はMOD内で被らなければ何でも良い。 | ||
GameRegistry.registerBlock(blockSample, "blockSample"); | GameRegistry.registerBlock(blockSample, "blockSample"); | ||
36行目: | 34行目: | ||
<source lang = "java"> | <source lang = "java"> | ||
package mods.blocksample; | package mods.blocksample; | ||
− | |||
− | |||
import net.minecraft.block.Block; | import net.minecraft.block.Block; | ||
44行目: | 40行目: | ||
import net.minecraft.entity.player.EntityPlayer; | import net.minecraft.entity.player.EntityPlayer; | ||
import net.minecraft.world.World; | import net.minecraft.world.World; | ||
− | |||
− | |||
− | |||
− | |||
− | public class SampleBlock extends Block | + | public class SampleBlock extends Block { |
− | { | ||
− | |||
− | |||
− | |||
− | |||
− | |||
public SampleBlock() { | public SampleBlock() { | ||
61行目: | 47行目: | ||
setCreativeTab(CreativeTabs.tabBlock);/*クリエイティブタブの選択*/ | setCreativeTab(CreativeTabs.tabBlock);/*クリエイティブタブの選択*/ | ||
setBlockName("blockSample");/*システム名の設定*/ | setBlockName("blockSample");/*システム名の設定*/ | ||
− | setBlockTextureName("samplemod:block_sample");/*ブロックのテクスチャの指定 | + | setBlockTextureName("samplemod:block_sample");/*ブロックのテクスチャの指定*/ |
/*以下のものは消しても結構です*/ | /*以下のものは消しても結構です*/ | ||
setHardness(1.5F);/*硬さ*/ | setHardness(1.5F);/*硬さ*/ | ||
71行目: | 57行目: | ||
setLightOpacity(1);/*ブロックの透過係数。デフォルト0(不透過)*/ | setLightOpacity(1);/*ブロックの透過係数。デフォルト0(不透過)*/ | ||
setLightLevel(1.0F);/*明るさ 1.0F = 15*/ | setLightLevel(1.0F);/*明るさ 1.0F = 15*/ | ||
− | |||
} | } | ||
100行目: | 85行目: | ||
//ドロップさせる量を返す | //ドロップさせる量を返す | ||
return 1; | return 1; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
} | } | ||
134行目: | 98行目: | ||
<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"); | ||
139行目: | 115行目: | ||
blockSampleの変数にSampleBlockのインスタンスを代入。<br> | blockSampleの変数にSampleBlockのインスタンスを代入。<br> | ||
− | + | システム名を登録しないと、ゲーム内でブロック名を表示することが出来ない。 | |
+ | このシステム名から、英語や日本語等の翻訳名を指定するには、langファイルに適切に記述する必要が有る。 | ||
+ | langファイルの取扱については、[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]を参照のこと。<br> | ||
+ | ブロックのテクスチャは、'''"src/minecraft/assets/ドメイン名/textures/blocks/登録名"'''に置くこと。<br> | ||
+ | 今回:"src/minecraft/assets/samplemod/textures/blocks/block_sample.png"<br> | ||
+ | ドメイン名は全て小文字にすること。 | ||
===SampleBlock.java=== | ===SampleBlock.java=== | ||
<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をそのまま使っている。 |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |