【春Modを作ろう】卒業証書を追加しよう

【春Modを作ろう】卒業証書を追加しよう

ModItems.javaに以下のコードを追加(黄色の部分)

public class ModItems {

  public static final Item ODANGO = registerItem("odango",
      new CustomFoodItem(new FabricItemSettings()));


  public static final Item DIPLOMA = registerItem("diploma",
      new DiplomaItem(new FabricItemSettings().maxCount(1)));

  private static Item registerItem(String name, Item item) {
    return Registry.register(Registries.ITEM, new Identifier(Springmod.MOD_ID, name), item);
  }

  private static void itemGroupIngredients(FabricItemGroupEntries entries) {


  }


  public static void registerModItems() {

    ItemGroupEvents.modifyEntriesEvent(ItemGroups.INGREDIENTS).register(ModItems::itemGroupIngredients);
  }
}

ModItemGroup.javaを編集(黄色の部分)

package mark.spring.springmod;

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 SPRING_GROUP = Registry.register(Registries.ITEM_GROUP,
      new Identifier(Springmod.MOD_ID, "spring"),
      FabricItemGroup.builder().displayName(Text.translatable("itemgroup.spring"))
          .icon(() -> new ItemStack(ModItems.ODANGO)).entries((displayContext, entries) -> {
            entries.add(ModItems.ODANGO);
            entries.add(ModBlocks.CHIRASHI_SUSHI);
            entries.add(ModItems.DIPLOMA);


          }).build());


  public static void registerItemGroups() {
    Springmod.LOGGER.info("Registering Item Groups for " + Springmod.MOD_ID);
  }
}

テクスチャーを追加しよう

models/itemディレクトリにファイル作成をクリックしてdiploma.jsonを作成し以下のように編集。

{
  "parent": "item/generated",
  "textures": {
  "layer0": "springmod:item/diploma"
  }
}

itemディレクトリにdiploma.pngというファイル名でダウンロードしたテクスチャをアップロードしよう!

右クリックで文字を表示できるようにしよう

springmodディレクトリにファイル作成をクリックしてDiplomaItem.javaを作成し以下のように編集。

package mark.spring.springmod;


import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;

public class DiplomaItem extends Item {

  public DiplomaItem(Settings settings) {
    super(settings);
  }

  @Override
  public TypedActionResult<ItemStack> use(World world, PlayerEntity player, Hand hand) {
    if (world.isClient) { 
      player.sendMessage(Text.of("卒業証書を取得しました!おめでとうございます!"), true);
      return TypedActionResult.success(player.getStackInHand(hand));
    }
    return TypedActionResult.pass(player.getStackInHand(hand));
  }
}
タイトルとURLをコピーしました