package net.yyc12345.teyvatcraft.init;

import net.minecraft.util.registry.Registry;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder;

import net.minecraft.util.Identifier;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.Rarity;
import net.minecraft.item.BlockItem;
import net.minecraft.item.FoodComponent;
import net.minecraft.item.Item;
import net.minecraft.item.ItemConvertible;
import static net.minecraft.block.ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE;
import net.yyc12345.teyvatcraft.items.SeedItem;

public class ItemsManager {
    public static final ItemGroup ITEMGROUP_MISC = FabricItemGroupBuilder.build(new Identifier("teyvatcraft", "misc"), () -> new ItemStack(Items.NETHER_STAR));
    public static final ItemGroup ITEMGROUP_HARVESTABLE = FabricItemGroupBuilder.build(new Identifier("teyvatcraft", "harvestable"), () -> new ItemStack(Items.POTATO));
    public static final ItemGroup ITEMGROUP_DROPS = FabricItemGroupBuilder.build(new Identifier("teyvatcraft", "drops"), () -> new ItemStack(Items.ZOMBIE_HEAD));
    public static final ItemGroup ITEMGROUP_BOOK = FabricItemGroupBuilder.build(new Identifier("teyvatcraft", "book"), () -> new ItemStack(Items.BOOK));
    public static final ItemGroup ITEMGROUP_WEAPON_MATERIAL = FabricItemGroupBuilder.build(new Identifier("teyvatcraft", "weapon_material"), () -> new ItemStack(Items.ANVIL));
    public static final ItemGroup ITEMGROUP_POTION = FabricItemGroupBuilder.build(new Identifier("teyvatcraft", "potion"), () -> new ItemStack(Items.POTION));
    public static final ItemGroup ITEMGROUP_FOOD = FabricItemGroupBuilder.build(new Identifier("teyvatcraft", "food"), () -> new ItemStack(Items.BREAD));

    // ==================== gnosis
    public static final Item GNOSIS_DENDRO = new Item(new FabricItemSettings().group(ITEMGROUP_MISC).maxCount(1).rarity(Rarity.EPIC).fireproof());
    public static final Item GNOSIS_HYDRO = new Item(new FabricItemSettings().group(ITEMGROUP_MISC).maxCount(1).rarity(Rarity.EPIC).fireproof());
    public static final Item GNOSIS_PYRO = new Item(new FabricItemSettings().group(ITEMGROUP_MISC).maxCount(1).rarity(Rarity.EPIC).fireproof());
    public static final Item GNOSIS_GEO = new Item(new FabricItemSettings().group(ITEMGROUP_MISC).maxCount(1).rarity(Rarity.EPIC).fireproof());
    public static final Item GNOSIS_ELECTRO = new Item(new FabricItemSettings().group(ITEMGROUP_MISC).maxCount(1).rarity(Rarity.EPIC).fireproof());
    public static final Item GNOSIS_ANEMO = new Item(new FabricItemSettings().group(ITEMGROUP_MISC).maxCount(1).rarity(Rarity.EPIC).fireproof());
    public static final Item GNOSIS_CRYO = new Item(new FabricItemSettings().group(ITEMGROUP_MISC).maxCount(1).rarity(Rarity.EPIC).fireproof());

