提供: Minecraft Modding Wiki
この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
11行目: | 11行目: | ||
import net.minecraft.block.Block; | import net.minecraft.block.Block; | ||
+ | import net.minecraft.client.Minecraft; | ||
import net.minecraft.client.resources.model.ModelBakery; | import net.minecraft.client.resources.model.ModelBakery; | ||
import net.minecraft.client.resources.model.ModelResourceLocation; | import net.minecraft.client.resources.model.ModelResourceLocation; | ||
48行目: | 49行目: | ||
GameRegistry.registerBlock(sampleBlock, SampleItemBlock.class, "sampleblock"); | GameRegistry.registerBlock(sampleBlock, SampleItemBlock.class, "sampleblock"); | ||
+ | |||
+ | } | ||
+ | |||
+ | @EventHandler | ||
+ | public void init(FMLInitializationEvent event) { | ||
//テクスチャ・モデル指定JSONファイル名の登録。 | //テクスチャ・モデル指定JSONファイル名の登録。 | ||
55行目: | 61行目: | ||
ModelBakery.addVariantName(Item.getItemFromBlock(sampleBlock), MOD_ID + ":" + "sampleblock0", MOD_ID + ":" + "sampleblock1"); | ModelBakery.addVariantName(Item.getItemFromBlock(sampleBlock), MOD_ID + ":" + "sampleblock0", MOD_ID + ":" + "sampleblock1"); | ||
//1IDで複数モデルを登録するなら、上のメソッドで登録した登録名を指定する。 | //1IDで複数モデルを登録するなら、上のメソッドで登録した登録名を指定する。 | ||
− | + | Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(sampleBlock), 0, new ModelResourceLocation(MOD_ID + ":" + "sampleblock0", "inventory")); | |
− | + | Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(sampleBlock), 1, new ModelResourceLocation(MOD_ID + ":" + "sampleblock1", "inventory")); | |
//ModelLoader.setCustomStateMapper(sampleBlock, (new StateMap.Builder()).addPropertiesToIgnore(sampleBlock.METADATA).build()); | //ModelLoader.setCustomStateMapper(sampleBlock, (new StateMap.Builder()).addPropertiesToIgnore(sampleBlock.METADATA).build()); | ||
//上記のようにして無視させたいPropertyを指定することもできる。 | //上記のようにして無視させたいPropertyを指定することもできる。 | ||
217行目: | 223行目: | ||
//モデルJSONファイルのファイル名を登録。1IDで1つだけなら、登録名はGameRegistryでの登録名と同じものにする。 | //モデルJSONファイルのファイル名を登録。1IDで1つだけなら、登録名はGameRegistryでの登録名と同じものにする。 | ||
//1IDで複数モデルを登録するなら、上のメソッドで登録した登録名を指定する。 | //1IDで複数モデルを登録するなら、上のメソッドで登録した登録名を指定する。 | ||
− | + | Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(sampleBlock), 0, new ModelResourceLocation(MOD_ID + ":" + "sampleBlock0", "inventory")); | |
− | + | Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(sampleBlock), 1, new ModelResourceLocation(MOD_ID + ":" + "sampleBlock1", "inventory")); | |
//ModelLoader.setCustomStateMapper(sampleBlock, (new StateMap.Builder()).addPropertiesToIgnore(sampleBlock.METADATA).build()); | //ModelLoader.setCustomStateMapper(sampleBlock, (new StateMap.Builder()).addPropertiesToIgnore(sampleBlock.METADATA).build()); | ||
//上記のようにして無視させたいPropertyを指定することもできる。 | //上記のようにして無視させたいPropertyを指定することもできる。 | ||
227行目: | 233行目: | ||
ModelBakery#addVariantNameメソッドは、羊毛ブロックのような、1IDで複数種類のブロックのモデルを登録する際の登録名を予め指定しておくメソッドである。 | ModelBakery#addVariantNameメソッドは、羊毛ブロックのような、1IDで複数種類のブロックのモデルを登録する際の登録名を予め指定しておくメソッドである。 | ||
BlockStateのPropertyを持たないブロックを追加する場合は必要ない。 | BlockStateのPropertyを持たないブロックを追加する場合は必要ない。 | ||
− | + | ItemModelMesher#registerメソッドでテクスチャ・モデルのJSONファイルを登録している。 | |
ここで登録されるのは手持ちやドロップアイテム時の描画についてであり、設置時のモデルに関して登録は不要である。 | ここで登録されるのは手持ちやドロップアイテム時の描画についてであり、設置時のモデルに関して登録は不要である。 | ||
1.7と同様の処理については[[1.7のブロック追加]]を参照のこと。 | 1.7と同様の処理については[[1.7のブロック追加]]を参照のこと。 |