提供: Minecraft Modding Wiki
2020年10月12日 (月) 20:01時点におけるRedice (トーク | 投稿記録)による版 (ページの作成:「{{前提MOD|reqmod="Fabric API 0.3.2 build 230~"}} {{チュートリアル難易度|difficulty=1|clear=none}} {{チュートリアルカテゴリー|difficulty=1|type=I…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

この記事は"Fabric API 0.3.2 build 230~"を前提MODとしています。

Stone pickaxe.png
中級者向けのチュートリアルです。
C item.png
Itemに関係のあるチュートリアルです。

ツール(道具)の追加

ここでのページは1.6のツール類追加を参考にして書いてます。
ツール(剣、ツルハシ、オノ、シャベル、クワ)を作成します。
金床での修復にはエメラルドを使用します。

動作確認済みのバージョン:1.16.3

ソースコード

  • SampleMod.java
package com.example.tool;

import com.example.tool.CustomAxeItem;
import com.example.tool.CustomHoeItem;
import com.example.tool.CustomPickaxeItem;
import com.example.tool.CustomToolMaterial;

import net.fabricmc.api.ModInitializer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ShovelItem;
import net.minecraft.item.SwordItem;
import net.minecraft.item.ToolItem;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;

public class SampleMod implements ModInitializer
    {
        /**
         * ModID文字列
         */
        public static final String MOD_ID = "samplemod";

        //ツール作成
	public static ToolItem EMERALD_SWORD = new SwordItem(RubyToolMaterial.INSTANCE, 3, -2F, new Item.Settings().group(ItemGroup.TOOLS));
	public static ToolItem EMERALD_PICKAXE = new CustomPickaxeItem(RubyToolMaterial.INSTANCE, 1, -3.0F, new Item.Settings().group(ItemGroup.TOOLS));
	public static ToolItem EMERALD_AXE = new CustomAxeItem(RubyToolMaterial.INSTANCE, 2, -3.0F, new Item.Settings().group(ItemGroup.TOOLS));
	public static ToolItem EMERALD_SHOVEL = new ShovelItem(RubyToolMaterial.INSTANCE, 1.5F, -3.0F, new Item.Settings().group(ItemGroup.TOOLS));
	public static ToolItem EMERALD_HOE = new CustomHoeItem(RubyToolMaterial.INSTANCE, -1, -3.0F, new Item.Settings().group(ItemGroup.TOOLS));

        @Override
        public void onInitialize()
        {
		Registry.register(Registry.ITEM, new Identifier(MOD_ID, "emerald_sword"), EMERALD_SWORD);
		Registry.register(Registry.ITEM, new Identifier(MOD_ID, "emerald_shovel"), EMERALD_SHOVEL);
		Registry.register(Registry.ITEM, new Identifier(MOD_ID, "emerald_axe"), EMERALD_AXE);
		Registry.register(Registry.ITEM, new Identifier(MOD_ID, "emerald_pickaxe"), EMERALD_PICKAXE);
		Registry.register(Registry.ITEM, new Identifier(MOD_ID, "emerald_hoe"), EMERALD_HOE);
        }
    }
}