提供: Minecraft Modding Wiki
移動先: 案内検索
(ソースコード)
11行目: 11行目:
  
 
import net.minecraft.item.Item;
 
import net.minecraft.item.Item;
 +
import net.minecraft.creativetab.CreativeTabs;
 
import cpw.mods.fml.common.Mod;
 
import cpw.mods.fml.common.Mod;
 
import cpw.mods.fml.common.Mod.EventHandler;
 
import cpw.mods.fml.common.Mod.EventHandler;

2014年10月5日 (日) 13:22時点における版

この記事は"Minecraft Forge Universal 10.12.0.xxx~"を前提MODとしています。

Wood pickaxe.png
初心者向けのチュートリアルです。
C item.png
Itemに関係のあるチュートリアルです。

アイテムの追加

簡単なアイテムの追加方法

ソースコード

  • SampleItemCore.java
package mods.itemsample;

import net.minecraft.item.Item;
import net.minecraft.creativetab.CreativeTabs;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;

@Mod(modid="SampleItemCore", name="SampleItemCore", version="1.0")
public class SampleItemCore
{
	public static Item sampleItem;
	
	@EventHandler
	public void preInit(FMLPreInitializationEvent event)
	{
		//アイテムのインスタンス生成
		sampleItem = new Item()
		.setCreativeTab(CreativeTabs.tabMaterials)/*クリエイティブのタブ*/
		.setUnlocalizedName("SampleItem")/*システム名の登録*/
		.setTextureName("samplemod:sample_item")/*テクスチャの指定*/
		/*.setHasSubtypes(true)*//*ダメージ値等で複数の種類のアイテムを分けているかどうか。デフォルトfalse*/
		/*.setMaxDamage(256)*//*耐久値の設定。デフォルト0*/
		/*.setFull3D()*//*3D表示で描画させる。ツールや骨、棒等。*/
		/*.setContainerItem(Items.stick)*//*クラフト時にアイテムを返却できるようにしている際の返却アイテムの指定。*/
		/*.setPotionEffect(PotionHelper.ghastTearEffect)*//*指定文字列に対応した素材として醸造台で使える。PotionHelper参照のこと。*/
		/*.setNoRepair()*//*修理レシピを削除し、金床での修繕を出来なくする*/
		.setMaxStackSize(64);/*スタックできる量。デフォルト64*/
		//アイテムの登録。登録文字列はMOD内で被らなければ何でも良い。
		GameRegistry.registerItem(sampleItem, "sampleItem");
	}
}

解説

SampleItemCore.java

public static Item sampleItem;

追加するアイテムを記憶しておく変数を宣言。

sampleItem = new Item()
.setCreativeTab(CreativeTabs.tabMaterials)/*クリエイティブのタブ*/
.setUnlocalizedName("SampleItem")/*システム名の登録*/
.setTextureName("samplemod:sample_item")/*テクスチャの指定*/
/*.setHasSubtypes(true)*//*ダメージ値等で複数の種類のアイテムを分けているかどうか。デフォルトfalse*/
/*.setMaxDamage(256)*//*耐久値の設定。デフォルト0*/
/*.setFull3D()*//*3D表示で描画させる。ツールや骨、棒等。*/
/*.setContainerItem(Items.stick)*//*クラフト時にアイテムを返却できるようにしている際の返却アイテムの指定。*/
/*.setPotionEffect(PotionHelper.ghastTearEffect)*//*指定文字列に対応した素材として醸造台で使える。PotionHelper参照のこと。*/
/*.setNoRepair()*//*修理レシピを削除し、金床での修繕を出来なくする*/
.setMaxStackSize(64);/*スタックできる量。デフォルト64*/
GameRegistry.registerItem(sampleItem, "sampleItem");

システム名を登録しないと、ゲーム内でブロック名を表示することが出来ない。 このシステム名から、英語や日本語等の翻訳名を指定するには、langファイルに適切に記述する必要が有る。 langファイルの取扱については、1.6のリソース(テクスチャ・サウンド・言語ファイル等)の置き場所を参照のこと。
テクスチャは、"assets/ドメイン名/textures/items/登録名"に置くこと。
今回:"assets/samplemod/textures/items/sample_item.png"
ドメイン名は全て小文字にすること。