    // ==================== ore
    public static final Item MAGICAL_CRYSTAL_CHUNK = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item CRYSTAL_CHUNK = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item WHITE_IRON_CHUNK = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item IRON_CHUNK = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item STARSILVER = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item NOCTILUCOUS_JADE = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));

    // ==================== weapon enhancement
    public static final Item MYSTIC_ENHANCEMENT_ORE = new Item(new FabricItemSettings().group(ITEMGROUP_MISC));
    public static final Item FINE_ENHANCEMENT_ORE = new Item(new FabricItemSettings().group(ITEMGROUP_MISC));
    public static final Item ENHANCEMENT_ORE = new Item(new FabricItemSettings().group(ITEMGROUP_MISC));

    // ==================== crops & harvestable
    public static final Item RICE = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE).food((new FoodComponent.Builder()).hunger(1).saturationModifier(0.3F).build()));
    public static final Item TOMATO = new SeedItem(BlocksManager.TOMATO, new FabricItemSettings().group(ITEMGROUP_HARVESTABLE).food((new FoodComponent.Builder()).hunger(1).saturationModifier(0.3F).build()));
    public static final Item ONION = new SeedItem(BlocksManager.ONION, new FabricItemSettings().group(ITEMGROUP_HARVESTABLE).food((new FoodComponent.Builder()).hunger(1).saturationModifier(0.3F).build()));
    public static final Item CABBAGE = new SeedItem(BlocksManager.CABBAGE, new FabricItemSettings().group(ITEMGROUP_HARVESTABLE).food((new FoodComponent.Builder()).hunger(1).saturationModifier(0.3F).build()));
    public static final Item RADISH = new SeedItem(BlocksManager.RADISH, new FabricItemSettings().group(ITEMGROUP_HARVESTABLE).food((new FoodComponent.Builder()).hunger(1).saturationModifier(0.3F).build()));
    public static final Item RICE_SEED = new SeedItem(BlocksManager.RICE, new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));

    public static final Item CALLA_LILY = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item COR_LAPIS = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item DANDELION_SEED = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item JUEYUN_CHILI = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item SMALL_LAMP_GRASS = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item MINT = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item PEPPER = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item FLOUR = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item SWEET_FLOWER = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item SMOKED_FOWL = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item BERRY = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item ALMOND = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item SNAPDRAGON = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item TOFU = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item MATSUTAKE = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item SHRIMP_MEAT = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item CREAM = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item CRAB = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item CHEESE = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item PINECONE = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item JAM = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item SALT = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item BUTTER = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item HAM = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item BACON = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item SAUSAGE = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item FROG = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item ELECTRO_CRYSTAL = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item LIZARD_TAIL = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item MIST_FLOWER_COROLLA = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item FLAMING_FLOWER_STAMEN = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item BUTTERFLY_WINGS = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item CRYSTAL_CORE = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item CRAB_ROE = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item LOACH_PEARL = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item BAMBOO_SHOOT = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item LUMINESCENT_SPINE = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item CHILLED_MEAT = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item STRANGE_TOOTH = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item VITALIZED_DRAGONTOOTH = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item HORSETAIL = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item DUST_OF_AZOTH = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item NORTHLANDER_SWORD_BILLET = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item NORTHLANDER_CLAYMORE_BILLET = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item NORTHLANDER_POLEARM_BILLET = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item NORTHLANDER_BOW_BILLET = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item NORTHLANDER_CATALYST_BILLET = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item SUNSETTIA = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));

    public static final Item CECILIA = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item GLAZE_LILY = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item PHILANEMO_MUSHROOM = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item SILK_FLOWER = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item VALBERRY = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item WINDWHEEL_ASTER = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item WOLFHOOK = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item QINGXIN = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));
    public static final Item STARCONCH = new Item(new FabricItemSettings().group(ITEMGROUP_HARVESTABLE));

    // mobs drops
    public static final Item AGNIDUS_AGATE_SLIVER = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item AGNIDUS_AGATE_FRAGMENT = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item AGNIDUS_AGATE_CHUNK = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item AGNIDUS_AGATE_GEMSTONE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item VARUNADA_LAZURITE_SLIVER = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item VARUNADA_LAZURITE_FRAGMENT = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item VARUNADA_LAZURITE_CHUNK = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item VARUNADA_LAZURITE_GEMSTONE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item VAJRADA_AMETHYST_SLIVER = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item VAJRADA_AMETHYST_FRAGMENT = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item VAJRADA_AMETHYST_CHUNK = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item VAJRADA_AMETHYST_GEMSTONE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SHIVADA_JADE_SLIVER = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SHIVADA_JADE_FRAGMENT = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SHIVADA_JADE_CHUNK = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SHIVADA_JADE_GEMSTONE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item VAYUDA_TURQUOISE_SLIVER = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item VAYUDA_TURQUOISE_FRAGMENT = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item VAYUDA_TURQUOISE_CHUNK = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item VAYUDA_TURQUOISE_GEMSTONE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item PRITHIVA_TOPAZ_SLIVER = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item PRITHIVA_TOPAZ_FRAGMENT = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item PRITHIVA_TOPAZ_CHUNK = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item PRITHIVA_TOPAZ_GEMSTONE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item NAGADUS_EMERALD_SLIVER = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item NAGADUS_EMERALD_FRAGMENT = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item NAGADUS_EMERALD_CHUNK = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item NAGADUS_EMERALD_GEMSTONE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));

    public static final Item EVERFLAME_SEED = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item CLEANSING_HEART = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item LIGHTNING_PRISM = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item HOARFROST_CORE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item HURRICANE_SEED = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item BASALT_PILLAR = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item JUVENILE_JADE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item CRYSTALLINE_BLOOM = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));

    public static final Item SLIME_CONDENSATE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SLIME_SECRETIONS = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SLIME_CONCENTRATE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item DAMAGED_MASK = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item STAINED_MASK = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item OMINOUS_MASK = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item DIVINING_SCROLL = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SEALED_SCROLL = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item FORBIDDEN_CURSE_SCROLL = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item FIRM_ARROWHEAD = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SHARP_ARROWHEAD = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item WEATHERED_ARROWHEAD = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item RECRUITS_INSIGNIA = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SERGEANTS_INSIGNIA = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item LIEUTENANTS_INSIGNIA = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item TREASURE_HOARDER_INSIGNIA = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SILVER_RAVEN_INSIGNIA = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item GOLDEN_RAVEN_INSIGNIA = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item WHOPPERFLOWER_NECTAR = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SHIMMERING_NECTAR = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item ENERGY_NECTAR = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));

    public static final Item HEAVY_HORN = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item BLACK_BRONZE_HORN = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item BLACK_CRYSTAL_HORN = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item DEAD_LEY_LINE_BRANCH = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item DEAD_LEY_LINE_LEAVES = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item LEY_LINE_SPROUT = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item CHAOS_DEVICE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item CHAOS_CIRCUIT = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item CHAOS_CORE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item MIST_GRASS_POLLEN = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item MIST_GRASS = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item MIST_GRASS_WICK = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item HUNTERS_SACRIFICIAL_KNIFE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item AGENTS_SACRIFICIAL_KNIFE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item INSPECTORS_SACRIFICIAL_KNIFE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item FRAGILE_BONE_SHARD = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item STURDY_BONE_SHARD = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item FOSSILIZED_BONE_SHARD = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));

    public static final Item DVALINS_PLUME = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item DVALINS_CLAW = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item DVALINS_SIGH = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item TAIL_OF_BOREAS = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item RING_OF_BOREAS = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SPIRIT_LOCKET_OF_BOREAS = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item TUSK_OF_MONOCEROS_CAELI = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SHARD_OF_A_FOUL_LEGACY = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item SHADOW_OF_THE_WARRIOR = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item DRAGON_LORDS_CROWN = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item BLOODJADE_BRANCH = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item GILDED_SCALE = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));
    public static final Item CROWN_OF_INSIGHT = new Item(new FabricItemSettings().group(ITEMGROUP_DROPS));

    // books
    public static final Item TEACHINGS_OF_BALLAD = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item GUIDE_TO_BALLAD = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item PHILOSOPHIES_OF_BALLAD = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item TEACHINGS_OF_DILIGENCE = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item GUIDE_TO_DILIGENCE = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item PHILOSOPHIES_OF_DILIGENCE = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item TEACHINGS_OF_FREEDOM = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item GUIDE_TO_FREEDOM = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item PHILOSOPHIES_OF_FREEDOM = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item TEACHINGS_OF_GOLD = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item GUIDE_TO_GOLD = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item PHILOSOPHIES_OF_GOLD = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item TEACHINGS_OF_PROSPERITY = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item GUIDE_TO_PROSPERITY = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item PHILOSOPHIES_OF_PROSPERITY = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item TEACHINGS_OF_RESISTANCE = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item GUIDE_TO_RESISTANCE = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));
    public static final Item PHILOSOPHIES_OF_RESISTANCE = new Item(new FabricItemSettings().group(ITEMGROUP_BOOK));

    // weapon material
    public static final Item TILE_OF_DECARABIANS_TOWER = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item DEBRIS_OF_DECARABIANS_CITY = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item FRAGMENT_OF_DECARABIANS_EPIC = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item SCATTERED_PIECE_OF_DECARABIANS_DREAM = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item LUMINOUS_SANDS_FROM_GUYUN = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item LUSTROUS_STONE_FROM_GUYUN = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item RELIC_FROM_GUYUN = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item DIVINE_BODY_FROM_GUYUN = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item BOREAL_WOLFS_MILK_TOOTH = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item BOREAL_WOLFS_CRACKED_TOOTH = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item BOREAL_WOLFS_BROKEN_FANG = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item BOREAL_WOLFS_NOSTALGIA = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item MIST_VEILED_LEAD_ELIXIR = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item MIST_VEILED_MERCURY_ELIXIR = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item MIST_VEILED_GOLD_ELIXIR = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item MIST_VEILED_PRIMO_ELIXIR = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item FETTERS_OF_THE_DANDELION_GLADIATOR = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item CHAINS_OF_THE_DANDELION_GLADIATOR = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item SHACKLES_OF_THE_DANDELION_GLADIATOR = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item DREAM_OF_THE_DANDELION_GLADIATOR = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item GRAIN_OF_AEROSIDERITE = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item PIECE_OF_AEROSIDERITE = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item BIT_OF_AEROSIDERITE = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));
    public static final Item CHUNK_OF_AEROSIDERITE = new Item(new FabricItemSettings().group(ITEMGROUP_WEAPON_MATERIAL));

    // potions
    public static final Item UNMOVING_ESSENTIAL_OIL = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));
    public static final Item SHOCKING_ESSENTIAL_OIL = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));
    public static final Item GUSHING_ESSENTIAL_OIL = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));
    public static final Item FROSTING_ESSENTIAL_OIL = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));
    public static final Item STREAMING_ESSENTIAL_OIL = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));
    public static final Item FLAMING_ESSENTIAL_OIL = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));
    public static final Item FOREST_ESSENTIAL_OIL = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));
    public static final Item DUSTPROOF_POTION = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));
    public static final Item INSULATION_POTION = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));
    public static final Item WINDBARRIER_POTION = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));
    public static final Item FROSTSHIELD_POTION = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));
    public static final Item DESICCANT_POTION = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));
    public static final Item HEATSHIELD_POTION = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));
    public static final Item DENDROCIDE_POTION = new Item(new FabricItemSettings().group(ITEMGROUP_POTION));

    // foods
    public static final Item CHICKEN_MUSHROOM_SKEWER = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item TEYVAT_FRIED_EGG = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item STEAK = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item RADISH_VEGGIE_SOUP = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item MONDSTADT_GRILLED_FISH = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item MORA_MEAT = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item STIR_FRIED_FILET = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item MINT_JELLY = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item GRILLED_TIGER_FISH = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item FLAMING_RED_BOLOGNESE = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item SWEET_MADAME = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item NORTHERN_SMOKED_CHICKEN = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item TEA_BREAK_PANCAKE = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item FRIED_RADISH_BALLS = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item SATISFYING_SALAD = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item FISHERMANS_TOAST = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item ALMOND_TOFU = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item JUEYUN_CHILI_CHICKEN = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item JEWELRY_SOUP = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item MATSUTAKE_MEAT_ROLLS = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item CRYSTAL_SHRIMP = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item LOTUS_SEED_AND_BIRD_EGG_SOUP = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item CREAM_STEW = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item NOODLES_WITH_MOUNTAIN_DELICACIES = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item GOLDEN_SHRIMP_BALLS = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item GOULASH = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item VEGETARIAN_ABALONE = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item STONE_HARBOR_DELICACIES = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item MINT_SALAD = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item CRAB_ROE_TOFU = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item STIR_FRIED_FISH_NOODLES = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item CALLA_LILY_SEAFOOD_SOUP = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item STICKY_HONEY_ROAST = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item MUSHROOM_PIZZA = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item MONDSTADT_HASH_BROWN = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item PILE_EM_UP = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item ZHONGYUAN_CHOP_SUEY = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item BLACK_BACK_PERCH_STEW = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item SQUIRREL_FISH = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item COME_AND_GET_IT = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item SAUTEED_MATSUTAKE = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item COLD_CUT_PLATTER = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item QINGCE_STIR_FRY = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item BARBATOS_RATATOUILLE = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item CRAB_HAM_VEGGIE_BAKE = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item NORTHERN_APPLE_STEW = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item ADVENTURERS_BREAKFAST_SANDWICH = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item LOTUS_FLOWER_CRISP = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item TRIPLE_LAYERED_CONSOMME = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item BAMBOO_SHOOT_SOUP = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item UNIVERSAL_PEACE = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item JUEYUN_GUOBA = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item SUNSHINE_SPRAT = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item FULLMOON_EGG = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item CRISPY_POTATO_SHRIMP_PLATTER = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item CURED_PORK_DRY_HOTPOT = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item MINTY_MEAT_ROLLS = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item JADE_PARCELS = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item GOLDEN_CRAB = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item MOON_PIE = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item TIANSHU_MEAT = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));
    public static final Item ADEPTUS_TEMPTATION = new Item(new FabricItemSettings().group(ITEMGROUP_FOOD));

    // register func
    private static void registerAsCompostableItem(String name, Item it, Boolean isSeed) {
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", name), it);
        if (isSeed) ITEM_TO_LEVEL_INCREASE_CHANCE.put(it, 0.3f);
        else ITEM_TO_LEVEL_INCREASE_CHANCE.put(it, 0.3f);
    }

    /*
    private static void registerCompostableItem(float levelIncreaseChance, ItemConvertible item) {
        ITEM_TO_LEVEL_INCREASE_CHANCE.put(item.asItem(), levelIncreaseChance);
    }
    */

    public static void RegisterAll() {
        // gnosis
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "gnosis_dendro"), GNOSIS_DENDRO);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "gnosis_hydro"), GNOSIS_HYDRO);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "gnosis_pyro"), GNOSIS_PYRO);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "gnosis_geo"), GNOSIS_GEO);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "gnosis_electro"), GNOSIS_ELECTRO);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "gnosis_anemo"), GNOSIS_ANEMO);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "gnosis_cryo"), GNOSIS_CRYO);

        // ore
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "magical_crystal_chunk"), MAGICAL_CRYSTAL_CHUNK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "crystal_chunk"), CRYSTAL_CHUNK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "white_iron_chunk"), WHITE_IRON_CHUNK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "iron_chunk"), IRON_CHUNK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "starsilver"), STARSILVER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "noctilucous_jade"), NOCTILUCOUS_JADE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "cor_lapis"), COR_LAPIS);

        // weapon enhancement
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mystic_enhancement_ore"), MYSTIC_ENHANCEMENT_ORE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "fine_enhancement_ore"), FINE_ENHANCEMENT_ORE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "enhancement_ore"), ENHANCEMENT_ORE);

        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "magical_crystal_chunk_ore"), 
            new BlockItem(BlocksManager.MAGICAL_CRYSTAL_CHUNK_ORE, new Item.Settings().group(ITEMGROUP_MISC)));
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "crystal_chunk_ore"), 
            new BlockItem(BlocksManager.CRYSTAL_CHUNK_ORE, new Item.Settings().group(ITEMGROUP_MISC)));
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "white_iron_chunk_ore"), 
            new BlockItem(BlocksManager.WHITE_IRON_CHUNK_ORE, new Item.Settings().group(ITEMGROUP_MISC)));
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "iron_chunk_ore"), 
            new BlockItem(BlocksManager.IRON_CHUNK_ORE, new Item.Settings().group(ITEMGROUP_MISC)));
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "starsilver_ore"), 
            new BlockItem(BlocksManager.STARSILVER_ORE, new Item.Settings().group(ITEMGROUP_MISC)));

        // crops & plants
        registerAsCompostableItem("rice", RICE, false);
        registerAsCompostableItem("tomato", TOMATO, false);
        registerAsCompostableItem("onion", ONION, false);
        registerAsCompostableItem("cabbage", CABBAGE, false);
        registerAsCompostableItem("radish", RADISH, false);
        registerAsCompostableItem("rice_seed", RICE_SEED, true);

        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "calla_lily"), CALLA_LILY);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "dandelion_seed"), DANDELION_SEED);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "jueyun_chili"), JUEYUN_CHILI);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "small_lamp_grass"), SMALL_LAMP_GRASS);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mint"), MINT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "pepper"), PEPPER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "flour"), FLOUR);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "sweet_flower"), SWEET_FLOWER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "smoked_fowl"), SMOKED_FOWL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "berry"), BERRY);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "almond"), ALMOND);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "snapdragon"), SNAPDRAGON);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "tofu"), TOFU);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "matsutake"), MATSUTAKE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "shrimp_meat"), SHRIMP_MEAT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "cream"), CREAM);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "crab"), CRAB);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "cheese"), CHEESE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "pinecone"), PINECONE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "jam"), JAM);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "salt"), SALT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "butter"), BUTTER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "ham"), HAM);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "bacon"), BACON);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "sausage"), SAUSAGE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "frog"), FROG);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "electro_crystal"), ELECTRO_CRYSTAL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "lizard_tail"), LIZARD_TAIL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mist_flower_corolla"), MIST_FLOWER_COROLLA);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "flaming_flower_stamen"), FLAMING_FLOWER_STAMEN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "butterfly_wings"), BUTTERFLY_WINGS);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "crystal_core"), CRYSTAL_CORE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "crab_roe"), CRAB_ROE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "loach_pearl"), LOACH_PEARL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "bamboo_shoot"), BAMBOO_SHOOT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "luminescent_spine"), LUMINESCENT_SPINE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "chilled_meat"), CHILLED_MEAT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "strange_tooth"), STRANGE_TOOTH);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "vitalized_dragontooth"), VITALIZED_DRAGONTOOTH);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "horsetail"), HORSETAIL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "dust_of_azoth"), DUST_OF_AZOTH);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "northlander_sword_billet"), NORTHLANDER_SWORD_BILLET);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "northlander_claymore_billet"), NORTHLANDER_CLAYMORE_BILLET);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "northlander_polearm_billet"), NORTHLANDER_POLEARM_BILLET);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "northlander_bow_billet"), NORTHLANDER_BOW_BILLET);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "northlander_catalyst_billet"), NORTHLANDER_CATALYST_BILLET);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "sunsettia"), SUNSETTIA);

        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "cecilia"), CECILIA);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "glaze_lily"), GLAZE_LILY);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "philanemo_mushroom"), PHILANEMO_MUSHROOM);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "silk_flower"), SILK_FLOWER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "valberry"), VALBERRY);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "windwheel_aster"), WINDWHEEL_ASTER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "wolfhook"), WOLFHOOK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "qingxin"), QINGXIN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "starconch"), STARCONCH);

        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "agnidus_agate_sliver"), AGNIDUS_AGATE_SLIVER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "agnidus_agate_fragment"), AGNIDUS_AGATE_FRAGMENT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "agnidus_agate_chunk"), AGNIDUS_AGATE_CHUNK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "agnidus_agate_gemstone"), AGNIDUS_AGATE_GEMSTONE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "varunada_lazurite_sliver"), VARUNADA_LAZURITE_SLIVER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "varunada_lazurite_fragment"), VARUNADA_LAZURITE_FRAGMENT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "varunada_lazurite_chunk"), VARUNADA_LAZURITE_CHUNK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "varunada_lazurite_gemstone"), VARUNADA_LAZURITE_GEMSTONE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "vajrada_amethyst_sliver"), VAJRADA_AMETHYST_SLIVER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "vajrada_amethyst_fragment"), VAJRADA_AMETHYST_FRAGMENT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "vajrada_amethyst_chunk"), VAJRADA_AMETHYST_CHUNK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "vajrada_amethyst_gemstone"), VAJRADA_AMETHYST_GEMSTONE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "shivada_jade_sliver"), SHIVADA_JADE_SLIVER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "shivada_jade_fragment"), SHIVADA_JADE_FRAGMENT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "shivada_jade_chunk"), SHIVADA_JADE_CHUNK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "shivada_jade_gemstone"), SHIVADA_JADE_GEMSTONE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "vayuda_turquoise_sliver"), VAYUDA_TURQUOISE_SLIVER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "vayuda_turquoise_fragment"), VAYUDA_TURQUOISE_FRAGMENT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "vayuda_turquoise_chunk"), VAYUDA_TURQUOISE_CHUNK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "vayuda_turquoise_gemstone"), VAYUDA_TURQUOISE_GEMSTONE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "prithiva_topaz_sliver"), PRITHIVA_TOPAZ_SLIVER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "prithiva_topaz_fragment"), PRITHIVA_TOPAZ_FRAGMENT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "prithiva_topaz_chunk"), PRITHIVA_TOPAZ_CHUNK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "prithiva_topaz_gemstone"), PRITHIVA_TOPAZ_GEMSTONE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "nagadus_emerald_sliver"), NAGADUS_EMERALD_SLIVER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "nagadus_emerald_fragment"), NAGADUS_EMERALD_FRAGMENT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "nagadus_emerald_chunk"), NAGADUS_EMERALD_CHUNK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "nagadus_emerald_gemstone"), NAGADUS_EMERALD_GEMSTONE);

        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "everflame_seed"), EVERFLAME_SEED);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "cleansing_heart"), CLEANSING_HEART);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "lightning_prism"), LIGHTNING_PRISM);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "hoarfrost_core"), HOARFROST_CORE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "hurricane_seed"), HURRICANE_SEED);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "basalt_pillar"), BASALT_PILLAR);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "juvenile_jade"), JUVENILE_JADE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "crystalline_bloom"), CRYSTALLINE_BLOOM);

        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "slime_condensate"), SLIME_CONDENSATE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "slime_secretions"), SLIME_SECRETIONS);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "slime_concentrate"), SLIME_CONCENTRATE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "damaged_mask"), DAMAGED_MASK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "stained_mask"), STAINED_MASK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "ominous_mask"), OMINOUS_MASK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "divining_scroll"), DIVINING_SCROLL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "sealed_scroll"), SEALED_SCROLL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "forbidden_curse_scroll"), FORBIDDEN_CURSE_SCROLL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "firm_arrowhead"), FIRM_ARROWHEAD);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "sharp_arrowhead"), SHARP_ARROWHEAD);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "weathered_arrowhead"), WEATHERED_ARROWHEAD);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "recruits_insignia"), RECRUITS_INSIGNIA);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "sergeants_insignia"), SERGEANTS_INSIGNIA);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "lieutenants_insignia"), LIEUTENANTS_INSIGNIA);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "treasure_hoarder_insignia"), TREASURE_HOARDER_INSIGNIA);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "silver_raven_insignia"), SILVER_RAVEN_INSIGNIA);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "golden_raven_insignia"), GOLDEN_RAVEN_INSIGNIA);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "whopperflower_nectar"), WHOPPERFLOWER_NECTAR);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "shimmering_nectar"), SHIMMERING_NECTAR);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "energy_nectar"), ENERGY_NECTAR);

        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "teachings_of_ballad"), TEACHINGS_OF_BALLAD);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "guide_to_ballad"), GUIDE_TO_BALLAD);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "philosophies_of_ballad"), PHILOSOPHIES_OF_BALLAD);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "teachings_of_diligence"), TEACHINGS_OF_DILIGENCE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "guide_to_diligence"), GUIDE_TO_DILIGENCE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "philosophies_of_diligence"), PHILOSOPHIES_OF_DILIGENCE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "teachings_of_freedom"), TEACHINGS_OF_FREEDOM);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "guide_to_freedom"), GUIDE_TO_FREEDOM);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "philosophies_of_freedom"), PHILOSOPHIES_OF_FREEDOM);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "teachings_of_gold"), TEACHINGS_OF_GOLD);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "guide_to_gold"), GUIDE_TO_GOLD);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "philosophies_of_gold"), PHILOSOPHIES_OF_GOLD);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "teachings_of_prosperity"), TEACHINGS_OF_PROSPERITY);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "guide_to_prosperity"), GUIDE_TO_PROSPERITY);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "philosophies_of_prosperity"), PHILOSOPHIES_OF_PROSPERITY);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "teachings_of_resistance"), TEACHINGS_OF_RESISTANCE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "guide_to_resistance"), GUIDE_TO_RESISTANCE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "philosophies_of_resistance"), PHILOSOPHIES_OF_RESISTANCE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "dvalins_plume"), DVALINS_PLUME);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "dvalins_claw"), DVALINS_CLAW);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "dvalins_sigh"), DVALINS_SIGH);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "tail_of_boreas"), TAIL_OF_BOREAS);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "ring_of_boreas"), RING_OF_BOREAS);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "spirit_locket_of_boreas"), SPIRIT_LOCKET_OF_BOREAS);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "tusk_of_monoceros_caeli"), TUSK_OF_MONOCEROS_CAELI);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "shard_of_a_foul_legacy"), SHARD_OF_A_FOUL_LEGACY);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "shadow_of_the_warrior"), SHADOW_OF_THE_WARRIOR);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "dragon_lords_crown"), DRAGON_LORDS_CROWN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "bloodjade_branch"), BLOODJADE_BRANCH);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "gilded_scale"), GILDED_SCALE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "crown_of_insight"), CROWN_OF_INSIGHT);

        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "tile_of_decarabians_tower"), TILE_OF_DECARABIANS_TOWER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "debris_of_decarabians_city"), DEBRIS_OF_DECARABIANS_CITY);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "fragment_of_decarabians_epic"), FRAGMENT_OF_DECARABIANS_EPIC);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "scattered_piece_of_decarabians_dream"), SCATTERED_PIECE_OF_DECARABIANS_DREAM);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "luminous_sands_from_guyun"), LUMINOUS_SANDS_FROM_GUYUN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "lustrous_stone_from_guyun"), LUSTROUS_STONE_FROM_GUYUN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "relic_from_guyun"), RELIC_FROM_GUYUN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "divine_body_from_guyun"), DIVINE_BODY_FROM_GUYUN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "boreal_wolfs_milk_tooth"), BOREAL_WOLFS_MILK_TOOTH);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "boreal_wolfs_cracked_tooth"), BOREAL_WOLFS_CRACKED_TOOTH);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "boreal_wolfs_broken_fang"), BOREAL_WOLFS_BROKEN_FANG);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "boreal_wolfs_nostalgia"), BOREAL_WOLFS_NOSTALGIA);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mist_veiled_lead_elixir"), MIST_VEILED_LEAD_ELIXIR);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mist_veiled_mercury_elixir"), MIST_VEILED_MERCURY_ELIXIR);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mist_veiled_gold_elixir"), MIST_VEILED_GOLD_ELIXIR);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mist_veiled_primo_elixir"), MIST_VEILED_PRIMO_ELIXIR);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "fetters_of_the_dandelion_gladiator"), FETTERS_OF_THE_DANDELION_GLADIATOR);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "chains_of_the_dandelion_gladiator"), CHAINS_OF_THE_DANDELION_GLADIATOR);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "shackles_of_the_dandelion_gladiator"), SHACKLES_OF_THE_DANDELION_GLADIATOR);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "dream_of_the_dandelion_gladiator"), DREAM_OF_THE_DANDELION_GLADIATOR);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "grain_of_aerosiderite"), GRAIN_OF_AEROSIDERITE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "piece_of_aerosiderite"), PIECE_OF_AEROSIDERITE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "bit_of_aerosiderite"), BIT_OF_AEROSIDERITE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "chunk_of_aerosiderite"), CHUNK_OF_AEROSIDERITE);

        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "heavy_horn"), HEAVY_HORN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "black_bronze_horn"), BLACK_BRONZE_HORN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "black_crystal_horn"), BLACK_CRYSTAL_HORN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "dead_ley_line_branch"), DEAD_LEY_LINE_BRANCH);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "dead_ley_line_leaves"), DEAD_LEY_LINE_LEAVES);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "ley_line_sprout"), LEY_LINE_SPROUT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "chaos_device"), CHAOS_DEVICE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "chaos_circuit"), CHAOS_CIRCUIT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "chaos_core"), CHAOS_CORE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mist_grass_pollen"), MIST_GRASS_POLLEN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mist_grass"), MIST_GRASS);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mist_grass_wick"), MIST_GRASS_WICK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "hunters_sacrificial_knife"), HUNTERS_SACRIFICIAL_KNIFE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "agents_sacrificial_knife"), AGENTS_SACRIFICIAL_KNIFE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "inspectors_sacrificial_knife"), INSPECTORS_SACRIFICIAL_KNIFE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "fragile_bone_shard"), FRAGILE_BONE_SHARD);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "sturdy_bone_shard"), STURDY_BONE_SHARD);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "fossilized_bone_shard"), FOSSILIZED_BONE_SHARD);

        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "unmoving_essential_oil"), UNMOVING_ESSENTIAL_OIL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "shocking_essential_oil"), SHOCKING_ESSENTIAL_OIL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "gushing_essential_oil"), GUSHING_ESSENTIAL_OIL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "frosting_essential_oil"), FROSTING_ESSENTIAL_OIL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "streaming_essential_oil"), STREAMING_ESSENTIAL_OIL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "flaming_essential_oil"), FLAMING_ESSENTIAL_OIL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "forest_essential_oil"), FOREST_ESSENTIAL_OIL);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "dustproof_potion"), DUSTPROOF_POTION);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "insulation_potion"), INSULATION_POTION);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "windbarrier_potion"), WINDBARRIER_POTION);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "frostshield_potion"), FROSTSHIELD_POTION);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "desiccant_potion"), DESICCANT_POTION);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "heatshield_potion"), HEATSHIELD_POTION);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "dendrocide_potion"), DENDROCIDE_POTION);

        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "chicken_mushroom_skewer"), CHICKEN_MUSHROOM_SKEWER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "teyvat_fried_egg"), TEYVAT_FRIED_EGG);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "steak"), STEAK);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "radish_veggie_soup"), RADISH_VEGGIE_SOUP);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mondstadt_grilled_fish"), MONDSTADT_GRILLED_FISH);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mora_meat"), MORA_MEAT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "stir_fried_filet"), STIR_FRIED_FILET);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mint_jelly"), MINT_JELLY);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "grilled_tiger_fish"), GRILLED_TIGER_FISH);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "flaming_red_bolognese"), FLAMING_RED_BOLOGNESE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "sweet_madame"), SWEET_MADAME);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "northern_smoked_chicken"), NORTHERN_SMOKED_CHICKEN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "tea_break_pancake"), TEA_BREAK_PANCAKE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "fried_radish_balls"), FRIED_RADISH_BALLS);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "satisfying_salad"), SATISFYING_SALAD);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "fishermans_toast"), FISHERMANS_TOAST);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "almond_tofu"), ALMOND_TOFU);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "jueyun_chili_chicken"), JUEYUN_CHILI_CHICKEN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "jewelry_soup"), JEWELRY_SOUP);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "matsutake_meat_rolls"), MATSUTAKE_MEAT_ROLLS);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "crystal_shrimp"), CRYSTAL_SHRIMP);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "lotus_seed_and_bird_egg_soup"), LOTUS_SEED_AND_BIRD_EGG_SOUP);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "cream_stew"), CREAM_STEW);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "noodles_with_mountain_delicacies"), NOODLES_WITH_MOUNTAIN_DELICACIES);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "golden_shrimp_balls"), GOLDEN_SHRIMP_BALLS);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "goulash"), GOULASH);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "vegetarian_abalone"), VEGETARIAN_ABALONE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "stone_harbor_delicacies"), STONE_HARBOR_DELICACIES);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mint_salad"), MINT_SALAD);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "crab_roe_tofu"), CRAB_ROE_TOFU);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "stir_fried_fish_noodles"), STIR_FRIED_FISH_NOODLES);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "calla_lily_seafood_soup"), CALLA_LILY_SEAFOOD_SOUP);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "sticky_honey_roast"), STICKY_HONEY_ROAST);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mushroom_pizza"), MUSHROOM_PIZZA);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "mondstadt_hash_brown"), MONDSTADT_HASH_BROWN);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "pile_em_up"), PILE_EM_UP);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "zhongyuan_chop_suey"), ZHONGYUAN_CHOP_SUEY);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "black_back_perch_stew"), BLACK_BACK_PERCH_STEW);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "squirrel_fish"), SQUIRREL_FISH);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "come_and_get_it"), COME_AND_GET_IT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "sauteed_matsutake"), SAUTEED_MATSUTAKE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "cold_cut_platter"), COLD_CUT_PLATTER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "qingce_stir_fry"), QINGCE_STIR_FRY);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "barbatos_ratatouille"), BARBATOS_RATATOUILLE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "crab_ham_veggie_bake"), CRAB_HAM_VEGGIE_BAKE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "northern_apple_stew"), NORTHERN_APPLE_STEW);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "adventurers_breakfast_sandwich"), ADVENTURERS_BREAKFAST_SANDWICH);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "lotus_flower_crisp"), LOTUS_FLOWER_CRISP);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "triple_layered_consomme"), TRIPLE_LAYERED_CONSOMME);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "bamboo_shoot_soup"), BAMBOO_SHOOT_SOUP);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "universal_peace"), UNIVERSAL_PEACE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "jueyun_guoba"), JUEYUN_GUOBA);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "sunshine_sprat"), SUNSHINE_SPRAT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "fullmoon_egg"), FULLMOON_EGG);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "crispy_potato_shrimp_platter"), CRISPY_POTATO_SHRIMP_PLATTER);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "cured_pork_dry_hotpot"), CURED_PORK_DRY_HOTPOT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "minty_meat_rolls"), MINTY_MEAT_ROLLS);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "jade_parcels"), JADE_PARCELS);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "golden_crab"), GOLDEN_CRAB);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "moon_pie"), MOON_PIE);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "tianshu_meat"), TIANSHU_MEAT);
        Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "adeptus_temptation"), ADEPTUS_TEMPTATION);
    }
}
