提供: Minecraft Modding Wiki
移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
1行目: 1行目:
 
{{前提MOD|reqmod="Minecraft Forge Universal 10.12.0.xxx~"}}
 
{{前提MOD|reqmod="Minecraft Forge Universal 10.12.0.xxx~"}}
{{チュートリアル難易度|difficulty=0|clear=none}}
+
 
{{チュートリアルカテゴリー ‎|type=Block| difficulty=0}}
 
<p>ワールド上に設置できる簡単な無機能ブロックの追加方法</p>
 
 
==ブロックの追加==
 
==ブロックの追加==
簡単な無機能ブロックの追加
+
<p>ワールド上に設置できる簡単なブロックの追加方法</p>
 +
 
 
===ソースコード===
 
===ソースコード===
 
*SampleBlockCore.java
 
*SampleBlockCore.java
16行目: 15行目:
 
import cpw.mods.fml.common.registry.GameRegistry;
 
import cpw.mods.fml.common.registry.GameRegistry;
  
@Mod(modid=SampleBlockCore.MOD_ID, name="BlockSampleMod", version="1.0")
+
@Mod(modid="BlockSampleMod", name="BlockSampleMod", version="1.0")
 
public class SampleBlockCore
 
public class SampleBlockCore
 
{
 
{
        public static final String MOD_ID = "BlockSampleMod";
 
 
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 java.util.Random;
 
  
 
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;
import cpw.mods.fml.relauncher.SideOnly;
 
import cpw.mods.fml.relauncher.Side;
 
import net.minecraft.client.renderer.texture.IIconRegister;
 
import net.minecraft.util.IIcon;
 
  
public class SampleBlock extends Block
+
public class SampleBlock extends Block {
{
 
    @SideOnly(Side.CLIENT)
 
    private IIcon TopIcon;
 
 
 
    @SideOnly(Side.CLIENT)
 
    private IIcon SideIcon;
 
  
 
     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*/
        setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);/*当たり判定*/
 
 
     }
 
     }
  
100行目: 85行目:
 
         //ドロップさせる量を返す
 
         //ドロップさせる量を返す
 
         return 1;
 
         return 1;
    }
 
 
    @Override
 
    @SideOnly(Side.CLIENT)
 
    public void registerBlockIcons(IIconRegister par1IconRegister)
 
    {
 
        this.TopIcon = par1IconRegister.registerIcon("samplemod:block_sample");
 
        this.SideIcon = par1IconRegister.registerIcon("samplemod:block_sample_side");
 
    }
 
 
    @SideOnly(Side.CLIENT)
 
    public IIcon getIcon(int par1, int par2)
 
    {
 
        if(par1 == 0 || par1 == 1)
 
        {
 
                  return TopIcon;
 
        }
 
        else
 
        {
 
                  return SideIcon;
 
        }
 
 
     }
 
     }
 
}
 
}
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() {
         setCreativeTab(CreativeTabs.tabBlock);/*クリエイティブタブの選択*/
+
         super(Material.rock);
        setBlockName("blockSample");/*システム名の設定*/
 
        setBlockTextureName("samplemod:block_sample");/*ブロックのテクスチャの指定(複数指定の場合は消してください)*/
 
        /*以下のものは消しても結構です*/
 
        setHardness(1.5F);/*硬さ*/
 
        setResistance(1.0F);/*爆破耐性*/
 
        setStepSound(Block.soundTypeStone);/*ブロックの上を歩いた時の音*/
 
/*setBlockUnbreakable();*//*ブロックを破壊不可に設定*/
 
/*setTickRandomly(true);*//*ブロックのtick処理をランダムに。デフォルトfalse*/
 
/*disableStats();*//*ブロックの統計情報を保存しない*/
 
        setLightOpacity(1);/*ブロックの透過係数。デフォルト0(不透過)*/
 
        setLightLevel(1.0F);/*明るさ 1.0F = 15*/
 
 
     }
 
     }
 
</source>
 
</source>
Materialとはブロックの性質として、可燃性であるか、自分自身をドロップするか、ピストンなどで動かすことができるか、マップ上での色、透明(例:葉)か、地面につもる(例:雪)かをまとめて定義したもの。<br>
+
Materialとはブロックの性質として、可燃性であるか、自分自身をドロップするか、ピストンなどで動かすことができるか、マップ上での色、透明(例:葉)か、地面につもる(例:雪)かをまとめて定義したもの。
既にMaterial.javaに定義されているものと同じ性質で良ければ、そのまま使える。<br>
+
既にMaterial.javaに定義されているものと同じ性質で良ければ、そのまま使える。
ここでは上記の性質について石ブロックと同じものを使うので、Material.rockをそのまま使っている。<br>
+
ここでは上記の性質について石ブロックと同じものを使うので、Material.rockをそのまま使っている。
システム名を登録しないと、ゲーム内でブロック名を表示することが出来ない。<br>
 
このシステム名から、英語や日本語等の翻訳名を指定するには、langファイルに適切に記述する必要が有る。<br>
 
langファイルの取扱については、[[1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]を参照のこと。<br>
 
ブロックのテクスチャは、'''"src/main/resources/assets/ドメイン名/textures/blocks/登録名"'''に置くこと。<br>
 
今回:"src/main/resources/assets/samplemod/textures/blocks/block_sample(_side).png"<br>
 
ドメイン名は全て小文字にすること。
 
 
 
1.7のリソースを置く場所は、[[1.7のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所]]を参照のこと。
 

Minecraft Modding Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMinecraft Modding Wiki:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)