【寿司職人になろう】オリジナルのアイテムを追加しよう
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"
}
}