ソースコード

package mods.Sample;

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;

@Mod(modid="SampleMod", name="SampleMod", version="1.0")
public class mod_Sample {
	@EventHandler
	public static void init(FMLInitializationEvent event)
	{
		GameRegistry.addRecipe(new ItemStack(Item.diamond,64),
				new Object[]{"   "," D ","   ",
				'D',Block.dirt	});
	}
}

解説

package mods.Sample;

パッケージの指定です。
Javaやってる人なら当たり前ですね。

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;

Eclipseが適当に入れてくれるのでどうでもいいです。

@Mod(modid="SampleMod", name="SampleMod", version="1.0")

このクラスがMODのクラスであることを示すアノテーション。
modidが内部の名前。nameがMODの名前。バージョンはバージョンです。

	@EventHandler
	public static void init(FMLInitializationEvent event)

これはイベントハンドラであり、初期化関数であることを示す。
eventはなにか入っているっぽいが何が入ってるのかはわからないっす(´・ω・`)

		GameRegistry.addRecipe(new ItemStack(Item.diamond,64),
				new Object[]{"   "," D ","   ",
				'D',Block.dirt	});

レシピ登録。

new ItemStack(Item.diamond,64)

64個のダイアモンドスタック。

new Object[]{"   "," D ","   ", 'D',Block.dirt	}

Dを土として、真ん中に土を置いた時のレシピこと。

つまり土1個を真ん中に置くと64個ダイアモンドが出てくる。
くれぐれもこのようなゲームバランスが大破するMODは公開しないように。
(どっかで禁止されてたはず。。。)

Moddingへ

トップへ


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-01-02 (金) 00:42:13 (3186d)