LoginSignup
0
0

More than 1 year has passed since last update.

MinecraftでMODを開発したい#2

Last updated at Posted at 2021-05-13

MinecraftでMODの開発をします
試行錯誤を書いていくだけのものになります

概要

特殊な機能を持たないアイテムの追加

動作環境 2021/05/12

Version
Mac OS Big Sur 11.1
IntelliJ IDEA 2021.1.1
AdoptOpenJDK (HotSpot) 1.8.0_282
Minecraft 1.16.5
Forge 36.1.0

目次

  • プログラムの記述
  • アイテムモデルの記述
  • テクスチャの配置
  • 翻訳設定
  • 確認

プログラムの記述

src/main/java/com/ドメイン名/examplemod/ExampleMod.java
package com.ドメイン名.examplemod;

import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;

@Mod(ExampleMod.MOD_ID)
public class ExampleMod {
    public static final String MOD_ID = "examplemod";

    public ExampleMod() {
        IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
        Items.register(modEventBus);
    }

    public static class Items {
        private static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MOD_ID);
        public static final RegistryObject<Item> TITANIUM_INGOT = ITEMS.register("example_item", () -> new Item(new Item.Properties()
                .tab(ItemGroup.TAB_MATERIALS)));

        public static void register(IEventBus eventBus) {
            ITEMS.register(eventBus);
        }
    }
}

MOD_IDはmods.tomlに記載したものと一致する必要があり、すべて小文字の必要がある

ITEMS.register("example_item", …)でアイテムの登録名を指定
アイテムIDはexamplemod:example_itemとなる

ItemクラスのインスタンスはMinecraftのアイテムの種類を表す。耐久上限や最大スタック数など、アイテムの種類によって変わる性質を保持している

tab(ItemGroup.TAB_MATERIALS)でクリエイティブタブ「その他」に表示されるよう指定
この指定を行わなかった場合、クリエイティブタブからは取得できなくなる

アイテムモデルの作成

src/main/resources/assets/examplemod/models/item/example_item.json
{
  "parent": "minecraft:item/generated",
  "textures": {
    "layer0": "examplemod:item/example_item"
  }
}

テクスチャの配置

src/main/resources/assets/examplemod/textures/itemのファイル構造を構築
そこにアイテムのアイコンになる16×16ピクセルのpng画像ファイルexample_item.pngを配置する

翻訳設定

英語翻訳

src/main/resources/assets/examplemod/lang/en_us.json
{
  "item.examplemod.example_item": "Example Item"
}

翻訳が設定されていない言語の代わりとしても表示される

日本語翻訳

src/main/resources/assets/examplemod/lang/ja_jp.json
{
  "item.examplemod.example_item": "お試しアイテム"
}

文字コードはUTF-8で保存

確認

example.png
example2.png

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0