main() blog

プログラムやゲーム、旅、愛する家族について綴っていきます。

Minecraft MODでオリジナル「素材」を追加しよう!(Mac編)

Forge MDK 1.12.2 の環境での説明になります。

続いてオリジナルの素材を追加してみます。

まずはJavaのソースを用意します。 MyItemというクラスを新規に追加します。 ソースは以下の様に書いてください。

package testmod;

import net.minecraft.item.Item;

public class MyItem extends Item{
    public MyItem(String name) {
        setUnlocalizedName(name);
        setRegistryName(name);
    }   
}

続いてModItemsというクラスを追加します。 ここで "my_ingot" という素材を登録します。

package testmod;

import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

@Mod.EventBusSubscriber(modid=TestMod.MODID)
public class ModItems {
    
    static Item myIngot;

    public static void init()
    {
        // オリジナルインゴットを追加.
        myIngot = new MyItem("my_ingot").setCreativeTab(CreativeTabs.MATERIALS).setMaxStackSize(32);
    }
    
    @SubscribeEvent
    public static void registerItems(RegistryEvent.Register<Item> event)
    {
        event.getRegistry().registerAll(myIngot);
    }
    
    @SubscribeEvent
    public static void registerRenders(ModelRegistryEvent event)
    {
        registerRender(myIngot);
    }
    
    private static void registerRender(Item item)
    {
        ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation( item.getRegistryName(), "inventory"));
    }
}

resource以下に設定ファイルとテクスチャを用意します。

models/item以下に "my_ingot.json" を用意します。

{
    "parent": "item/generated",
    "textures": {
        "layer0": "testmod:items/my_ingot"
     },
     
    "display": {
        "thirdperson": {
            "rotation": [-90,0,0],
            "translation": [0,1,-3],
            "scale": [0.55,0.55,0.55]
        },
        "firstperson": {
            "rotation": [0,-135,25],
            "translation": [0,4,2],
            "scale": [1.7,1.7,1.7]
        }
    }
}

textures/items以下にpngを置きます。

f:id:takezoh_1127:20181108215626p:plain

はい、早速実行してみましょう。

起動したら[E]キーを押して持ち物画面を開きます。 その他のタブを選択して一番下までスクロールしてみます。 追加した素材が表示されています。

f:id:takezoh_1127:20181108215707p:plain

f:id:takezoh_1127:20181108215724p:plain

これで無事に素材を追加することができました。