0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have 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

######参考文献
https://www.tntmodders.com/tutorial/item-1165/

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?