提供: Minecraft Modding Wiki
2012年3月22日 (木) 15:58時点におけるNagisawa (トーク | 投稿記録)による版 (簡潔に終わりそうだったので、hogeから離脱してみた。)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

このページは
ModLoaderを前提としています。

ソース解説

mod_generatingoreクラスを作成

mod_の後は適当に名前をつけています。 例として無駄にプラチナ鉱石を追加したサンプルです。

package net.minecraft.src;

import java.util.*;

public class mod_generatingOre extends BaseMod
{

	public static final Block blockPlatinum;
	public static final Item itemPlatinum;
	public static int blockPlatinumID;
	public static int itemPlatinumID;
	
	public mod_generatingOre()
	{
	}
	
	@Override
	public String getVersion() {
		return "1.23";
	}

	@Override
	public void load() {
		ModLoader.registerBlock(blockPlatinum);
		ModLoader.addName(blockPlatinum, "Platinum Ore");
		ModLoader.addName(itemPlatinum, "Platinum Ingot");
		/*
		 * Blockを釜戸で焼くと、インゴットになるよ!
		 */
		ModLoader.addSmelting(blockPlatinum.blockID, new ItemStack(itemPlatinum, 1, 0));
	}
	
	/*
	 * 鉱石を生成させるためにGenerateSurfaceメソッドを使います。
	 * 
	 * for(int i = 0; i < 5; i++)
	 * このfor文の「i < 5」はレアリティを指定しています。
	 * 石炭で20
	 * 
	 * int randomPosY = random.nextInt(20);
	 * ここでY軸の調整です。
	 * ここではY20以下で生成するという意味。
	 * 
	 * (new WorldGenMinable(mod_generatingOre.blockPlatinum.blockID, 2)).generate(world, random, randomPosX, randomPosY, randomPosZ);
	 * あとは、生成させる対象BlockIDを指定して、固まってる数を指定します。
	 * ここでは最大「2」です。
	 * 
	 */
	public void GenerateSurface(World world, Random random, int chunkX, int chunkZ)
	{
		for(int i = 0; i < 5; i++)
		{
			int randomPosX = chunkX + random.nextInt(16);
			int randomPosY = random.nextInt(20);
			int randomPosZ = chunkZ + random.nextInt(16);
			(new WorldGenMinable(mod_generatingOre.blockPlatinum.blockID, 2)).generate(world, random, randomPosX, randomPosY, randomPosZ);
		}
	}
	
	static
	{
		blockPlatinumID = 100;
		itemPlatinumID = 5000;
		blockPlatinum = new BlockPlatinum(blockPlatinumID, ModLoader.addOverride("/terrain.png", "/platinum/block.png"));
		blockPlatinum.setHardness(5F).setResistance(6F).setStepSound(Block.soundMetalFootstep).setBlockName("blockPlatinum");
		
		itemPlatinum = new Item(itemPlatinumID).setItemName("itemPlatinum");
		itemPlatinum.iconIndex = ModLoader.addOverride("/gui/items.png", "/platinum/item.png");
	}
	
	
}


自分のコメントを追加
Minecraft Modding Wikiはすべてのコメントを歓迎します。匿名で投稿したくない場合は、アカウント作成またはログインしてください。無料です。