提供: Minecraft Modding Wiki
移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
2行目: 2行目:
 
{{チュートリアル難易度|difficulty=0|clear=none}}
 
{{チュートリアル難易度|difficulty=0|clear=none}}
 
{{チュートリアルカテゴリー|difficulty=0|type=Item}}
 
{{チュートリアルカテゴリー|difficulty=0|type=Item}}
== アイテムの追加 ==
+
==アイテムの追加==
=== 簡単な無機能アイテムの追加 ===
+
<p>簡単な無機能アイテムの追加方法</p>
==== ソースコード ====
+
===ソースコード===
 
SampleMod.java
 
SampleMod.java
<source lang = "java" line>
+
<source lang = "java">
 
package com.example.item;
 
package com.example.item;
  
78行目: 78行目:
 
     }
 
     }
  
    /**
+
     @EventHandler
    * モデル登録用イベント
+
     private void preInit(FMLPreInitializationEvent event){
    * preInitなどでは正しく登録できない場合があるので注意
+
        if (event.getSide() == Side.CLIENT)
    */
+
            ModelLoader.setCustomModelResourceLocation(ITEMS.sample_item, 0, new ModelResourceLocation(ITEMS.sample_item.getRegistryName(), "inventory"));
     @SubscribeEvent
 
     public static void registerModels(ModelRegistryEvent event){
 
 
 
        ModelLoader.setCustomModelResourceLocation(ITEMS.sample_item, 0, new ModelResourceLocation(ITEMS.sample_item.getRegistryName(), "inventory"));
 
 
 
 
     }
 
     }
 
}
 
}
 
</source>
 
</source>
  
==== 解説 ====
+
==解説==
 
以前とは違い、登録用イベントが発火されるようになった。<br>
 
以前とは違い、登録用イベントが発火されるようになった。<br>
 
アイテムのインスタンス保持用のクラスはForgeの中の人の手法に沿ったものであるが、別に従来の方法でも問題ない。ここでは細かな解説をしない。<br>
 
アイテムのインスタンス保持用のクラスはForgeの中の人の手法に沿ったものであるが、別に従来の方法でも問題ない。ここでは細かな解説をしない。<br>
 
LangやModel用Jsonについては過去のチュートリアルを参照のこと。<br>
 
LangやModel用Jsonについては過去のチュートリアルを参照のこと。<br>
 
+
また、1.11からMOD ID等のリソースに関連する文字列はすべて小文字が推奨されるようになった。<br>
=== アイテムの色を変える ===
+
例えば、Langファイルは「ja_JP.lang」ではなく「ja_jp.lang」が推奨される。
ItemColors#registerItemColorHandlerにハンドラを登録することでアイテムの描画色を変更することができる(glColorに相当)。ItemColorsは、Minecraft#getItemColorsで得られる(バニラの初期化が終わるinit以降に使用すること。preInitではnull)。
 
 
 
描画色が変更されるのは、アイテムモデル(assets/models/item/<item_model>.json)側で指定した「layer0」のテクスチャである。
 
 
 
バニラポーションは、layer1でボトルのテクスチャ、layer0で中の液体のテクスチャを指定し、ItemColorsにポーションアイテムを登録、ポーションの色をnet.minecraft.potion.PotionUtils#getColorで求めている。ポーションのアイテムモデルは「assets/minecraft/models/item/bottle_drinkable.json」などである。
 
 
 
アイテムモデル内で「face」(faces/northなど。[http://minecraft.gamepedia.com/Model#Item_models Minecraft Wiki/Model#Item_Models])に「tintindex」を指定すると、第二引数に渡される。
 
 
 
<source lang="java" line>
 
@Mod.EventHandler
 
public void init(FMLInitializationEvent event) {
 
    Minecraft.getMinecraft().getItemColors().registerItemColorHandler(new IItemColor() {
 
        @Override
 
        public int getColorFromItemstack(ItemStack stack, int tintIndex) {
 
            return 0x00FF00; // 色のARGB値を返す。この場合、緑がかって描画される
 
        }
 
    }, Items.sample_item);
 
}
 
</source>
 

Minecraft Modding Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMinecraft Modding Wiki:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)