提供: Minecraft Modding Wiki
移動先: 案内検索
(ページ作成・執筆中)
 
(取り敢えず基礎作成)
1行目: 1行目:
このページはModLoaderを使っていることを前提に書かれています。
+
このページはModLoaderを使っていることを前提に書かれています。<br/>
作成するソース
+
作成するクラス<br/>
mod_hoge.java
+
mod_hoge<br/>
BlockHoge.java
+
BlockHoge<br/>
  
 
また、データとしてBlockを追加するだけなので機能部分は省いています。
 
また、データとしてBlockを追加するだけなので機能部分は省いています。
  
==全体の完成形==
+
==ソースの解説==
mod_hoge.java
+
 
 +
===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.java
+
===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;
import net.minecraft.src.forge.*;
 
  
 
public class BlockHoge extends Block
 
public class BlockHoge extends Block
 
{
 
{
public BlockHoge(int i, int j)
+
  /*
{
+
  親クラスを初期化する必要があるため定義
super(i, j, Material.rock);
+
  */
}
+
  public BlockHoge(int i, int j)
}
+
  {
</source>
+
    /*
 
+
    Material.rock:石と同じ処理をさせる定義をしているだけです。
==mod_hoge==
+
    */
各項目部分を説明します。
+
super(i, j, Material.rock);
 
+
  }
<source lang="java">
+
    /*
blockID = 120;
+
  ブロックが破壊された時にドロップするものを設定
fileToOverride = "/terrain.png";
+
  returnでthis.blockIDなので同じ物をドロップさせています
textureFilePath = "/block/hoge.png";
+
  */
oreHoge = new BlockHoge(blockID, ModLoader.addOverride(fileToOverride, textureFilePath));
+
  public int idDropped(int i, int j,Random random)
</source>
+
    {
BlockHogeに対してBlockIDとテクスチャファイルの参照先を指定しています。
+
        return this.blockID;
 
+
    }
ModLoader.addOverride(fileToOverride,textureFilePath)は
+
    /*
fileToOverride:GUIインベントリを使用しない場合は"/terrain.png"
+
  上記破壊時のドロップアイテムの個数を指定
        GUIインベントリを使用する場合は"/gui/items.png"と覚えておけばいいと思います。
+
  returnで1個ドロップするように指定しています。
textureFilePath:テクスチャの参照ファイルのパスを指定する。
+
  */
 
+
  public int quantityDropped(Random random)
<source lang="java">
+
    {
oreHoge.setHardness(3F);
+
        return 1;
oreHoge.setBlockName("oreHoge");
+
    }
oreHoge.setResistance(5F);
 
oreHoge.setStepSound(Block.soundStoneFootstep);
 
oreHoge.setLightValue(1.0F);
 
ModLoader.RegisterBlock(oreHoge);
 
ModLoader.AddName(oreHoge, "Hoge Ore");
 
</source>
 
setHardness(Float):対象Blockの硬さをFloatで指定しています。デフォルトは3F
 
setBlockName(String):Blockの名前を指定
 
setResistance(Float):Blockの爆破耐性を指定指定しています。デフォルトは5F
 
setStepSound(stepsound):Blockの上を歩いた際の音を指定しています。上記例では石の上を歩いた時と同じ音を出します。
 
setLightValue(Float):対象ブロックを発光させる場合明るさを指定します。
 
ModLoader.RegisterBlock(Block):設定したBlock(例ではoreHoge)をBlockとして登録します。
 
ModLoader.AddName(Block, String);Minecraft内で表示させるBlockの名前をStringで指定します。
 
 
 
 
 
 
 
<source lang="java">
 
public class BlockHoge extends Block
 
{
 
public BlockHoge(int i, int j)
 
{
 
super(i, j, Material.rock);
 
}
 
 
}
 
}
 
</source>
 
</source>
 
<source lang="java">
 
 
</source>
 
 
<source lang="java">
 
 
</source>
 
 
<source lang="java">
 
 
</source>
 
 
<source lang="java">
 
 
</source>
 
 
<source lang="java">
 
 
</source>
 
 
<source lang="java">
 
 
</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;
    }
}