提供: Minecraft Modding Wiki
2013年2月9日 (土) 20:49時点におけるFirstSpring (トーク | 投稿記録)による版 (荒しと思われるコメントを削除)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

ソース解説[編集]

この記事は"ModLoader"を前提MODとしています。

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はすべてのコメントを歓迎します。匿名で投稿したくない場合は、アカウント作成またはログインしてください。無料です。


  • ここのソースではかかれていないけどBlockPlatinumクラスを実装するときにやれる --122.197.139.45 2012年11月9日 (金) 00:50 (JST)

  • ダイアモンドのような鉱石を掘るとすぐに鉱石以外のアイテムをドロップさせるにはどうすれば良いのですか --123.227.102.221 2012年10月16日 (火) 14:33 (JST)