/*
 * Codename Minosoft
 * Copyright (C) 2020 Moritz Zwerger
 *
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License along with this program.  If not, see <https://www.gnu.org/licenses/>.
 *
 *  This software is not affiliated with Mojang AB, the original developer of Minecraft.
 */

package de.bixilon.minosoft.game.datatypes.entities;

import de.bixilon.minosoft.game.datatypes.Identifier;

public enum Items {
    UNKNOWN(null, -1), // the buggy pink black item
    STONE(new Identifier("stone"), 1),
    GRANITE(new Identifier("granite", "stone"), 1, 1),
    POLISHED_GRANITE(new Identifier("polished_granite", "stone"), 1, 2),
    DIORITE(new Identifier("diorite", "stone"), 1, 3),
    POLISHED_DIORITE(new Identifier("polished_diorite", "stone"), 1, 4),
    ANDESITE(new Identifier("andesite", "stone"), 1, 5),
    POLISHED_ANDESITE(new Identifier("polished_andesite", "stone"), 1, 6),
    GRASS_BLOCK(new Identifier("grass_block", "grass"), 2),
    DIRT(new Identifier("dirt"), 3),
    COARSE_DIRT(new Identifier("coarse_dirt", "dirt"), 3, 1),
    PODZOL(new Identifier("podzol", "dirt"), 3, 2),
    COBBLESTONE(new Identifier("cobblestone"), 4),
    OAK_PLANKS(new Identifier("oak_planks", "planks"), 5),
    SPRUCE_PLANKS(new Identifier("spruce_planks", "planks"), 5, 1),
    BIRCH_PLANKS(new Identifier("birch_planks", "planks"), 5, 2),
    JUNGLE_PLANKS(new Identifier("jungle_planks", "planks"), 5, 3),
    ACACIA_PLANKS(new Identifier("acacia_planks", "planks"), 5, 4),
    DARK_OAK_PLANKS(new Identifier("dark_oak_planks", "planks"), 5, 5),
    OAK_SAPLING(new Identifier("oak_sapling", "sapling"), 6),
    SPRUCE_SAPLING(new Identifier("spruce_sapling", "sapling"), 6, 1),
    BIRCH_SAPLING(new Identifier("birch_sapling", "sapling"), 6, 2),
    JUNGLE_SAPLING(new Identifier("jungle_sapling", "sapling"), 6, 3),
    ACACIA_SAPLING(new Identifier("acacia_sapling", "sapling"), 6, 4),
    DARK_OAK_SAPLING(new Identifier("dark_oak_sapling", "sapling"), 6, 5),
    BEDROCK(new Identifier("bedrock"), 7),
    SAND(new Identifier("sand"), 12),
    RED_SAND(new Identifier("red_sand", "sand"), 12, 1),
    GRAVEL(new Identifier("gravel"), 13),
    GOLD_ORE(new Identifier("gold_ore"), 14),
    IRON_ORE(new Identifier("iron_ore"), 15),
    COAL_ORE(new Identifier("coal_ore"), 16),
    OAK_LOG(new Identifier("oak_log", "log"), 17),
    SPRUCE_LOG(new Identifier("spruce_log", "log"), 17, 1),
    BIRCH_LOG(new Identifier("birch_log", "log"), 17, 2),
    JUNGLE_LOG(new Identifier("jungle_log", "log"), 17, 3),
    ACACIA_LOG(new Identifier("acacia_log", "log2"), 162),
    DARK_OAK_LOG(new Identifier("dark_oak_log", "log2"), 162, 1),
    STRIPPED_OAK_LOG(new Identifier(null, "stripped_oak_log"), -2),
    STRIPPED_SPRUCE_LOG(new Identifier(null, "stripped_spruce_log"), -2),
    STRIPPED_BIRCH_LOG(new Identifier(null, "stripped_birch_log"), -2),
    STRIPPED_JUNGLE_LOG(new Identifier(null, "stripped_jungle_log"), -2),
    STRIPPED_ACACIA_LOG(new Identifier(null, "stripped_acacia_log"), -2),
    STRIPPED_DARK_OAK_LOG(new Identifier(null, "stripped_dark_oak_log"), -2),
    STRIPPED_OAK_WOOD(new Identifier("stripped_oak_wood", "stripped_oak_bark"), -2),
    STRIPPED_SPRUCE_WOOD(new Identifier("stripped_spruce_wood", "stripped_spruce_bark"), -2),
    STRIPPED_BIRCH_WOOD(new Identifier("stripped_birch_wood", "stripped_birch_bark"), -2),
    STRIPPED_JUNGLE_WOOD(new Identifier("stripped_jungle_wood", "stripped_jungle_bark"), -2),
    STRIPPED_ACACIA_WOOD(new Identifier("stripped_acacia_wood", "stripped_acacia_bark"), -2),
    STRIPPED_DARK_OAK_WOOD(new Identifier("stripped_dark_oak_wood", "stripped_dark_oak_bark"), -2),
    OAK_WOOD(new Identifier("oak_wood", "oak_bark"), -2),
    SPRUCE_WOOD(new Identifier("spruce_wood", "spruce_bark"), -2),
    BIRCH_WOOD(new Identifier("birch_wood", "birch_bark"), -2),
    JUNGLE_WOOD(new Identifier("jungle_wood", "jungle_bark"), -2),
    ACACIA_WOOD(new Identifier("acacia_wood", "acacia_bark"), -2),
    DARK_OAK_WOOD(new Identifier("dark_oak_wood", "dark_oak_bark"), -2),
    OAK_LEAVES(new Identifier("oak_leaves", "leaves"), 18),
    SPRUCE_LEAVES(new Identifier("spruce_leaves", "leaves"), 18, 1),
    BIRCH_LEAVES(new Identifier("birch_leaves", "leaves"), 18, 2),
    JUNGLE_LEAVES(new Identifier("jungle_leaves", "leaves"), 18, 3),
    ACACIA_LEAVES(new Identifier("acacia_leaves", "leaves2"), 161),
    DARK_OAK_LEAVES(new Identifier("dark_oak_leaves", "leaves2"), 161, 1),
    SPONGE(new Identifier("sponge"), 19),
    WET_SPONGE(new Identifier("wet_sponge", "sponge"), 19, 1),
    GLASS(new Identifier("glass"), 20),
    LAPIS_LAZULI_ORE(new Identifier("lapis_ore"), 21),
    LAPIS_LAZULI_BLOCK(new Identifier("lapis_block"), 22),
    DISPENSER(new Identifier("dispenser"), 23),
    SANDSTONE(new Identifier("sandstone"), 24),
    CHISELED_SANDSTONE(new Identifier("chiseled_sandstone", "sandstone"), 24, 1),
    CUT_SANDSTONE(new Identifier("cut_sandstone", "sandstone"), 24, 2),
    NOTE_BLOCK(new Identifier("note_block", "noteblock"), 25),
    POWERED_RAIL(new Identifier("powered_rail", "golden_rail"), 27),
    DETECTOR_RAIL(new Identifier("detector_rail"), 28),
    STICKY_PISTON(new Identifier("sticky_piston"), 29),
    COBWEB(new Identifier("cobweb"), 30),
    GRASS(new Identifier(null, "grass"), -2),
    FERN(new Identifier("fern", "tallgrass"), 31, 2),
    DEAD_BUSH(new Identifier("dead_bush", "deadbush"), 32),
    SEAGRASS(new Identifier(null, "seagrass"), -2),
    SEA_PICKLE(new Identifier(null, "sea_pickle"), -2),
    PISTON(new Identifier("piston"), 33),
    WHITE_WOOL(new Identifier("white_wool", "wool"), 35),
    ORANGE_WOOL(new Identifier("orange_wool", "wool"), 35, 1),
    MAGENTA_WOOL(new Identifier("magenta_wool", "wool"), 35, 2),
    LIGHT_BLUE_WOOL(new Identifier("light_blue_wool", "wool"), 35, 3),
    YELLOW_WOOL(new Identifier("yellow_wool", "wool"), 35, 4),
    LIME_WOOL(new Identifier("lime_wool", "wool"), 35, 5),
    PINK_WOOL(new Identifier("pink_wool", "wool"), 35, 6),
    GRAY_WOOL(new Identifier("gray_wool", "wool"), 35, 7),
    LIGHT_GRAY_WOOL(new Identifier("light_gray_wool", "wool"), 35, 8),
    CYAN_WOOL(new Identifier("cyan_wool", "wool"), 35, 9),
    PURPLE_WOOL(new Identifier("purple_wool", "wool"), 35, 10),
    BLUE_WOOL(new Identifier("blue_wool", "wool"), 35, 11),
    BROWN_WOOL(new Identifier("brown_wool", "wool"), 35, 12),
    GREEN_WOOL(new Identifier("green_wool", "wool"), 35, 13),
    RED_WOOL(new Identifier("red_wool", "wool"), 35, 14),
    BLACK_WOOL(new Identifier("black_wool", "wool"), 35, 15),
    DANDELION(new Identifier("dandelion", "yellow_flower"), 37),
    POPPY(new Identifier("poppy", "red_flower"), 38),
    BLUE_ORCHID(new Identifier("blue_orchid", "red_flower"), 38, 1),
    ALLIUM(new Identifier("allium", "red_flower"), 38, 2),
    AZURE_BLUET(new Identifier("azure_bluet", "red_flower"), 38, 3),
    RED_TULIP(new Identifier("red_tulip", "red_flower"), 38, 4),
    ORANGE_TULIP(new Identifier("orange_tulip", "red_flower"), 38, 5),
    WHITE_TULIP(new Identifier("white_tulip", "red_flower"), 38, 6),
    PINK_TULIP(new Identifier("pink_tulip", "red_flower"), 38, 7),
    OXEYE_DAISY(new Identifier("oxeye_daisy", "red_flower"), 38, 8),
    BROWN_MUSHROOM(new Identifier("brown_mushroom"), 39),
    RED_MUSHROOM(new Identifier("red_mushroom"), 40),
    BLOCK_OF_GOLD(new Identifier("gold_block"), 41),
    BLOCK_OF_IRON(new Identifier("iron_block"), 42),
    OAK_SLAB(new Identifier("oak_slab", "wooden_slab"), 126),
    SPRUCE_SLAB(new Identifier("spruce_slab", "wooden_slab"), 126, 1),
    BIRCH_SLAB(new Identifier("birch_slab", "wooden_slab"), 126, 2),
    JUNGLE_SLAB(new Identifier("jungle_slab", "wooden_slab"), 126, 3),
    ACACIA_SLAB(new Identifier("acacia_slab", "wooden_slab"), 126, 4),
    DARK_OAK_SLAB(new Identifier("dark_oak_slab", "wooden_slab"), 126, 5),
    STONE_SLAB(new Identifier("stone_slab"), 44, 2),
    SANDSTONE_SLAB(new Identifier("sandstone_slab", "stone_slab"), 44, 1),
    PETRIFIED_OAK_SLAB(new Identifier(null, "petrified_oak_slab"), -2),
    COBBLESTONE_SLAB(new Identifier("cobblestone_slab", "stone_slab"), 44, 3),
    BRICK_SLAB(new Identifier("brick_slab", "stone_slab"), 44, 4),
    STONE_BRICK_SLAB(new Identifier("stone_brick_slab", "stone_slab"), 44, 5),
    NETHER_BRICK_SLAB(new Identifier("nether_brick_slab", "stone_slab"), 44, 6),
    QUARTZ_SLAB(new Identifier("quartz_slab", "stone_slab"), 44, 7),
    RED_SANDSTONE_SLAB(new Identifier("red_sandstone_slab", "stone_slab2"), 182),
    PURPUR_SLAB(new Identifier("purpur_slab"), 205),
    PRISMARINE_SLAB(new Identifier(null, "prismarine_slab"), -2),
    PRISMARINE_BRICK_SLAB(new Identifier(null, "prismarine_brick_slab"), -2),
    DARK_PRISMARINE_SLAB(new Identifier(null, "dark_prismarine_slab"), -2),
    SMOOTH_QUARTZ(new Identifier("smooth_quartz", "double_stone_slab"), 43, 7),
    SMOOTH_RED_SANDSTONE(new Identifier(null, "smooth_red_sandstone"), -2),
    SMOOTH_SANDSTONE(new Identifier(null, "smooth_sandstone"), -2),
    SMOOTH_STONE(new Identifier("smooth_stone", "double_stone_slab"), 43, 8),
    BRICKS(new Identifier("bricks", "brick_block"), 45),
    TNT(new Identifier("tnt"), 46),
    BOOKSHELF(new Identifier("bookshelf"), 47),
    MOSSY_COBBLESTONE(new Identifier("mossy_cobblestone"), 48),
    OBSIDIAN(new Identifier("obsidian"), 49),
    TORCH(new Identifier("torch"), 50),
    END_ROD(new Identifier("end_rod"), 198),
    CHORUS_PLANT(new Identifier("chorus_plant"), 199),
    CHORUS_FLOWER(new Identifier("chorus_flower"), 200),
    PURPUR_BLOCK(new Identifier("purpur_block"), 201),
    PURPUR_PILLAR(new Identifier("purpur_pillar"), 202),
    PURPUR_STAIRS(new Identifier("purpur_stairs"), 203),
    SPAWNER(new Identifier("spawner", "mob_spawner"), 52),
    OAK_STAIRS(new Identifier("oak_stairs"), 53),
    CHEST(new Identifier("chest"), 54),
    DIAMOND_ORE(new Identifier("diamond_ore"), 56),
    BLOCK_OF_DIAMOND(new Identifier("diamond_block"), 57),
    CRAFTING_TABLE(new Identifier("crafting_table"), 58),
    FARMLAND(new Identifier("farmland", "wheat"), 60),
    FURNACE(new Identifier("furnace"), 61),
    LADDER(new Identifier("ladder"), 65),
    RAIL(new Identifier("rail"), 66),
    COBBLESTONE_STAIRS(new Identifier("cobblestone_stairs", "stone_stairs"), 67),
    LEVER(new Identifier("lever"), 69),
    STONE_PRESSURE_PLATE(new Identifier("stone_pressure_plate"), 70),
    OAK_PRESSURE_PLATE(new Identifier("oak_pressure_plate", "wooden_pressure_plate"), 72),
    SPRUCE_PRESSURE_PLATE(new Identifier(null, "spruce_pressure_plate"), -2),
    BIRCH_PRESSURE_PLATE(new Identifier(null, "birch_pressure_plate"), -2),
    JUNGLE_PRESSURE_PLATE(new Identifier(null, "jungle_pressure_plate"), -2),
    ACACIA_PRESSURE_PLATE(new Identifier(null, "acacia_pressure_plate"), -2),
    DARK_OAK_PRESSURE_PLATE(new Identifier(null, "dark_oak_pressure_plate"), -2),
    REDSTONE_ORE(new Identifier("redstone_ore"), 73),
    REDSTONE_TORCH(new Identifier("redstone_torch", "lit_redstone_torch"), 76),
    STONE_BUTTON(new Identifier("stone_button"), 77),
    SNOW(new Identifier("snow", "snow_layer"), 78),
    ICE(new Identifier("ice"), 79),
    SNOW_BLOCK(new Identifier("snow_block", "snow"), 80),
    CACTUS(new Identifier("cactus"), 81),
    CLAY(new Identifier("clay"), 337),
    JUKEBOX(new Identifier("jukebox"), 84),
    OAK_FENCE(new Identifier("oak_fence", "fence"), 85),
    SPRUCE_FENCE(new Identifier("spruce_fence"), 188),
    BIRCH_FENCE(new Identifier("birch_fence"), 189),
    JUNGLE_FENCE(new Identifier("jungle_fence"), 190),
    ACACIA_FENCE(new Identifier("acacia_fence"), 192),
    DARK_OAK_FENCE(new Identifier("dark_oak_fence"), 191),
    PUMPKIN(new Identifier("pumpkin"), 86),
    CARVED_PUMPKIN(new Identifier("carved_pumpkin", "pumpkin"), -2),
    NETHERRACK(new Identifier("netherrack"), 87),
    SOUL_SAND(new Identifier("soul_sand"), 88),
    GLOWSTONE(new Identifier("glowstone"), 89),
    JACK_OLANTERN(new Identifier("jack_o_lantern", "lit_pumpkin"), 91),
    OAK_TRAPDOOR(new Identifier("oak_trapdoor", "trapdoor"), 96),
    SPRUCE_TRAPDOOR(new Identifier(null, "spruce_trapdoor"), -2),
    BIRCH_TRAPDOOR(new Identifier(null, "birch_trapdoor"), -2),
    JUNGLE_TRAPDOOR(new Identifier(null, "jungle_trapdoor"), -2),
    ACACIA_TRAPDOOR(new Identifier(null, "acacia_trapdoor"), -2),
    DARK_OAK_TRAPDOOR(new Identifier(null, "dark_oak_trapdoor"), -2),
    INFESTED_STONE(new Identifier("infested_stone", "monster_egg"), 97),
    INFESTED_COBBLESTONE(new Identifier("infested_cobblestone", "monster_egg"), 97, 1),
    INFESTED_STONE_BRICKS(new Identifier("infested_stone_bricks", "monster_egg"), 97, 2),
    INFESTED_MOSSY_STONE_BRICKS(new Identifier("infested_mossy_stone_bricks", "monster_egg"), 97, 3),
    INFESTED_CRACKED_STONE_BRICKS(new Identifier("infested_cracked_stone_bricks", "monster_egg"), 97, 4),
    INFESTED_CHISELED_STONE_BRICKS(new Identifier("infested_chiseled_stone_bricks", "monster_egg"), 97, 5),
    STONE_BRICKS(new Identifier("stone_bricks", "stonebrick"), 98),
    MOSSY_STONE_BRICKS(new Identifier("mossy_stone_bricks", "stonebrick"), 98, 1),
    CRACKED_STONE_BRICKS(new Identifier("cracked_stone_bricks", "stonebrick"), 98, 2),
    CHISELED_STONE_BRICKS(new Identifier("chiseled_stone_bricks", "stonebrick"), 98, 3),
    BROWN_MUSHROOM_BLOCK(new Identifier("brown_mushroom_block"), 99),
    RED_MUSHROOM_BLOCK(new Identifier("red_mushroom_block"), 100),
    MUSHROOM_STEM(new Identifier("mushroom_stem", "red_mushroom_block"), -2),
    IRON_BARS(new Identifier("iron_bars"), 101),
    GLASS_PANE(new Identifier("glass_pane"), 102),
    MELON(new Identifier("melon", "melon_block"), 103),
    VINES(new Identifier("vine"), 106),
    OAK_FENCE_GATE(new Identifier("oak_fence_gate", "fence_gate"), 107),
    SPRUCE_FENCE_GATE(new Identifier("spruce_fence_gate"), 183),
    BIRCH_FENCE_GATE(new Identifier("birch_fence_gate"), 184),
    JUNGLE_FENCE_GATE(new Identifier("jungle_fence_gate"), 185),
    ACACIA_FENCE_GATE(new Identifier("acacia_fence_gate"), 187),
    DARK_OAK_FENCE_GATE(new Identifier("dark_oak_fence_gate"), 186),
    BRICK_STAIRS(new Identifier("brick_stairs"), 108),
    STONE_BRICK_STAIRS(new Identifier("stone_brick_stairs"), 109),
    MYCELIUM(new Identifier("mycelium"), 110),
    LILY_PAD(new Identifier("lily_pad", "waterlily"), 111),
    NETHER_BRICKS(new Identifier("nether_bricks", "nether_brick"), 112),
    NETHER_BRICK_FENCE(new Identifier("nether_brick_fence"), 113),
    NETHER_BRICK_STAIRS(new Identifier("nether_brick_stairs"), 114),
    ENCHANTING_TABLE(new Identifier("enchanting_table"), 116),
    END_PORTAL_FRAME(new Identifier("end_portal_frame"), 120),
    END_STONE(new Identifier("end_stone"), 121),
    END_STONE_BRICKS(new Identifier("end_stone_bricks", "end_bricks"), 206),
    DRAGON_EGG(new Identifier("dragon_egg"), 122),
    REDSTONE_LAMP(new Identifier("redstone_lamp"), 123),
    SANDSTONE_STAIRS(new Identifier("sandstone_stairs"), 128),
    EMERALD_ORE(new Identifier("emerald_ore"), 129),
    ENDER_CHEST(new Identifier("ender_chest"), 130),
    TRIPWIRE_HOOK(new Identifier("tripwire_hook"), 131),
    BLOCK_OF_EMERALD(new Identifier("emerald_block"), 133),
    SPRUCE_STAIRS(new Identifier("spruce_stairs"), 134),
    BIRCH_STAIRS(new Identifier("birch_stairs"), 135),
    JUNGLE_STAIRS(new Identifier("jungle_stairs"), 136),
    COMMAND_BLOCK(new Identifier("command_block"), 137),
    BEACON(new Identifier("beacon"), 138),
    COBBLESTONE_WALL(new Identifier("cobblestone_wall"), 139),
    MOSSY_COBBLESTONE_WALL(new Identifier("mossy_cobblestone_wall", "cobblestone_wall"), 139, 1),
    OAK_BUTTON(new Identifier("oak_button", "wooden_button"), 143),
    SPRUCE_BUTTON(new Identifier(null, "spruce_button"), -2),
    BIRCH_BUTTON(new Identifier(null, "birch_button"), -2),
    JUNGLE_BUTTON(new Identifier(null, "jungle_button"), -2),
    ACACIA_BUTTON(new Identifier(null, "acacia_button"), -2),
    DARK_OAK_BUTTON(new Identifier(null, "dark_oak_button"), -2),
    ANVIL(new Identifier("anvil"), 145),
    CHIPPED_ANVIL(new Identifier("chipped_anvil", "anvil"), 145, 1),
    DAMAGED_ANVIL(new Identifier("damaged_anvil", "anvil"), 145, 2),
    TRAPPED_CHEST(new Identifier("trapped_chest"), 146),
    LIGHT_WEIGHTED_PRESSURE_PLATE(new Identifier("light_weighted_pressure_plate"), 147),
    HEAVY_WEIGHTED_PRESSURE_PLATE(new Identifier("heavy_weighted_pressure_plate"), 148),
    DAYLIGHT_DETECTOR(new Identifier("daylight_detector"), 151),
    BLOCK_OF_REDSTONE(new Identifier("redstone_block"), 152),
    NETHER_QUARTZ_ORE(new Identifier("nether_quartz_ore", "quartz_ore"), 153),
    HOPPER(new Identifier("hopper"), 154),
    CHISELED_QUARTZ_BLOCK(new Identifier("chiseled_quartz_block", "quartz"), 155, 1),
    BLOCK_OF_QUARTZ(new Identifier("quartz_block", "quartz"), 155),
    QUARTZ_PILLAR(new Identifier("quartz_pillar", "quartz"), 155, 2),
    QUARTZ_STAIRS(new Identifier("quartz_stairs"), 156),
    ACTIVATOR_RAIL(new Identifier("activator_rail"), 157),
    DROPPER(new Identifier("dropper"), 158),
    WHITE_TERRACOTTA(new Identifier("white_terracotta", "stained_hardened_clay"), 159),
    ORANGE_TERRACOTTA(new Identifier("orange_terracotta", "stained_hardened_clay"), 159, 1),
    MAGENTA_TERRACOTTA(new Identifier("magenta_terracotta", "stained_hardened_clay"), 159, 2),
    LIGHT_BLUE_TERRACOTTA(new Identifier("light_blue_terracotta", "stained_hardened_clay"), 159, 3),
    YELLOW_TERRACOTTA(new Identifier("yellow_terracotta", "stained_hardened_clay"), 159, 4),
    LIME_TERRACOTTA(new Identifier("lime_terracotta", "stained_hardened_clay"), 159, 5),
    PINK_TERRACOTTA(new Identifier("pink_terracotta", "stained_hardened_clay"), 159, 6),
    GRAY_TERRACOTTA(new Identifier("gray_terracotta", "stained_hardened_clay"), 159, 7),
    LIGHT_GRAY_TERRACOTTA(new Identifier("light_gray_terracotta", "stained_hardened_clay"), 159, 8),
    CYAN_TERRACOTTA(new Identifier("cyan_terracotta", "stained_hardened_clay"), 159, 9),
    PURPLE_TERRACOTTA(new Identifier("purple_terracotta", "stained_hardened_clay"), 159, 10),
    BLUE_TERRACOTTA(new Identifier("blue_terracotta", "stained_hardened_clay"), 159, 11),
    BROWN_TERRACOTTA(new Identifier("brown_terracotta", "stained_hardened_clay"), 159, 12),
    GREEN_TERRACOTTA(new Identifier("green_terracotta", "stained_hardened_clay"), 159, 13),
    RED_TERRACOTTA(new Identifier("red_terracotta", "stained_hardened_clay"), 159, 14),
    BLACK_TERRACOTTA(new Identifier("black_terracotta", "stained_hardened_clay"), 159, 15),
    BARRIER(new Identifier("barrier"), 166),
    IRON_TRAPDOOR(new Identifier("iron_trapdoor"), 167),
    HAY_BALE(new Identifier("hay_block", "hay_bale"), 170),
    WHITE_CARPET(new Identifier("white_carpet", "carpet"), 171),
    ORANGE_CARPET(new Identifier("orange_carpet", "carpet"), 171, 1),
    MAGENTA_CARPET(new Identifier("magenta_carpet", "carpet"), 171, 2),
    LIGHT_BLUE_CARPET(new Identifier("light_blue_carpet", "carpet"), 171, 3),
    YELLOW_CARPET(new Identifier("yellow_carpet", "carpet"), 171, 4),
    LIME_CARPET(new Identifier("lime_carpet", "carpet"), 171, 5),
    PINK_CARPET(new Identifier("pink_carpet", "carpet"), 171, 6),
    GRAY_CARPET(new Identifier("gray_carpet", "carpet"), 171, 7),
    LIGHT_GRAY_CARPET(new Identifier("light_gray_carpet", "carpet"), 171, 8),
    CYAN_CARPET(new Identifier("cyan_carpet", "carpet"), 171, 9),
    PURPLE_CARPET(new Identifier("purple_carpet", "carpet"), 171, 10),
    BLUE_CARPET(new Identifier("blue_carpet", "carpet"), 171, 11),
    BROWN_CARPET(new Identifier("brown_carpet", "carpet"), 171, 12),
    GREEN_CARPET(new Identifier("green_carpet", "carpet"), 171, 13),
    RED_CARPET(new Identifier("red_carpet", "carpet"), 171, 14),
    BLACK_CARPET(new Identifier("black_carpet", "carpet"), 171, 15),
    TERRACOTTA(new Identifier("terracotta", "hardened_clay"), 172),
    BLOCK_OF_COAL(new Identifier("coal_block"), 173),
    PACKED_ICE(new Identifier("packed_ice"), 174),
    ACACIA_STAIRS(new Identifier("acacia_stairs"), 163),
    DARK_OAK_STAIRS(new Identifier("dark_oak_stairs"), 164),
    SLIME_BLOCK(new Identifier("slime_block", "slime"), 165),
    GRASS_PATH(new Identifier("grass_path"), 208),
    SUNFLOWER(new Identifier("sunflower", "double_plant"), 175),
    LILAC(new Identifier("lilac", "double_plant"), 175, 1),
    ROSE_BUSH(new Identifier("rose_bush", "double_plant"), 175, 4),
    PEONY(new Identifier("peony", "double_plant"), 175, 5),
    TALL_GRASS(new Identifier("tall_grass", "double_plant"), 175, 2),
    LARGE_FERN(new Identifier("large_fern", "double_plant"), 175, 3),
    WHITE_STAINED_GLASS(new Identifier("white_stained_glass", "stained_glass"), 95),
    ORANGE_STAINED_GLASS(new Identifier("orange_stained_glass", "stained_glass"), 95, 1),
    MAGENTA_STAINED_GLASS(new Identifier("magenta_stained_glass", "stained_glass"), 95, 2),
    LIGHT_BLUE_STAINED_GLASS(new Identifier("light_blue_stained_glass", "stained_glass"), 95, 3),
    YELLOW_STAINED_GLASS(new Identifier("yellow_stained_glass", "stained_glass"), 95, 4),
    LIME_STAINED_GLASS(new Identifier("lime_stained_glass", "stained_glass"), 95, 5),
    PINK_STAINED_GLASS(new Identifier("pink_stained_glass", "stained_glass"), 95, 6),
    GRAY_STAINED_GLASS(new Identifier("gray_stained_glass", "stained_glass"), 95, 7),
    LIGHT_GRAY_STAINED_GLASS(new Identifier("light_gray_stained_glass", "stained_glass"), 95, 8),
    CYAN_STAINED_GLASS(new Identifier("cyan_stained_glass", "stained_glass"), 95, 9),
    PURPLE_STAINED_GLASS(new Identifier("purple_stained_glass", "stained_glass"), 95, 10),
    BLUE_STAINED_GLASS(new Identifier("blue_stained_glass", "stained_glass"), 95, 11),
    BROWN_STAINED_GLASS(new Identifier("brown_stained_glass", "stained_glass"), 95, 12),
    GREEN_STAINED_GLASS(new Identifier("green_stained_glass", "stained_glass"), 95, 13),
    RED_STAINED_GLASS(new Identifier("red_stained_glass", "stained_glass"), 95, 14),
    BLACK_STAINED_GLASS(new Identifier("black_stained_glass", "stained_glass"), 95, 15),
    WHITE_STAINED_GLASS_PANE(new Identifier("white_stained_glass_pane", "stained_glass_pane"), 160),
    ORANGE_STAINED_GLASS_PANE(new Identifier("orange_stained_glass_pane", "stained_glass_pane"), 160, 1),
    MAGENTA_STAINED_GLASS_PANE(new Identifier("magenta_stained_glass_pane", "stained_glass_pane"), 160, 2),
    LIGHT_BLUE_STAINED_GLASS_PANE(new Identifier("light_blue_stained_glass_pane", "stained_glass_pane"), 160, 3),
    YELLOW_STAINED_GLASS_PANE(new Identifier("yellow_stained_glass_pane", "stained_glass_pane"), 160, 4),
    LIME_STAINED_GLASS_PANE(new Identifier("lime_stained_glass_pane", "stained_glass_pane"), 160, 5),
    PINK_STAINED_GLASS_PANE(new Identifier("pink_stained_glass_pane", "stained_glass_pane"), 160, 6),
    GRAY_STAINED_GLASS_PANE(new Identifier("gray_stained_glass_pane", "stained_glass_pane"), 160, 7),
    LIGHT_GRAY_STAINED_GLASS_PANE(new Identifier("light_gray_stained_glass_pane", "stained_glass_pane"), 160, 8),
    CYAN_STAINED_GLASS_PANE(new Identifier("cyan_stained_glass_pane", "stained_glass_pane"), 160, 9),
    PURPLE_STAINED_GLASS_PANE(new Identifier("purple_stained_glass_pane", "stained_glass_pane"), 160, 10),
    BLUE_STAINED_GLASS_PANE(new Identifier("blue_stained_glass_pane", "stained_glass_pane"), 160, 11),
    BROWN_STAINED_GLASS_PANE(new Identifier("brown_stained_glass_pane", "stained_glass_pane"), 160, 12),
    GREEN_STAINED_GLASS_PANE(new Identifier("green_stained_glass_pane", "stained_glass_pane"), 160, 13),
    RED_STAINED_GLASS_PANE(new Identifier("red_stained_glass_pane", "stained_glass_pane"), 160, 14),
    BLACK_STAINED_GLASS_PANE(new Identifier("black_stained_glass_pane", "stained_glass_pane"), 160, 15),
    PRISMARINE(new Identifier("prismarine"), 168),
    PRISMARINE_BRICKS(new Identifier("prismarine_bricks", "prismarine"), 168, 1),
    DARK_PRISMARINE(new Identifier("dark_prismarine", "prismarine"), 168, 2),
    PRISMARINE_STAIRS(new Identifier(null, "prismarine_stairs"), -2),
    PRISMARINE_BRICK_STAIRS(new Identifier(null, "prismarine_brick_stairs"), -2),
    DARK_PRISMARINE_STAIRS(new Identifier(null, "dark_prismarine_stairs"), -2),
    SEA_LANTERN(new Identifier("sea_lantern"), 169),
    RED_SANDSTONE(new Identifier("red_sandstone"), 179),
    CHISELED_RED_SANDSTONE(new Identifier("chiseled_red_sandstone", "red_sandstone"), 179, 1),
    CUT_RED_SANDSTONE(new Identifier("cut_red_sandstone", "red_sandstone"), 179, 2),
    RED_SANDSTONE_STAIRS(new Identifier("red_sandstone_stairs"), 180),
    REPEATING_COMMAND_BLOCK(new Identifier("repeating_command_block"), 210),
    CHAIN_COMMAND_BLOCK(new Identifier("chain_command_block"), 211),
    MAGMA_BLOCK(new Identifier("magma_block", "magma"), 213),
    NETHER_WART_BLOCK(new Identifier("nether_wart_block"), 214),
    RED_NETHER_BRICKS(new Identifier("red_nether_bricks", "red_nether_brick"), 215),
    BONE_BLOCK(new Identifier("bone_block"), 216),
    STRUCTURE_VOID(new Identifier("structure_void"), 217),
    OBSERVER(new Identifier("observer"), 218),
    SHULKER_BOX(new Identifier(null, "shulker_box"), -2),
    WHITE_SHULKER_BOX(new Identifier("white_shulker_box"), 219),
    ORANGE_SHULKER_BOX(new Identifier("orange_shulker_box"), 220),
    MAGENTA_SHULKER_BOX(new Identifier("magenta_shulker_box"), 221),
    LIGHT_BLUE_SHULKER_BOX(new Identifier("light_blue_shulker_box"), 222),
    YELLOW_SHULKER_BOX(new Identifier("yellow_shulker_box"), 223),
    LIME_SHULKER_BOX(new Identifier("lime_shulker_box"), 224),
    PINK_SHULKER_BOX(new Identifier("pink_shulker_box"), 225),
    GRAY_SHULKER_BOX(new Identifier("gray_shulker_box"), 226),
    LIGHT_GRAY_SHULKER_BOX(new Identifier("light_gray_shulker_box"), 227),
    CYAN_SHULKER_BOX(new Identifier("cyan_shulker_box"), 228),
    PURPLE_SHULKER_BOX(new Identifier("purple_shulker_box"), 229),
    BLUE_SHULKER_BOX(new Identifier("blue_shulker_box"), 230),
    BROWN_SHULKER_BOX(new Identifier("brown_shulker_box"), 231),
    GREEN_SHULKER_BOX(new Identifier("green_shulker_box"), 232),
    RED_SHULKER_BOX(new Identifier("red_shulker_box"), 233),
    BLACK_SHULKER_BOX(new Identifier("black_shulker_box"), 234),
    WHITE_GLAZED_TERRACOTTA(new Identifier("white_glazed_terracotta"), 235),
    ORANGE_GLAZED_TERRACOTTA(new Identifier("orange_glazed_terracotta"), 236),
    MAGENTA_GLAZED_TERRACOTTA(new Identifier("magenta_glazed_terracotta"), 237),
    LIGHT_BLUE_GLAZED_TERRACOTTA(new Identifier("light_blue_glazed_terracotta"), 238),
    YELLOW_GLAZED_TERRACOTTA(new Identifier("yellow_glazed_terracotta"), 239),
    LIME_GLAZED_TERRACOTTA(new Identifier("lime_glazed_terracotta"), 240),
    PINK_GLAZED_TERRACOTTA(new Identifier("pink_glazed_terracotta"), 241),
    GRAY_GLAZED_TERRACOTTA(new Identifier("gray_glazed_terracotta"), 242),
    LIGHT_GRAY_GLAZED_TERRACOTTA(new Identifier("light_gray_glazed_terracotta"), 243),
    CYAN_GLAZED_TERRACOTTA(new Identifier("cyan_glazed_terracotta"), 244),
    PURPLE_GLAZED_TERRACOTTA(new Identifier("purple_glazed_terracotta"), 245),
    BLUE_GLAZED_TERRACOTTA(new Identifier("blue_glazed_terracotta"), 246),
    BROWN_GLAZED_TERRACOTTA(new Identifier("brown_glazed_terracotta"), 247),
    GREEN_GLAZED_TERRACOTTA(new Identifier("green_glazed_terracotta"), 248),
    RED_GLAZED_TERRACOTTA(new Identifier("red_glazed_terracotta"), 249),
    BLACK_GLAZED_TERRACOTTA(new Identifier("black_glazed_terracotta"), 250),
    WHITE_CONCRETE(new Identifier("white_concrete", "concrete"), 251),
    ORANGE_CONCRETE(new Identifier("orange_concrete", "concrete"), 251, 1),
    MAGENTA_CONCRETE(new Identifier("magenta_concrete", "concrete"), 251, 2),
    LIGHT_BLUE_CONCRETE(new Identifier("light_blue_concrete", "concrete"), 251, 3),
    YELLOW_CONCRETE(new Identifier("yellow_concrete", "concrete"), 251, 4),
    LIME_CONCRETE(new Identifier("lime_concrete", "concrete"), 251, 5),
    PINK_CONCRETE(new Identifier("pink_concrete", "concrete"), 251, 6),
    GRAY_CONCRETE(new Identifier("gray_concrete", "concrete"), 251, 7),
    LIGHT_GRAY_CONCRETE(new Identifier("light_gray_concrete", "concrete"), 251, 8),
    CYAN_CONCRETE(new Identifier("cyan_concrete", "concrete"), 251, 9),
    PURPLE_CONCRETE(new Identifier("purple_concrete", "concrete"), 251, 10),
    BLUE_CONCRETE(new Identifier("blue_concrete", "concrete"), 251, 11),
    BROWN_CONCRETE(new Identifier("brown_concrete", "concrete"), 251, 12),
    GREEN_CONCRETE(new Identifier("green_concrete", "concrete"), 251, 13),
    RED_CONCRETE(new Identifier("red_concrete", "concrete"), 251, 14),
    BLACK_CONCRETE(new Identifier("black_concrete", "concrete"), 251, 15),
    WHITE_CONCRETE_POWDER(new Identifier("white_concrete_powder", "concrete_powder"), 252),
    ORANGE_CONCRETE_POWDER(new Identifier("orange_concrete_powder", "concrete_powder"), 252, 1),
    MAGENTA_CONCRETE_POWDER(new Identifier("magenta_concrete_powder", "concrete_powder"), 252, 2),
    LIGHT_BLUE_CONCRETE_POWDER(new Identifier("light_blue_concrete_powder", "concrete_powder"), 252, 3),
    YELLOW_CONCRETE_POWDER(new Identifier("yellow_concrete_powder", "concrete_powder"), 252, 4),
    LIME_CONCRETE_POWDER(new Identifier("lime_concrete_powder", "concrete_powder"), 252, 5),
    PINK_CONCRETE_POWDER(new Identifier("pink_concrete_powder", "concrete_powder"), 252, 6),
    GRAY_CONCRETE_POWDER(new Identifier("gray_concrete_powder", "concrete_powder"), 252, 7),
    LIGHT_GRAY_CONCRETE_POWDER(new Identifier("light_gray_concrete_powder", "concrete_powder"), 252, 8),
    CYAN_CONCRETE_POWDER(new Identifier("cyan_concrete_powder", "concrete_powder"), 252, 9),
    PURPLE_CONCRETE_POWDER(new Identifier("purple_concrete_powder", "concrete_powder"), 252, 10),
    BLUE_CONCRETE_POWDER(new Identifier("blue_concrete_powder", "concrete_powder"), 252, 11),
    BROWN_CONCRETE_POWDER(new Identifier("brown_concrete_powder", "concrete_powder"), 252, 12),
    GREEN_CONCRETE_POWDER(new Identifier("green_concrete_powder", "concrete_powder"), 252, 13),
    RED_CONCRETE_POWDER(new Identifier("red_concrete_powder", "concrete_powder"), 252, 14),
    BLACK_CONCRETE_POWDER(new Identifier("black_concrete_powder", "concrete_powder"), 252, 15),
    TURTLE_EGG(new Identifier(null, "turtle_egg"), -2),
    DEAD_TUBE_CORAL_BLOCK(new Identifier(null, "dead_tube_coral_block"), -2),
    DEAD_BRAIN_CORAL_BLOCK(new Identifier(null, "dead_brain_coral_block"), -2),
    DEAD_BUBBLE_CORAL_BLOCK(new Identifier(null, "dead_bubble_coral_block"), -2),
    DEAD_FIRE_CORAL_BLOCK(new Identifier(null, "dead_fire_coral_block"), -2),
    DEAD_HORN_CORAL_BLOCK(new Identifier(null, "dead_horn_coral_block"), -2),
    TUBE_CORAL_BLOCK(new Identifier(null, "tube_coral_block"), -2),
    BRAIN_CORAL_BLOCK(new Identifier(null, "brain_coral_block"), -2),
    BUBBLE_CORAL_BLOCK(new Identifier(null, "bubble_coral_block"), -2),
    FIRE_CORAL_BLOCK(new Identifier(null, "fire_coral_block"), -2),
    HORN_CORAL_BLOCK(new Identifier(null, "horn_coral_block"), -2),
    TUBE_CORAL(new Identifier(null, "tube_coral"), -2),
    BRAIN_CORAL(new Identifier(null, "brain_coral"), -2),
    BUBBLE_CORAL(new Identifier(null, "bubble_coral"), -2),
    FIRE_CORAL(new Identifier(null, "fire_coral"), -2),
    HORN_CORAL(new Identifier(null, "horn_coral"), -2),
    DEAD_BRAIN_CORAL(new Identifier(null, "dead_brain_coral"), -2),
    DEAD_BUBBLE_CORAL(new Identifier(null, "dead_bubble_coral"), -2),
    DEAD_FIRE_CORAL(new Identifier(null, "dead_fire_coral"), -2),
    DEAD_HORN_CORAL(new Identifier(null, "dead_horn_coral"), -2),
    DEAD_TUBE_CORAL(new Identifier(null, "dead_tube_coral"), -2),
    TUBE_CORAL_FAN(new Identifier(null, "tube_coral_fan"), -2),
    BRAIN_CORAL_FAN(new Identifier(null, "brain_coral_fan"), -2),
    BUBBLE_CORAL_FAN(new Identifier(null, "bubble_coral_fan"), -2),
    FIRE_CORAL_FAN(new Identifier(null, "fire_coral_fan"), -2),
    HORN_CORAL_FAN(new Identifier(null, "horn_coral_fan"), -2),
    DEAD_TUBE_CORAL_FAN(new Identifier(null, "dead_tube_coral_fan"), -2),
    DEAD_BRAIN_CORAL_FAN(new Identifier(null, "dead_brain_coral_fan"), -2),
    DEAD_BUBBLE_CORAL_FAN(new Identifier(null, "dead_bubble_coral_fan"), -2),
    DEAD_FIRE_CORAL_FAN(new Identifier(null, "dead_fire_coral_fan"), -2),
    DEAD_HORN_CORAL_FAN(new Identifier(null, "dead_horn_coral_fan"), -2),
    BLUE_ICE(new Identifier(null, "blue_ice"), -2),
    CONDUIT(new Identifier(null, "conduit"), -2),
    IRON_DOOR(new Identifier("iron_door"), 330),
    OAK_DOOR(new Identifier("oak_door", "wooden_door"), 324),
    SPRUCE_DOOR(new Identifier("spruce_door"), 427),
    BIRCH_DOOR(new Identifier("birch_door"), 428),
    JUNGLE_DOOR(new Identifier("jungle_door"), 429),
    ACACIA_DOOR(new Identifier("acacia_door"), 430),
    DARK_OAK_DOOR(new Identifier("dark_oak_door"), 431),
    REDSTONE_REPEATER(new Identifier("repeater"), 356),
    REDSTONE_COMPARATOR(new Identifier("comparator"), 404),
    STRUCTURE_BLOCK(new Identifier("structure_block"), 255),
    TURTLE_SHELL(new Identifier(null, "turtle_helmet"), -2),
    SCUTE(new Identifier(null, "scute"), -2),
    IRON_SHOVEL(new Identifier("iron_shovel"), 256),
    IRON_PICKAXE(new Identifier("iron_pickaxe"), 257),
    IRON_AXE(new Identifier("iron_axe"), 258),
    FLINT_AND_STEEL(new Identifier("flint_and_steel"), 259),
    APPLE(new Identifier("apple"), 260),
    BOW(new Identifier("bow"), 261),
    ARROW(new Identifier("arrow"), 262),
    COAL(new Identifier("coal"), 263),
    CHARCOAL(new Identifier("charcoal"), 263, 1),
    DIAMOND(new Identifier("diamond"), 264),
    IRON_INGOT(new Identifier("iron_ingot"), 265),
    GOLD_INGOT(new Identifier("gold_ingot"), 266),
    IRON_SWORD(new Identifier("iron_sword"), 267),
    WOODEN_SWORD(new Identifier("wooden_sword"), 268),
    WOODEN_SHOVEL(new Identifier("wooden_shovel"), 269),
    WOODEN_PICKAXE(new Identifier("wooden_pickaxe"), 270),
    WOODEN_AXE(new Identifier("wooden_axe"), 271),
    STONE_SWORD(new Identifier("stone_sword"), 272),
    STONE_SHOVEL(new Identifier("stone_shovel"), 273),
    STONE_PICKAXE(new Identifier("stone_pickaxe"), 274),
    STONE_AXE(new Identifier("stone_axe"), 275),
    DIAMOND_SWORD(new Identifier("diamond_sword"), 276),
    DIAMOND_SHOVEL(new Identifier("diamond_shovel"), 277),
    DIAMOND_PICKAXE(new Identifier("diamond_pickaxe"), 278),
    DIAMOND_AXE(new Identifier("diamond_axe"), 279),
    STICK(new Identifier("stick"), 280),
    BOWL(new Identifier("bowl"), 281),
    MUSHROOM_STEW(new Identifier("mushroom_stew"), 282),
    GOLDEN_SWORD(new Identifier("golden_sword"), 283),
    GOLDEN_SHOVEL(new Identifier("golden_shovel"), 284),
    GOLDEN_PICKAXE(new Identifier("golden_pickaxe"), 285),
    GOLDEN_AXE(new Identifier("golden_axe"), 286),
    STRING(new Identifier("string"), 287),
    FEATHER(new Identifier("feather"), 288),
    GUNPOWDER(new Identifier("gunpowder"), 289),
    WOODEN_HOE(new Identifier("wooden_hoe"), 290),
    STONE_HOE(new Identifier("stone_hoe"), 291),
    IRON_HOE(new Identifier("iron_hoe"), 292),
    DIAMOND_HOE(new Identifier("diamond_hoe"), 293),
    GOLDEN_HOE(new Identifier("golden_hoe"), 294),
    WHEAT_SEEDS(new Identifier("wheat_seeds"), 295),
    WHEAT(new Identifier("wheat"), 296),
    BREAD(new Identifier("bread"), 297),
    LEATHER_CAP(new Identifier("leather_helmet"), 298),
    LEATHER_TUNIC(new Identifier("leather_chestplate"), 299),
    LEATHER_PANTS(new Identifier("leather_leggings"), 300),
    LEATHER_BOOTS(new Identifier("leather_boots"), 301),
    CHAINMAIL_HELMET(new Identifier("chainmail_helmet"), 302),
    CHAINMAIL_CHESTPLATE(new Identifier("chainmail_chestplate"), 303),
    CHAINMAIL_LEGGINGS(new Identifier("chainmail_leggings"), 304),
    CHAINMAIL_BOOTS(new Identifier("chainmail_boots"), 305),
    IRON_HELMET(new Identifier("iron_helmet"), 306),
    IRON_CHESTPLATE(new Identifier("iron_chestplate"), 307),
    IRON_LEGGINGS(new Identifier("iron_leggings"), 308),
    IRON_BOOTS(new Identifier("iron_boots"), 309),
    DIAMOND_HELMET(new Identifier("diamond_helmet"), 310),
    DIAMOND_CHESTPLATE(new Identifier("diamond_chestplate"), 311),
    DIAMOND_LEGGINGS(new Identifier("diamond_leggings"), 312),
    DIAMOND_BOOTS(new Identifier("diamond_boots"), 313),
    GOLDEN_HELMET(new Identifier("golden_helmet"), 314),
    GOLDEN_CHESTPLATE(new Identifier("golden_chestplate"), 315),
    GOLDEN_LEGGINGS(new Identifier("golden_leggings"), 316),
    GOLDEN_BOOTS(new Identifier("golden_boots"), 317),
    FLINT(new Identifier("flint"), 318),
    RAW_PORKCHOP(new Identifier("porkchop"), 319),
    COOKED_PORKCHOP(new Identifier("cooked_porkchop"), 320),
    PAINTING(new Identifier("painting"), 321),
    GOLDEN_APPLE(new Identifier("golden_apple"), 322),
    ENCHANTED_GOLDEN_APPLE(new Identifier("enchanted_golden_apple", "golden_apple"), 322, 1),
    SIGN(new Identifier("sign"), 323),
    BUCKET(new Identifier("bucket"), 325),
    WATER_BUCKET(new Identifier("water_bucket"), 326),
    LAVA_BUCKET(new Identifier("lava_bucket"), 327),
    MINECART(new Identifier("minecart"), 328),
    SADDLE(new Identifier("saddle"), 329),
    REDSTONE(new Identifier("redstone"), 331),
    SNOWBALL(new Identifier("snowball"), 332),
    OAK_BOAT(new Identifier("oak_boat", "boat"), 333),
    LEATHER(new Identifier("leather"), 334),
    MILK_BUCKET(new Identifier("milk_bucket"), 335),
    BUCKET_OF_PUFFERFISH(new Identifier(null, "pufferfish_bucket"), -2),
    BUCKET_OF_SALMON(new Identifier(null, "salmon_bucket"), -2),
    BUCKET_OF_COD(new Identifier(null, "cod_bucket"), -2),
    BUCKET_OF_TROPICAL_FISH(new Identifier("tropical_fish_bucket", "clownfish_bucket"), -2),
    BRICK(new Identifier("brick"), 336),
    CLAY_BALL(new Identifier("clay_ball"), 337),
    SUGAR_CANE(new Identifier("sugar_cane", "reeds"), 338),
    KELP(new Identifier(null, "kelp"), -2),
    DRIED_KELP_BLOCK(new Identifier(null, "dried_kelp_block"), -2),
    PAPER(new Identifier("paper"), 339),
    BOOK(new Identifier("book"), 340),
    SLIMEBALL(new Identifier("slime_ball"), 341),
    MINECART_WITH_CHEST(new Identifier("chest_minecart"), 342),
    MINECART_WITH_FURNACE(new Identifier("furnace_minecart"), 343),
    EGG(new Identifier("egg"), 344),
    COMPASS(new Identifier("compass"), 345),
    FISHING_ROD(new Identifier("fishing_rod"), 346),
    CLOCK(new Identifier("clock"), 347),
    GLOWSTONE_DUST(new Identifier("glowstone_dust"), 348),
    RAW_COD(new Identifier("cod", "fish"), 349),
    RAW_SALMON(new Identifier("salmon", "fish"), 349, 1),
    TROPICAL_FISH(new Identifier("tropical_fish", "fish"), 349, 2),
    PUFFERFISH(new Identifier("pufferfish", "fish"), 349, 3),
    COOKED_COD(new Identifier("cooked_cod", "cooked_fish"), 350),
    COOKED_SALMON(new Identifier("cooked_salmon", "cooked_fish"), 350, 1),
    INK_SAC(new Identifier("ink_sac", "dye"), 351),
    ROSE_RED(new Identifier("rose_red", "dye"), 351, 1),
    CACTUS_GREEN(new Identifier("cactus_green", "dye"), 351, 2),
    COCOA_BEANS(new Identifier("cocoa_beans", "dye"), 351, 3),
    LAPIS_LAZULI(new Identifier("lapis_lazuli", "dye"), 351, 4),
    PURPLE_DYE(new Identifier("purple_dye", "dye"), 351, 5),
    CYAN_DYE(new Identifier("cyan_dye", "dye"), 351, 6),
    LIGHT_GRAY_DYE(new Identifier("light_gray_dye", "dye"), 351, 7),
    GRAY_DYE(new Identifier("gray_dye", "dye"), 351, 8),
    PINK_DYE(new Identifier("pink_dye", "dye"), 351, 9),
    LIME_DYE(new Identifier("lime_dye", "dye"), 351, 10),
    DANDELION_YELLOW(new Identifier("dandelion_yellow", "dye"), 351, 11),
    LIGHT_BLUE_DYE(new Identifier("light_blue_dye", "dye"), 351, 12),
    MAGENTA_DYE(new Identifier("magenta_dye", "dye"), 351, 13),
    ORANGE_DYE(new Identifier("orange_dye", "dye"), 351, 14),
    BONE_MEAL(new Identifier("bone_meal", "dye"), 351, 15),
    BONE(new Identifier("bone"), 352),
    SUGAR(new Identifier("sugar"), 353),
    CAKE(new Identifier("cake"), 354),
    WHITE_BED(new Identifier("white_bed", "bed"), 355),
    ORANGE_BED(new Identifier("orange_bed", "bed"), 355, 1),
    MAGENTA_BED(new Identifier("magenta_bed", "bed"), 355, 2),
    LIGHT_BLUE_BED(new Identifier("light_blue_bed", "bed"), 355, 3),
    YELLOW_BED(new Identifier("yellow_bed", "bed"), 355, 4),
    LIME_BED(new Identifier("lime_bed", "bed"), 355, 5),
    PINK_BED(new Identifier("pink_bed", "bed"), 355, 6),
    GRAY_BED(new Identifier("gray_bed", "bed"), 355, 7),
    LIGHT_GRAY_BED(new Identifier("light_gray_bed", "bed"), 355, 8),
    CYAN_BED(new Identifier("cyan_bed", "bed"), 355, 9),
    PURPLE_BED(new Identifier("purple_bed", "bed"), 355, 10),
    BLUE_BED(new Identifier("blue_bed", "bed"), 355, 11),
    BROWN_BED(new Identifier("brown_bed", "bed"), 355, 12),
    GREEN_BED(new Identifier("green_bed", "bed"), 355, 13),
    RED_BED(new Identifier("red_bed", "bed"), 355, 14),
    BLACK_BED(new Identifier("black_bed", "bed"), 355, 15),
    COOKIE(new Identifier("cookie"), 357),
    MAP(new Identifier("filled_map"), 358),
    SHEARS(new Identifier("shears"), 359),
    MELON_SLICE(new Identifier("melon_slice", "melon"), 360),
    DRIED_KELP(new Identifier(null, "dried_kelp"), -2),
    PUMPKIN_SEEDS(new Identifier("pumpkin_seeds"), 361),
    MELON_SEEDS(new Identifier("melon_seeds"), 362),
    RAW_BEEF(new Identifier("beef"), 363),
    STEAK(new Identifier("cooked_beef"), 364),
    RAW_CHICKEN(new Identifier("chicken"), 365),
    COOKED_CHICKEN(new Identifier("cooked_chicken"), 366),
    ROTTEN_FLESH(new Identifier("rotten_flesh"), 367),
    ENDER_PEARL(new Identifier("ender_pearl"), 368),
    BLAZE_ROD(new Identifier("blaze_rod"), 369),
    GHAST_TEAR(new Identifier("ghast_tear"), 370),
    GOLD_NUGGET(new Identifier("gold_nugget"), 371),
    NETHER_WART(new Identifier("nether_wart"), 372),
    POTION(new Identifier("potion", "potion"), 373),
    SPLASH_POTION(new Identifier("splash_potion"), 438),
    LINGERING_POTION(new Identifier("lingering_potion"), 441),
    WATER_BOTTLE(new Identifier(null, "potion{Potion"), -2),
    UNCRAFTABLE_POTION(new Identifier(null, "potion"), -2),
    AWKWARD_POTION(new Identifier("potion{Potion", "potion"), 373, 16),
    THICK_POTION(new Identifier("potion{Potion", "potion"), 373, 32),
    MUNDANE_POTION(new Identifier("potion{Potion", "potion"), 373, 64),
    GLASS_BOTTLE(new Identifier("glass_bottle"), 374),
    SPIDER_EYE(new Identifier("spider_eye"), 375),
    FERMENTED_SPIDER_EYE(new Identifier("fermented_spider_eye"), 376),
    BLAZE_POWDER(new Identifier("blaze_powder"), 377),
    MAGMA_CREAM(new Identifier("magma_cream"), 378),
    BREWING_STAND(new Identifier("brewing_stand"), 379),
    CAULDRON(new Identifier("cauldron"), 380),
    EYE_OF_ENDER(new Identifier("ender_eye"), 381),
    GLISTERING_MELON_SLICE(new Identifier("glistering_melon_slice", "speckled_melon"), 382),
    BAT_SPAWN_EGG(new Identifier("bat_spawn_egg", "spawn_egg"), 383, 65),
    BLAZE_SPAWN_EGG(new Identifier("blaze_spawn_egg", "spawn_egg"), 383, 61),
    CAVE_SPIDER_SPAWN_EGG(new Identifier("cave_spider_spawn_egg", "spawn_egg"), 383, 59),
    CHICKEN_SPAWN_EGG(new Identifier("chicken_spawn_egg", "spawn_egg"), 383, 93),
    COD_SPAWN_EGG(new Identifier(null, "cod_spawn_egg"), -2),
    COW_SPAWN_EGG(new Identifier("cow_spawn_egg", "spawn_egg"), 383, 92),
    CREEPER_SPAWN_EGG(new Identifier("creeper_spawn_egg", "spawn_egg"), 383, 50),
    DOLPHIN_SPAWN_EGG(new Identifier(null, "dolphin_spawn_egg"), -2),
    DONKEY_SPAWN_EGG(new Identifier("donkey_spawn_egg", "spawn_egg"), 383, 31),
    DROWNED_SPAWN_EGG(new Identifier(null, "drowned_spawn_egg"), -2),
    ELDER_GUARDIAN_SPAWN_EGG(new Identifier("elder_guardian_spawn_egg", "spawn_egg"), 383, 4),
    ENDERMAN_SPAWN_EGG(new Identifier("enderman_spawn_egg", "spawn_egg"), 383, 58),
    ENDERMITE_SPAWN_EGG(new Identifier("endermite_spawn_egg", "spawn_egg"), 383, 67),
    EVOKER_SPAWN_EGG(new Identifier("evoker_spawn_egg", "spawn_egg"), 383, 34),
    GHAST_SPAWN_EGG(new Identifier("ghast_spawn_egg", "spawn_egg"), 383, 56),
    GUARDIAN_SPAWN_EGG(new Identifier("guardian_spawn_egg", "spawn_egg"), 383, 68),
    HORSE_SPAWN_EGG(new Identifier("horse_spawn_egg", "spawn_egg"), 383, 100),
    HUSK_SPAWN_EGG(new Identifier("husk_spawn_egg", "spawn_egg"), 383, 23),
    LLAMA_SPAWN_EGG(new Identifier("llama_spawn_egg", "spawn_egg"), 383, 103),
    MAGMA_CUBE_SPAWN_EGG(new Identifier("magma_cube_spawn_egg", "spawn_egg"), 383, 62),
    MOOSHROOM_SPAWN_EGG(new Identifier("mooshroom_spawn_egg", "spawn_egg"), 383, 96),
    MULE_SPAWN_EGG(new Identifier("mule_spawn_egg", "spawn_egg"), 383, 32),
    OCELOT_SPAWN_EGG(new Identifier("ocelot_spawn_egg", "spawn_egg"), 383, 98),
    PARROT_SPAWN_EGG(new Identifier("parrot_spawn_egg", "spawn_egg"), -2),
    PHANTOM_SPAWN_EGG(new Identifier(null, "phantom_spawn_egg"), -2),
    PIG_SPAWN_EGG(new Identifier("pig_spawn_egg", "spawn_egg"), 383, 90),
    POLAR_BEAR_SPAWN_EGG(new Identifier("polar_bear_spawn_egg", "spawn_egg"), 383, 102),
    PUFFERFISH_SPAWN_EGG(new Identifier(null, "pufferfish_spawn_egg"), -2),
    RABBIT_SPAWN_EGG(new Identifier("rabbit_spawn_egg", "spawn_egg"), 383, 101),
    SALMON_SPAWN_EGG(new Identifier(null, "salmon_spawn_egg"), -2),
    SHEEP_SPAWN_EGG(new Identifier("sheep_spawn_egg", "spawn_egg"), 383, 91),
    SHULKER_SPAWN_EGG(new Identifier("shulker_spawn_egg", "spawn_egg"), 383, 69),
    SILVERFISH_SPAWN_EGG(new Identifier("silverfish_spawn_egg", "spawn_egg"), -2),
    SKELETON_SPAWN_EGG(new Identifier("skeleton_spawn_egg", "spawn_egg"), 383, 51),
    SKELETON_HORSE_SPAWN_EGG(new Identifier("skeleton_horse_spawn_egg", "spawn_egg"), 383, 28),
    SLIME_SPAWN_EGG(new Identifier("slime_spawn_egg", "spawn_egg"), 383, 55),
    SPIDER_SPAWN_EGG(new Identifier("spider_spawn_egg", "spawn_egg"), 383, 52),
    SQUID_SPAWN_EGG(new Identifier("squid_spawn_egg", "spawn_egg"), 383, 94),
    STRAY_SPAWN_EGG(new Identifier("stray_spawn_egg", "spawn_egg"), 383, 6),
    TROPICAL_FISH_SPAWN_EGG(new Identifier(null, "tropical_fish_spawn_egg"), -2),
    TURTLE_SPAWN_EGG(new Identifier(null, "turtle_spawn_egg"), -2),
    VEX_SPAWN_EGG(new Identifier("vex_spawn_egg", "spawn_egg"), 383, 35),
    VILLAGER_SPAWN_EGG(new Identifier("villager_spawn_egg", "spawn_egg"), 383, 120),
    VINDICATOR_SPAWN_EGG(new Identifier("vindicator_spawn_egg", "spawn_egg"), 383, 36),
    WITCH_SPAWN_EGG(new Identifier("witch_spawn_egg", "spawn_egg"), 383, 66),
    WITHER_SKELETON_SPAWN_EGG(new Identifier("wither_skeleton_spawn_egg", "spawn_egg"), 383, 5),
    WOLF_SPAWN_EGG(new Identifier("wolf_spawn_egg", "spawn_egg"), 383, 95),
    ZOMBIE_SPAWN_EGG(new Identifier("zombie_spawn_egg", "spawn_egg"), 383, 54),
    ZOMBIE_HORSE_SPAWN_EGG(new Identifier("zombie_horse_spawn_egg", "spawn_egg"), 383, 29),
    ZOMBIE_PIGMAN_SPAWN_EGG(new Identifier("zombie_pigman_spawn_egg", "spawn_egg"), 383, 57),
    ZOMBIE_VILLAGER_SPAWN_EGG(new Identifier("zombie_villager_spawn_egg", "spawn_egg"), 383, 27),
    BOTTLE_O_ENCHANTING(new Identifier("experience_bottle"), 384),
    FIRE_CHARGE(new Identifier("fire_charge"), 385),
    BOOK_AND_QUILL(new Identifier("writable_book"), 386),
    WRITTEN_BOOK(new Identifier("written_book"), 387),
    EMERALD(new Identifier("emerald"), 388),
    ITEM_FRAME(new Identifier("item_frame"), 389),
    FLOWER_POT(new Identifier("flower_pot"), 390),
    CARROT(new Identifier("carrot"), 391),
    POTATO(new Identifier("potato"), 392),
    BAKED_POTATO(new Identifier("baked_potato"), 393),
    POISONOUS_POTATO(new Identifier("poisonous_potato"), 394),
    EMPTY_MAP(new Identifier("map"), 395),
    GOLDEN_CARROT(new Identifier("golden_carrot"), 396),
    SKELETON_SKULL(new Identifier("skeleton_skull", "skull"), 397),
    WITHER_SKELETON_SKULL(new Identifier("wither_skeleton_skull", "skull"), 397, 1),
    PLAYER_HEAD(new Identifier("player_head", "skull"), 397, 3),
    ZOMBIE_HEAD(new Identifier("zombie_head", "skull"), 397, 2),
    CREEPER_HEAD(new Identifier("creeper_head", "skull"), 397, 4),
    DRAGON_HEAD(new Identifier("dragon_head", "skull"), 397, 5),
    CARROT_ON_A_STICK(new Identifier("carrot_on_a_stick"), 398),
    NETHER_STAR(new Identifier("nether_star"), 399),
    PUMPKIN_PIE(new Identifier("pumpkin_pie"), 400),
    FIREWORK_ROCKET(new Identifier("firework_rocket", "fireworks"), 401),
    FIREWORK_STAR(new Identifier("firework_star", "firework_charge"), 402),
    ENCHANTED_BOOK(new Identifier("enchanted_book"), 403),
    NETHER_BRICK(new Identifier("nether_brick", "netherbrick"), 405),
    NETHER_QUARTZ(new Identifier("quartz"), 406),
    MINECART_WITH_TNT(new Identifier("tnt_minecart"), 407),
    MINECART_WITH_HOPPER(new Identifier("hopper_minecart"), 408),
    PRISMARINE_SHARD(new Identifier("prismarine_shard"), 409),
    PRISMARINE_CRYSTALS(new Identifier("prismarine_crystals"), 410),
    RAW_RABBIT(new Identifier("rabbit"), 411),
    COOKED_RABBIT(new Identifier("cooked_rabbit"), 412),
    RABBIT_STEW(new Identifier("rabbit_stew"), 413),
    RABBITS_FOOT(new Identifier("rabbit_foot"), 414),
    RABBIT_HIDE(new Identifier("rabbit_hide"), 415),
    ARMOR_STAND(new Identifier("armor_stand"), 416),
    IRON_HORSE_ARMOR(new Identifier("iron_horse_armor"), 417),
    GOLDEN_HORSE_ARMOR(new Identifier("golden_horse_armor"), 418),
    DIAMOND_HORSE_ARMOR(new Identifier("diamond_horse_armor"), 419),
    LEAD(new Identifier("lead"), 420),
    NAME_TAG(new Identifier("name_tag"), 421),
    MINECART_WITH_COMMAND_BLOCK(new Identifier("command_block_minecart"), 422),
    RAW_MUTTON(new Identifier("mutton"), 423),
    COOKED_MUTTON(new Identifier("cooked_mutton"), 424),
    WHITE_BANNER(new Identifier("white_banner", "banner"), 425, 15),
    ORANGE_BANNER(new Identifier("orange_banner", "banner"), 425, 14),
    MAGENTA_BANNER(new Identifier("magenta_banner", "banner"), 425, 13),
    LIGHT_BLUE_BANNER(new Identifier("light_blue_banner", "banner"), 425, 12),
    YELLOW_BANNER(new Identifier("yellow_banner", "banner"), 425, 11),
    LIME_BANNER(new Identifier("lime_banner", "banner"), 425, 10),
    PINK_BANNER(new Identifier("pink_banner", "banner"), 425, 9),
    GRAY_BANNER(new Identifier("gray_banner", "banner"), 425, 8),
    LIGHT_GRAY_BANNER(new Identifier("light_gray_banner", "banner"), 425, 7),
    CYAN_BANNER(new Identifier("cyan_banner", "banner"), 425, 6),
    PURPLE_BANNER(new Identifier("purple_banner", "banner"), 425, 5),
    BLUE_BANNER(new Identifier("blue_banner", "banner"), 425, 4),
    BROWN_BANNER(new Identifier("brown_banner", "banner"), 425, 3),
    GREEN_BANNER(new Identifier("green_banner", "banner"), 425, 2),
    RED_BANNER(new Identifier("red_banner", "banner"), 425, 1),
    BLACK_BANNER(new Identifier("black_banner", "banner"), 425),
    END_CRYSTAL(new Identifier("end_crystal"), 426),
    CHORUS_FRUIT(new Identifier("chorus_fruit"), 432),
    POPPED_CHORUS_FRUIT(new Identifier("popped_chorus_fruit", "chorus_fruit_popped"), 433),
    BEETROOT(new Identifier("beetroot"), 434),
    BEETROOT_SEEDS(new Identifier("beetroot_seeds"), 435),
    BEETROOT_SOUP(new Identifier("beetroot_soup"), 436),
    DRAGONS_BREATH(new Identifier("dragon_breath"), 437),
    SPECTRAL_ARROW(new Identifier("spectral_arrow"), 439),
    TIPPED_ARROW(new Identifier("tipped_arrow"), 440),
    SHIELD(new Identifier("shield"), 442),
    ELYTRA(new Identifier("elytra"), 443),
    SPRUCE_BOAT(new Identifier("spruce_boat"), 444),
    BIRCH_BOAT(new Identifier("birch_boat"), 445),
    JUNGLE_BOAT(new Identifier("jungle_boat"), 446),
    ACACIA_BOAT(new Identifier("acacia_boat"), 447),
    DARK_OAK_BOAT(new Identifier("dark_oak_boat"), 448),
    TOTEM_OF_UNDYING(new Identifier("totem_of_undying"), 449),
    SHULKER_SHELL(new Identifier("shulker_shell"), 450),
    IRON_NUGGET(new Identifier("iron_nugget"), 452),
    KNOWLEDGE_BOOK(new Identifier(null, "knowledge_book"), -2),
    DEBUG_STICK(new Identifier(null, "debug_stick"), -2),
    DISC_13(new Identifier("music_disc_13", "record_13"), 2256),
    CAT_DISC(new Identifier("music_disc_cat", "record_cat"), 2257),
    BLOCKS_DISC(new Identifier("music_disc_blocks", "record_blocks"), 2258),
    CHIRP_DISC(new Identifier("music_disc_chirp", "record_chirp"), 2259),
    FAR_DISC(new Identifier("music_disc_far", "record_far"), 2260),
    MALL_DISC(new Identifier("music_disc_mall", "record_mall"), 2261),
    MELLOHI_DISC(new Identifier("music_disc_mellohi", "record_mellohi"), 2262),
    STAL_DISC(new Identifier("music_disc_stal", "record_stal"), 2263),
    STRAD_DISC(new Identifier("music_disc_strad", "record_strad"), 2264),
    WARD_DISC(new Identifier("music_disc_ward", "record_ward"), 2265),
    DISC_11(new Identifier("music_disc_11", "record_11"), 2266),
    WAIT_DISC(new Identifier("music_disc_wait", "record_wait"), 2267),
    TRIDENT(new Identifier(null, "trident"), -2),
    PHANTOM_MEMBRANE(new Identifier(null, "phantom_membrane"), -2),
    NAUTILUS_SHELL(new Identifier(null, "nautilus_shell"), -2),
    HEART_OF_THE_SEA(new Identifier(null, "heart_of_the_sea"), -2),
    WATER(new Identifier("water", "still_water"), 9),
    LAVA(new Identifier("lava", "still_lava"), 11),
    TALL_SEAGRASS(new Identifier(null, "tall_seagrass"), -2),
    PISTON_HEAD(new Identifier("piston_head"), 34),
    MOVING_PISTON(new Identifier(null, "moving_piston"), -2),
    WALL_TORCH(new Identifier("wall_torch", "torch"), -2),
    FIRE(new Identifier("fire"), 51),
    REDSTONE_DUST(new Identifier("redstone_wire"), 55),
    WALL_SIGN(new Identifier("wall_sign"), 68),
    REDSTONE_WALL_TORCH(new Identifier(null, "redstone_wall_torch"), -2),
    NETHER_PORTAL(new Identifier("nether_portal", "portal"), 90),
    ATTACHED_PUMPKIN_STEM(new Identifier(null, "attached_pumpkin_stem"), -2),
    ATTACHED_MELON_STEM(new Identifier(null, "attached_melon_stem"), -2),
    PUMPKIN_STEM(new Identifier("pumpkin_stem"), 104),
    MELON_STEM(new Identifier("melon_stem"), 105),
    END_PORTAL(new Identifier("end_portal"), 119),
    COCOA(new Identifier("cocoa"), 127),
    TRIPWIRE(new Identifier("tripwire", "tripwire_hook"), 132),
    POTTED_OAK_SAPLING(new Identifier("potted_oak_sapling", "flower_pot"), -2),
    POTTED_SPRUCE_SAPLING(new Identifier("potted_spruce_sapling", "flower_pot"), -2),
    POTTED_BIRCH_SAPLING(new Identifier("potted_birch_sapling", "flower_pot"), -2),
    POTTED_JUNGLE_SAPLING(new Identifier("potted_jungle_sapling", "flower_pot"), -2),
    POTTED_ACACIA_SAPLING(new Identifier("potted_acacia_sapling", "flower_pot"), -2),
    POTTED_DARK_OAK_SAPLING(new Identifier("potted_dark_oak_sapling", "flower_pot"), -2),
    POTTED_FERN(new Identifier("potted_fern", "flower_pot"), -2),
    POTTED_DANDELION(new Identifier("potted_dandelion", "flower_pot"), -2),
    POTTED_POPPY(new Identifier("potted_poppy", "flower_pot"), -2),
    POTTED_BLUE_ORCHID(new Identifier("potted_blue_orchid", "flower_pot"), -2),
    POTTED_ALLIUM(new Identifier("potted_allium", "flower_pot"), -2),
    POTTED_AZURE_BLUET(new Identifier("potted_azure_bluet", "flower_pot"), -2),
    POTTED_RED_TULIP(new Identifier("potted_red_tulip", "flower_pot"), -2),
    POTTED_ORANGE_TULIP(new Identifier("potted_orange_tulip", "flower_pot"), -2),
    POTTED_WHITE_TULIP(new Identifier("potted_white_tulip", "flower_pot"), -2),
    POTTED_PINK_TULIP(new Identifier("potted_pink_tulip", "flower_pot"), -2),
    POTTED_OXEYE_DAISY(new Identifier("potted_oxeye_daisy", "flower_pot"), -2),
    POTTED_RED_MUSHROOM(new Identifier("potted_red_mushroom", "flower_pot"), -2),
    POTTED_BROWN_MUSHROOM(new Identifier("potted_brown_mushroom", "flower_pot"), -2),
    POTTED_DEAD_BUSH(new Identifier("potted_dead_bush", "flower_pot"), -2),
    POTTED_CACTUS(new Identifier("potted_cactus", "flower_pot"), -2),
    CARROTS(new Identifier("carrots"), 141),
    POTATOES(new Identifier("potatoes"), 142),
    SKELETON_WALL_SKULL(new Identifier("skeleton_wall_skull", "skull"), -2),
    WITHER_SKELETON_WALL_SKULL(new Identifier("wither_skeleton_wall_skull", "skull"), -2),
    ZOMBIE_WALL_HEAD(new Identifier("zombie_wall_head", "skull"), -2),
    PLAYER_WALL_HEAD(new Identifier("player_wall_head", "skull"), -2),
    CREEPER_WALL_HEAD(new Identifier("creeper_wall_head", "skull"), -2),
    DRAGON_WALL_HEAD(new Identifier("dragon_wall_head", "skull"), -2),
    WHITE_WALL_BANNER(new Identifier(null, "white_wall_banner"), -2),
    ORANGE_WALL_BANNER(new Identifier(null, "orange_wall_banner"), -2),
    MAGENTA_WALL_BANNER(new Identifier(null, "magenta_wall_banner"), -2),
    LIGHT_BLUE_WALL_BANNER(new Identifier(null, "light_blue_wall_banner"), -2),
    YELLOW_WALL_BANNER(new Identifier(null, "yellow_wall_banner"), -2),
    LIME_WALL_BANNER(new Identifier(null, "lime_wall_banner"), -2),
    PINK_WALL_BANNER(new Identifier(null, "pink_wall_banner"), -2),
    GRAY_WALL_BANNER(new Identifier(null, "gray_wall_banner"), -2),
    LIGHT_GRAY_WALL_BANNER(new Identifier(null, "light_gray_wall_banner"), -2),
    CYAN_WALL_BANNER(new Identifier(null, "cyan_wall_banner"), -2),
    PURPLE_WALL_BANNER(new Identifier(null, "purple_wall_banner"), -2),
    BLUE_WALL_BANNER(new Identifier(null, "blue_wall_banner"), -2),
    BROWN_WALL_BANNER(new Identifier(null, "brown_wall_banner"), -2),
    GREEN_WALL_BANNER(new Identifier(null, "green_wall_banner"), -2),
    RED_WALL_BANNER(new Identifier(null, "red_wall_banner"), -2),
    BLACK_WALL_BANNER(new Identifier(null, "black_wall_banner"), -2),
    BEETROOTS(new Identifier("beetroots"), 207),
    END_GATEWAY(new Identifier("end_gateway"), 209),
    FROSTED_ICE(new Identifier("frosted_ice"), 212),
    KELP_PLANT(new Identifier(null, "kelp_plant"), -2),
    DEAD_TUBE_CORAL_WALL_FAN(new Identifier(null, "dead_tube_coral_wall_fan"), -2),
    DEAD_BRAIN_CORAL_WALL_FAN(new Identifier(null, "dead_brain_coral_wall_fan"), -2),
    DEAD_BUBBLE_CORAL_WALL_FAN(new Identifier(null, "dead_bubble_coral_wall_fan"), -2),
    DEAD_FIRE_CORAL_WALL_FAN(new Identifier(null, "dead_fire_coral_wall_fan"), -2),
    DEAD_HORN_CORAL_WALL_FAN(new Identifier(null, "dead_horn_coral_wall_fan"), -2),
    TUBE_CORAL_WALL_FAN(new Identifier(null, "tube_coral_wall_fan"), -2),
    BRAIN_CORAL_WALL_FAN(new Identifier(null, "brain_coral_wall_fan"), -2),
    BUBBLE_CORAL_WALL_FAN(new Identifier(null, "bubble_coral_wall_fan"), -2),
    FIRE_CORAL_WALL_FAN(new Identifier(null, "fire_coral_wall_fan"), -2),
    HORN_CORAL_WALL_FAN(new Identifier(null, "horn_coral_wall_fan"), -2),
    VOID_AIR(new Identifier(null, "void_air"), -2),
    CAVE_AIR(new Identifier(null, "cave_air"), -2),
    BUBBLE_COLUMN(new Identifier(null, "bubble_column"), -2),
    CORNFLOWER(new Identifier(null, "cornflower"), -2),
    LILY_OF_THE_VALLEY(new Identifier(null, "lily_of_the_valley"), -2),
    WITHER_ROSE(new Identifier(null, "wither_rose"), -2),
    SMOOTH_STONE_SLAB(new Identifier(null, "smooth_stone_slab"), -2),
    CUT_SANDSTONE_SLAB(new Identifier(null, "cut_sandstone_slab"), -2),
    CUT_RED_SANDSTONE_SLAB(new Identifier(null, "cut_red_sandstone_slab"), -2),
    BRICK_WALL(new Identifier(null, "brick_wall"), -2),
    PRISMARINE_WALL(new Identifier(null, "prismarine_wall"), -2),
    RED_SANDSTONE_WALL(new Identifier(null, "red_sandstone_wall"), -2),
    MOSSY_STONE_BRICK_WALL(new Identifier(null, "mossy_stone_brick_wall"), -2),
    GRANITE_WALL(new Identifier(null, "granite_wall"), -2),
    STONE_BRICK_WALL(new Identifier(null, "stone_brick_wall"), -2),
    NETHER_BRICK_WALL(new Identifier(null, "nether_brick_wall"), -2),
    ANDESITE_WALL(new Identifier(null, "andesite_wall"), -2),
    RED_NETHER_BRICK_WALL(new Identifier(null, "red_nether_brick_wall"), -2),
    SANDSTONE_WALL(new Identifier(null, "sandstone_wall"), -2),
    END_STONE_BRICK_WALL(new Identifier(null, "end_stone_brick_wall"), -2),
    DIORITE_WALL(new Identifier(null, "diorite_wall"), -2),
    POLISHED_GRANITE_STAIRS(new Identifier(null, "polished_granite_stairs"), -2),
    SMOOTH_RED_SANDSTONE_STAIRS(new Identifier(null, "smooth_red_sandstone_stairs"), -2),
    MOSSY_STONE_BRICK_STAIRS(new Identifier(null, "mossy_stone_brick_stairs"), -2),
    POLISHED_DIORITE_STAIRS(new Identifier(null, "polished_diorite_stairs"), -2),
    MOSSY_COBBLESTONE_STAIRS(new Identifier(null, "mossy_cobblestone_stairs"), -2),
    END_STONE_BRICK_STAIRS(new Identifier(null, "end_stone_brick_stairs"), -2),
    STONE_STAIRS(new Identifier(null, "stone_stairs"), -2),
    SMOOTH_SANDSTONE_STAIRS(new Identifier(null, "smooth_sandstone_stairs"), -2),
    SMOOTH_QUARTZ_STAIRS(new Identifier(null, "smooth_quartz_stairs"), -2),
    GRANITE_STAIRS(new Identifier(null, "granite_stairs"), -2),
    ANDESITE_STAIRS(new Identifier(null, "andesite_stairs"), -2),
    RED_NETHER_BRICK_STAIRS(new Identifier(null, "red_nether_brick_stairs"), -2),
    POLISHED_ANDESITE_STAIRS(new Identifier(null, "polished_andesite_stairs"), -2),
    DIORITE_STAIRS(new Identifier(null, "diorite_stairs"), -2),
    POLISHED_GRANITE_SLAB(new Identifier(null, "polished_granite_slab"), -2),
    SMOOTH_RED_SANDSTONE_SLAB(new Identifier(null, "smooth_red_sandstone_slab"), -2),
    MOSSY_STONE_BRICK_SLAB(new Identifier(null, "mossy_stone_brick_slab"), -2),
    POLISHED_DIORITE_SLAB(new Identifier(null, "polished_diorite_slab"), -2),
    MOSSY_COBBLESTONE_SLAB(new Identifier(null, "mossy_cobblestone_slab"), -2),
    END_STONE_BRICK_SLAB(new Identifier(null, "end_stone_brick_slab"), -2),
    SMOOTH_SANDSTONE_SLAB(new Identifier(null, "smooth_sandstone_slab"), -2),
    SMOOTH_QUARTZ_SLAB(new Identifier(null, "smooth_quartz_slab"), -2),
    GRANITE_SLAB(new Identifier(null, "granite_slab"), -2),
    ANDESITE_SLAB(new Identifier(null, "andesite_slab"), -2),
    RED_NETHER_BRICK_SLAB(new Identifier(null, "red_nether_brick_slab"), -2),
    POLISHED_ANDESITE_SLAB(new Identifier(null, "polished_andesite_slab"), -2),
    DIORITE_SLAB(new Identifier(null, "diorite_slab"), -2),
    SCAFFOLDING(new Identifier(null, "scaffolding"), -2),
    JIGSAW_BLOCK(new Identifier(null, "jigsaw"), -2),
    COMPOSTER(new Identifier(null, "composter"), -2),
    OAK_SIGN(new Identifier(null, "oak_sign"), -2),
    SPRUCE_SIGN(new Identifier(null, "spruce_sign"), -2),
    BIRCH_SIGN(new Identifier(null, "birch_sign"), -2),
    JUNGLE_SIGN(new Identifier(null, "jungle_sign"), -2),
    ACACIA_SIGN(new Identifier(null, "acacia_sign"), -2),
    DARK_OAK_SIGN(new Identifier(null, "dark_oak_sign"), -2),
    BAMBOO(new Identifier(null, "bamboo"), -2),
    RED_DYE(new Identifier(null, "red_dye"), -2),
    GREEN_DYE(new Identifier(null, "green_dye"), -2),
    YELLOW_DYE(new Identifier(null, "yellow_dye"), -2),
    BLUE_DYE(new Identifier(null, "blue_dye"), -2),
    BROWN_DYE(new Identifier(null, "brown_dye"), -2),
    BLACK_DYE(new Identifier(null, "black_dye"), -2),
    WHITE_DYE(new Identifier(null, "white_dye"), -2),
    CAT_SPAWN_EGG(new Identifier(null, "cat_spawn_egg"), -2),
    FOX_SPAWN_EGG(new Identifier(null, "fox_spawn_egg"), -2),
    PANDA_SPAWN_EGG(new Identifier(null, "panda_spawn_egg"), -2),
    PILLAGER_SPAWN_EGG(new Identifier(null, "pillager_spawn_egg"), -2),
    RAVAGER_SPAWN_EGG(new Identifier(null, "ravager_spawn_egg"), -2),
    TRADER_LLAMA_SPAWN_EGG(new Identifier(null, "trader_llama_spawn_egg"), -2),
    WANDERING_TRADER_SPAWN_EGG(new Identifier(null, "wandering_trader_spawn_egg"), -2),
    LEATHER_HORSE_ARMOR(new Identifier(null, "leather_horse_armor"), -2),
    CROSSBOW(new Identifier(null, "crossbow"), -2),
    SUSPICIOUS_STEW(new Identifier(null, "suspicious_stew"), -2),
    LOOM(new Identifier(null, "loom"), -2),
    FLOWER_BANNER_PATTERN(new Identifier(null, "flower_banner_pattern"), -2),
    CREEPER_BANNER_PATTERN(new Identifier(null, "creeper_banner_pattern"), -2),
    SKULL_BANNER_PATTERN(new Identifier(null, "skull_banner_pattern"), -2),
    MOJANG_BANNER_PATTERN(new Identifier(null, "mojang_banner_pattern"), -2),
    GLOBE_BANNER_PATTERN(new Identifier(null, "globe_banner_pattern"), -2),
    BARREL(new Identifier(null, "barrel"), -2),
    SMOKER(new Identifier(null, "smoker"), -2),
    BLAST_FURNACE(new Identifier(null, "blast_furnace"), -2),
    CARTOGRAPHY_TABLE(new Identifier(null, "cartography_table"), -2),
    FLETCHING_TABLE(new Identifier(null, "fletching_table"), -2),
    GRINDSTONE(new Identifier(null, "grindstone"), -2),
    LECTERN(new Identifier(null, "lectern"), -2),
    SMITHING_TABLE(new Identifier(null, "smithing_table"), -2),
    STONECUTTER(new Identifier(null, "stonecutter"), -2),
    BELL(new Identifier(null, "bell"), -2),
    LANTERN(new Identifier(null, "lantern"), -2),
    SWEET_BERRIES(new Identifier(null, "sweet_berries"), -2),
    CAMPFIRE(new Identifier(null, "campfire"), -2);

    //ToDo spawner, potions

    final Identifier identifier;
    final int legacyId;
    int legacyData;

    // legacy id -2 means: 1.13+
    Items(Identifier identifier, int legacyId, int legacyData) {
        this.identifier = identifier;
        this.legacyId = legacyId;
        this.legacyData = legacyData;
    }

    Items(Identifier identifier, int legacyId) {
        this.identifier = identifier;
        this.legacyId = legacyId;
    }

    public Identifier getIdentifier() {
        return identifier;
    }


    public int getLegacyId() {
        return legacyId;
    }

    public int getLegacyData() {
        return legacyData;
    }

    public static Items byIdentifier(Identifier identifier) {
        for (Items b : values()) {
            if (b.getIdentifier().equals(identifier)) {
                return b;
            }
        }
        return UNKNOWN;
    }

    public static Items byLegacy(int id, int data) {
        for (Items b : values()) {
            if (b.getLegacyId() == id && b.getLegacyData() == data) {
                return b;
            }
        }
        return UNKNOWN;
    }

    public static Items byLegacy(int id) {
        return byLegacy(id, 0);
    }


}
