【寿司職人になろう】オリジナルのアイテムを追加しよう
sushimodディレクトリにModItems.javaを作成し、以下をコピー。
package mark.sushi.sushimod;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroupEntries;
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
import net.minecraft.item.*;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
public class ModItems {
  private static Item registerItem(String name, Item item) {
    return Registry.register(Registries.ITEM, new Identifier(SushiMod.MOD_ID,name), item);
  }
  private static void itemGroupIngredients(FabricItemGroupEntries entries) {
  }
  public static void registerModItems() {
    ItemGroupEvents.modifyEntriesEvent(ItemGroups.INGREDIENTS).register(ModItems::itemGroupIngredients);
  }
}アイテムの追加のため以下のコードを追加(黄色の部分)
public class ModItems {
  public static final Item SUSHI = registerItem("sushi",
      new CustomFoodItem(new FabricItemSettings()));
  private static Item registerItem(String name, Item item) {
    return Registry.register(Registries.ITEM, new Identifier(SushiMod.MOD_ID,name), item);
  }
  private static void itemGroupIngredients(FabricItemGroupEntries entries) {
  }
  public static void registerModItems() {
    ItemGroupEvents.modifyEntriesEvent(ItemGroups.INGREDIENTS).register(ModItems::itemGroupIngredients);
  }
}SushiMod.javaを編集(黄色の部分)
package mark.sushi.sushimod;
import net.fabricmc.api.ModInitializer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SushiMod implements ModInitializer {
	public static final String MOD_ID = "sushimod";
	public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
	@Override
	public void onInitialize() {
		ModItems.registerModItems();
		ModItemGroup.registerItemGroups();
		LOGGER.info("Hello Fabric world!");
	}
}ModItemGroup.javaを編集(黄色の部分)
package mark.sushi.sushimod;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
public class ModItemGroup {
  public static final ItemGroup SUSHI_GROUP = Registry.register(Registries.ITEM_GROUP,
      new Identifier(SushiMod.MOD_ID,"sushi_group"),
      FabricItemGroup.builder().displayName(Text.translatable("itemgroup.sushi_group"))
          .icon(() -> new ItemStack(ModItems.SUSHI)).entries((displayContext, entries) -> {
            entries.add(ModItems.SUSHI);
          }).build());
  public static void registerItemGroups() {
  }
}テクスチャーを追加しよう
1-2 : ディレクトリを作成しよう!
resourcesディレクトリをクリック
assetsディレクトリを作成
resources/assetsディレクトリをクリック
sushimodディレクトリを作成
assets/sushimodディレクトリをクリック
texturesディレクトリを作成
sushimod/texturesディレクトリをクリック
itemディレクトリを作成
itemディレクトリにsushi.pngというファイル名でダウンロードしたテクスチャをアップロードしよう!
2-1 : モデルファイルの作成
assets/sushimodディレクトリをクリック
modelsディレクトリを作成
作成したmodelsをクリック
itemディレクトリを作成
models/itemディレクトリにファイル作成をクリックしてsushi.jsonを作成し以下のように編集。
{
  "parent": "minecraft:item/generated",
  "textures": {
  "layer0": "sushimod:item/sushi"
  }
}
