diff --git a/src/block/BlockFactory.php b/src/block/BlockFactory.php index 7dd853c21..5c6928920 100644 --- a/src/block/BlockFactory.php +++ b/src/block/BlockFactory.php @@ -882,12 +882,12 @@ class BlockFactory{ * @internal * Returns the default state of the block type associated with the given type ID. */ - public function fromTypeId(int $typeId) : ?Block{ + public function fromTypeId(int $typeId) : Block{ if(isset($this->typeIndex[$typeId])){ return clone $this->typeIndex[$typeId]; } - return null; + throw new \InvalidArgumentException("Block ID $typeId is not registered"); } public function fromFullBlock(int $fullState) : Block{ @@ -897,9 +897,8 @@ class BlockFactory{ /** * Returns whether a specified block state is already registered in the block factory. */ - public function isRegistered(int $typeId, int $stateData = 0) : bool{ - $index = ($typeId << Block::INTERNAL_STATE_DATA_BITS) | $stateData; - $b = $this->fullList[$index] ?? null; + public function isRegistered(int $typeId) : bool{ + $b = $this->typeIndex[$typeId] ?? null; return $b !== null && !($b instanceof UnknownBlock); } diff --git a/src/block/VanillaBlocks.php b/src/block/VanillaBlocks.php index d99d702b1..a851ccc39 100644 --- a/src/block/VanillaBlocks.php +++ b/src/block/VanillaBlocks.php @@ -651,600 +651,600 @@ final class VanillaBlocks{ protected static function setup() : void{ $factory = BlockFactory::getInstance(); - self::register("acacia_button", $factory->get(Ids::ACACIA_BUTTON, 0)); - self::register("acacia_door", $factory->get(Ids::ACACIA_DOOR, 0)); - self::register("acacia_fence", $factory->get(Ids::ACACIA_FENCE, 0)); - self::register("acacia_fence_gate", $factory->get(Ids::ACACIA_FENCE_GATE, 0)); - self::register("acacia_leaves", $factory->get(Ids::ACACIA_LEAVES, 0)); - self::register("acacia_log", $factory->get(Ids::ACACIA_LOG, 4)); - self::register("acacia_planks", $factory->get(Ids::ACACIA_PLANKS, 0)); - self::register("acacia_pressure_plate", $factory->get(Ids::ACACIA_PRESSURE_PLATE, 0)); - self::register("acacia_sapling", $factory->get(Ids::ACACIA_SAPLING, 0)); - self::register("acacia_sign", $factory->get(Ids::ACACIA_SIGN, 0)); - self::register("acacia_slab", $factory->get(Ids::ACACIA_SLAB, 0)); - self::register("acacia_stairs", $factory->get(Ids::ACACIA_STAIRS, 0)); - self::register("acacia_trapdoor", $factory->get(Ids::ACACIA_TRAPDOOR, 0)); - self::register("acacia_wall_sign", $factory->get(Ids::ACACIA_WALL_SIGN, 0)); - self::register("acacia_wood", $factory->get(Ids::ACACIA_WOOD, 4)); - self::register("activator_rail", $factory->get(Ids::ACTIVATOR_RAIL, 0)); - self::register("air", $factory->get(Ids::AIR, 0)); - self::register("all_sided_mushroom_stem", $factory->get(Ids::ALL_SIDED_MUSHROOM_STEM, 0)); - self::register("allium", $factory->get(Ids::ALLIUM, 0)); - self::register("amethyst", $factory->get(Ids::AMETHYST, 0)); - self::register("ancient_debris", $factory->get(Ids::ANCIENT_DEBRIS, 0)); - self::register("andesite", $factory->get(Ids::ANDESITE, 0)); - self::register("andesite_slab", $factory->get(Ids::ANDESITE_SLAB, 0)); - self::register("andesite_stairs", $factory->get(Ids::ANDESITE_STAIRS, 0)); - self::register("andesite_wall", $factory->get(Ids::ANDESITE_WALL, 0)); - self::register("anvil", $factory->get(Ids::ANVIL, 0)); - self::register("azure_bluet", $factory->get(Ids::AZURE_BLUET, 0)); - self::register("bamboo", $factory->get(Ids::BAMBOO, 0)); - self::register("bamboo_sapling", $factory->get(Ids::BAMBOO_SAPLING, 0)); - self::register("banner", $factory->get(Ids::BANNER, 0)); - self::register("barrel", $factory->get(Ids::BARREL, 0)); - self::register("barrier", $factory->get(Ids::BARRIER, 0)); - self::register("basalt", $factory->get(Ids::BASALT, 2)); - self::register("beacon", $factory->get(Ids::BEACON, 0)); - self::register("bed", $factory->get(Ids::BED, 13)); - self::register("bedrock", $factory->get(Ids::BEDROCK, 0)); - self::register("beetroots", $factory->get(Ids::BEETROOTS, 0)); - self::register("bell", $factory->get(Ids::BELL, 1)); - self::register("birch_button", $factory->get(Ids::BIRCH_BUTTON, 0)); - self::register("birch_door", $factory->get(Ids::BIRCH_DOOR, 0)); - self::register("birch_fence", $factory->get(Ids::BIRCH_FENCE, 0)); - self::register("birch_fence_gate", $factory->get(Ids::BIRCH_FENCE_GATE, 0)); - self::register("birch_leaves", $factory->get(Ids::BIRCH_LEAVES, 0)); - self::register("birch_log", $factory->get(Ids::BIRCH_LOG, 4)); - self::register("birch_planks", $factory->get(Ids::BIRCH_PLANKS, 0)); - self::register("birch_pressure_plate", $factory->get(Ids::BIRCH_PRESSURE_PLATE, 0)); - self::register("birch_sapling", $factory->get(Ids::BIRCH_SAPLING, 0)); - self::register("birch_sign", $factory->get(Ids::BIRCH_SIGN, 0)); - self::register("birch_slab", $factory->get(Ids::BIRCH_SLAB, 0)); - self::register("birch_stairs", $factory->get(Ids::BIRCH_STAIRS, 0)); - self::register("birch_trapdoor", $factory->get(Ids::BIRCH_TRAPDOOR, 0)); - self::register("birch_wall_sign", $factory->get(Ids::BIRCH_WALL_SIGN, 0)); - self::register("birch_wood", $factory->get(Ids::BIRCH_WOOD, 4)); - self::register("blackstone", $factory->get(Ids::BLACKSTONE, 0)); - self::register("blackstone_slab", $factory->get(Ids::BLACKSTONE_SLAB, 0)); - self::register("blackstone_stairs", $factory->get(Ids::BLACKSTONE_STAIRS, 0)); - self::register("blackstone_wall", $factory->get(Ids::BLACKSTONE_WALL, 0)); - self::register("blast_furnace", $factory->get(Ids::BLAST_FURNACE, 0)); - self::register("blue_ice", $factory->get(Ids::BLUE_ICE, 0)); - self::register("blue_orchid", $factory->get(Ids::BLUE_ORCHID, 0)); - self::register("blue_torch", $factory->get(Ids::BLUE_TORCH, 1)); - self::register("bone_block", $factory->get(Ids::BONE_BLOCK, 2)); - self::register("bookshelf", $factory->get(Ids::BOOKSHELF, 0)); - self::register("brewing_stand", $factory->get(Ids::BREWING_STAND, 0)); - self::register("brick_slab", $factory->get(Ids::BRICK_SLAB, 0)); - self::register("brick_stairs", $factory->get(Ids::BRICK_STAIRS, 0)); - self::register("brick_wall", $factory->get(Ids::BRICK_WALL, 0)); - self::register("bricks", $factory->get(Ids::BRICKS, 0)); - self::register("brown_mushroom", $factory->get(Ids::BROWN_MUSHROOM, 0)); - self::register("brown_mushroom_block", $factory->get(Ids::BROWN_MUSHROOM_BLOCK, 10)); - self::register("cactus", $factory->get(Ids::CACTUS, 0)); - self::register("cake", $factory->get(Ids::CAKE, 0)); - self::register("calcite", $factory->get(Ids::CALCITE, 0)); - self::register("carpet", $factory->get(Ids::CARPET, 14)); - self::register("carrots", $factory->get(Ids::CARROTS, 0)); - self::register("carved_pumpkin", $factory->get(Ids::CARVED_PUMPKIN, 0)); - self::register("chemical_heat", $factory->get(Ids::CHEMICAL_HEAT, 0)); - self::register("chest", $factory->get(Ids::CHEST, 0)); - self::register("chiseled_deepslate", $factory->get(Ids::CHISELED_DEEPSLATE, 0)); - self::register("chiseled_nether_bricks", $factory->get(Ids::CHISELED_NETHER_BRICKS, 0)); - self::register("chiseled_polished_blackstone", $factory->get(Ids::CHISELED_POLISHED_BLACKSTONE, 0)); - self::register("chiseled_quartz", $factory->get(Ids::CHISELED_QUARTZ, 2)); - self::register("chiseled_red_sandstone", $factory->get(Ids::CHISELED_RED_SANDSTONE, 0)); - self::register("chiseled_sandstone", $factory->get(Ids::CHISELED_SANDSTONE, 0)); - self::register("chiseled_stone_bricks", $factory->get(Ids::CHISELED_STONE_BRICKS, 0)); - self::register("clay", $factory->get(Ids::CLAY, 0)); - self::register("coal", $factory->get(Ids::COAL, 0)); - self::register("coal_ore", $factory->get(Ids::COAL_ORE, 0)); - self::register("cobbled_deepslate", $factory->get(Ids::COBBLED_DEEPSLATE, 0)); - self::register("cobbled_deepslate_slab", $factory->get(Ids::COBBLED_DEEPSLATE_SLAB, 0)); - self::register("cobbled_deepslate_stairs", $factory->get(Ids::COBBLED_DEEPSLATE_STAIRS, 0)); - self::register("cobbled_deepslate_wall", $factory->get(Ids::COBBLED_DEEPSLATE_WALL, 0)); - self::register("cobblestone", $factory->get(Ids::COBBLESTONE, 0)); - self::register("cobblestone_slab", $factory->get(Ids::COBBLESTONE_SLAB, 0)); - self::register("cobblestone_stairs", $factory->get(Ids::COBBLESTONE_STAIRS, 0)); - self::register("cobblestone_wall", $factory->get(Ids::COBBLESTONE_WALL, 0)); - self::register("cobweb", $factory->get(Ids::COBWEB, 0)); - self::register("cocoa_pod", $factory->get(Ids::COCOA_POD, 0)); - self::register("compound_creator", $factory->get(Ids::COMPOUND_CREATOR, 0)); - self::register("concrete", $factory->get(Ids::CONCRETE, 14)); - self::register("concrete_powder", $factory->get(Ids::CONCRETE_POWDER, 14)); - self::register("coral", $factory->get(Ids::CORAL, 4)); - self::register("coral_block", $factory->get(Ids::CORAL_BLOCK, 4)); - self::register("coral_fan", $factory->get(Ids::CORAL_FAN, 4)); - self::register("cornflower", $factory->get(Ids::CORNFLOWER, 0)); - self::register("cracked_deepslate_bricks", $factory->get(Ids::CRACKED_DEEPSLATE_BRICKS, 0)); - self::register("cracked_deepslate_tiles", $factory->get(Ids::CRACKED_DEEPSLATE_TILES, 0)); - self::register("cracked_nether_bricks", $factory->get(Ids::CRACKED_NETHER_BRICKS, 0)); - self::register("cracked_polished_blackstone_bricks", $factory->get(Ids::CRACKED_POLISHED_BLACKSTONE_BRICKS, 0)); - self::register("cracked_stone_bricks", $factory->get(Ids::CRACKED_STONE_BRICKS, 0)); - self::register("crafting_table", $factory->get(Ids::CRAFTING_TABLE, 0)); - self::register("crimson_button", $factory->get(Ids::CRIMSON_BUTTON, 0)); - self::register("crimson_door", $factory->get(Ids::CRIMSON_DOOR, 0)); - self::register("crimson_fence", $factory->get(Ids::CRIMSON_FENCE, 0)); - self::register("crimson_fence_gate", $factory->get(Ids::CRIMSON_FENCE_GATE, 0)); - self::register("crimson_hyphae", $factory->get(Ids::CRIMSON_HYPHAE, 4)); - self::register("crimson_planks", $factory->get(Ids::CRIMSON_PLANKS, 0)); - self::register("crimson_pressure_plate", $factory->get(Ids::CRIMSON_PRESSURE_PLATE, 0)); - self::register("crimson_slab", $factory->get(Ids::CRIMSON_SLAB, 0)); - self::register("crimson_stairs", $factory->get(Ids::CRIMSON_STAIRS, 0)); - self::register("crimson_stem", $factory->get(Ids::CRIMSON_STEM, 4)); - self::register("crimson_trapdoor", $factory->get(Ids::CRIMSON_TRAPDOOR, 0)); - self::register("cut_red_sandstone", $factory->get(Ids::CUT_RED_SANDSTONE, 0)); - self::register("cut_red_sandstone_slab", $factory->get(Ids::CUT_RED_SANDSTONE_SLAB, 0)); - self::register("cut_sandstone", $factory->get(Ids::CUT_SANDSTONE, 0)); - self::register("cut_sandstone_slab", $factory->get(Ids::CUT_SANDSTONE_SLAB, 0)); - self::register("dandelion", $factory->get(Ids::DANDELION, 0)); - self::register("dark_oak_button", $factory->get(Ids::DARK_OAK_BUTTON, 0)); - self::register("dark_oak_door", $factory->get(Ids::DARK_OAK_DOOR, 0)); - self::register("dark_oak_fence", $factory->get(Ids::DARK_OAK_FENCE, 0)); - self::register("dark_oak_fence_gate", $factory->get(Ids::DARK_OAK_FENCE_GATE, 0)); - self::register("dark_oak_leaves", $factory->get(Ids::DARK_OAK_LEAVES, 0)); - self::register("dark_oak_log", $factory->get(Ids::DARK_OAK_LOG, 4)); - self::register("dark_oak_planks", $factory->get(Ids::DARK_OAK_PLANKS, 0)); - self::register("dark_oak_pressure_plate", $factory->get(Ids::DARK_OAK_PRESSURE_PLATE, 0)); - self::register("dark_oak_sapling", $factory->get(Ids::DARK_OAK_SAPLING, 0)); - self::register("dark_oak_sign", $factory->get(Ids::DARK_OAK_SIGN, 0)); - self::register("dark_oak_slab", $factory->get(Ids::DARK_OAK_SLAB, 0)); - self::register("dark_oak_stairs", $factory->get(Ids::DARK_OAK_STAIRS, 0)); - self::register("dark_oak_trapdoor", $factory->get(Ids::DARK_OAK_TRAPDOOR, 0)); - self::register("dark_oak_wall_sign", $factory->get(Ids::DARK_OAK_WALL_SIGN, 0)); - self::register("dark_oak_wood", $factory->get(Ids::DARK_OAK_WOOD, 4)); - self::register("dark_prismarine", $factory->get(Ids::DARK_PRISMARINE, 0)); - self::register("dark_prismarine_slab", $factory->get(Ids::DARK_PRISMARINE_SLAB, 0)); - self::register("dark_prismarine_stairs", $factory->get(Ids::DARK_PRISMARINE_STAIRS, 0)); - self::register("daylight_sensor", $factory->get(Ids::DAYLIGHT_SENSOR, 0)); - self::register("dead_bush", $factory->get(Ids::DEAD_BUSH, 0)); - self::register("deepslate", $factory->get(Ids::DEEPSLATE, 2)); - self::register("deepslate_brick_slab", $factory->get(Ids::DEEPSLATE_BRICK_SLAB, 0)); - self::register("deepslate_brick_stairs", $factory->get(Ids::DEEPSLATE_BRICK_STAIRS, 0)); - self::register("deepslate_brick_wall", $factory->get(Ids::DEEPSLATE_BRICK_WALL, 0)); - self::register("deepslate_bricks", $factory->get(Ids::DEEPSLATE_BRICKS, 0)); - self::register("deepslate_tile_slab", $factory->get(Ids::DEEPSLATE_TILE_SLAB, 0)); - self::register("deepslate_tile_stairs", $factory->get(Ids::DEEPSLATE_TILE_STAIRS, 0)); - self::register("deepslate_tile_wall", $factory->get(Ids::DEEPSLATE_TILE_WALL, 0)); - self::register("deepslate_tiles", $factory->get(Ids::DEEPSLATE_TILES, 0)); - self::register("detector_rail", $factory->get(Ids::DETECTOR_RAIL, 0)); - self::register("diamond", $factory->get(Ids::DIAMOND, 0)); - self::register("diamond_ore", $factory->get(Ids::DIAMOND_ORE, 0)); - self::register("diorite", $factory->get(Ids::DIORITE, 0)); - self::register("diorite_slab", $factory->get(Ids::DIORITE_SLAB, 0)); - self::register("diorite_stairs", $factory->get(Ids::DIORITE_STAIRS, 0)); - self::register("diorite_wall", $factory->get(Ids::DIORITE_WALL, 0)); - self::register("dirt", $factory->get(Ids::DIRT, 0)); - self::register("double_tallgrass", $factory->get(Ids::DOUBLE_TALLGRASS, 0)); - self::register("dragon_egg", $factory->get(Ids::DRAGON_EGG, 0)); - self::register("dried_kelp", $factory->get(Ids::DRIED_KELP, 0)); - self::register("dyed_shulker_box", $factory->get(Ids::DYED_SHULKER_BOX, 14)); - self::register("element_actinium", $factory->get(Ids::ELEMENT_ACTINIUM, 0)); - self::register("element_aluminum", $factory->get(Ids::ELEMENT_ALUMINUM, 0)); - self::register("element_americium", $factory->get(Ids::ELEMENT_AMERICIUM, 0)); - self::register("element_antimony", $factory->get(Ids::ELEMENT_ANTIMONY, 0)); - self::register("element_argon", $factory->get(Ids::ELEMENT_ARGON, 0)); - self::register("element_arsenic", $factory->get(Ids::ELEMENT_ARSENIC, 0)); - self::register("element_astatine", $factory->get(Ids::ELEMENT_ASTATINE, 0)); - self::register("element_barium", $factory->get(Ids::ELEMENT_BARIUM, 0)); - self::register("element_berkelium", $factory->get(Ids::ELEMENT_BERKELIUM, 0)); - self::register("element_beryllium", $factory->get(Ids::ELEMENT_BERYLLIUM, 0)); - self::register("element_bismuth", $factory->get(Ids::ELEMENT_BISMUTH, 0)); - self::register("element_bohrium", $factory->get(Ids::ELEMENT_BOHRIUM, 0)); - self::register("element_boron", $factory->get(Ids::ELEMENT_BORON, 0)); - self::register("element_bromine", $factory->get(Ids::ELEMENT_BROMINE, 0)); - self::register("element_cadmium", $factory->get(Ids::ELEMENT_CADMIUM, 0)); - self::register("element_calcium", $factory->get(Ids::ELEMENT_CALCIUM, 0)); - self::register("element_californium", $factory->get(Ids::ELEMENT_CALIFORNIUM, 0)); - self::register("element_carbon", $factory->get(Ids::ELEMENT_CARBON, 0)); - self::register("element_cerium", $factory->get(Ids::ELEMENT_CERIUM, 0)); - self::register("element_cesium", $factory->get(Ids::ELEMENT_CESIUM, 0)); - self::register("element_chlorine", $factory->get(Ids::ELEMENT_CHLORINE, 0)); - self::register("element_chromium", $factory->get(Ids::ELEMENT_CHROMIUM, 0)); - self::register("element_cobalt", $factory->get(Ids::ELEMENT_COBALT, 0)); - self::register("element_constructor", $factory->get(Ids::ELEMENT_CONSTRUCTOR, 0)); - self::register("element_copernicium", $factory->get(Ids::ELEMENT_COPERNICIUM, 0)); - self::register("element_copper", $factory->get(Ids::ELEMENT_COPPER, 0)); - self::register("element_curium", $factory->get(Ids::ELEMENT_CURIUM, 0)); - self::register("element_darmstadtium", $factory->get(Ids::ELEMENT_DARMSTADTIUM, 0)); - self::register("element_dubnium", $factory->get(Ids::ELEMENT_DUBNIUM, 0)); - self::register("element_dysprosium", $factory->get(Ids::ELEMENT_DYSPROSIUM, 0)); - self::register("element_einsteinium", $factory->get(Ids::ELEMENT_EINSTEINIUM, 0)); - self::register("element_erbium", $factory->get(Ids::ELEMENT_ERBIUM, 0)); - self::register("element_europium", $factory->get(Ids::ELEMENT_EUROPIUM, 0)); - self::register("element_fermium", $factory->get(Ids::ELEMENT_FERMIUM, 0)); - self::register("element_flerovium", $factory->get(Ids::ELEMENT_FLEROVIUM, 0)); - self::register("element_fluorine", $factory->get(Ids::ELEMENT_FLUORINE, 0)); - self::register("element_francium", $factory->get(Ids::ELEMENT_FRANCIUM, 0)); - self::register("element_gadolinium", $factory->get(Ids::ELEMENT_GADOLINIUM, 0)); - self::register("element_gallium", $factory->get(Ids::ELEMENT_GALLIUM, 0)); - self::register("element_germanium", $factory->get(Ids::ELEMENT_GERMANIUM, 0)); - self::register("element_gold", $factory->get(Ids::ELEMENT_GOLD, 0)); - self::register("element_hafnium", $factory->get(Ids::ELEMENT_HAFNIUM, 0)); - self::register("element_hassium", $factory->get(Ids::ELEMENT_HASSIUM, 0)); - self::register("element_helium", $factory->get(Ids::ELEMENT_HELIUM, 0)); - self::register("element_holmium", $factory->get(Ids::ELEMENT_HOLMIUM, 0)); - self::register("element_hydrogen", $factory->get(Ids::ELEMENT_HYDROGEN, 0)); - self::register("element_indium", $factory->get(Ids::ELEMENT_INDIUM, 0)); - self::register("element_iodine", $factory->get(Ids::ELEMENT_IODINE, 0)); - self::register("element_iridium", $factory->get(Ids::ELEMENT_IRIDIUM, 0)); - self::register("element_iron", $factory->get(Ids::ELEMENT_IRON, 0)); - self::register("element_krypton", $factory->get(Ids::ELEMENT_KRYPTON, 0)); - self::register("element_lanthanum", $factory->get(Ids::ELEMENT_LANTHANUM, 0)); - self::register("element_lawrencium", $factory->get(Ids::ELEMENT_LAWRENCIUM, 0)); - self::register("element_lead", $factory->get(Ids::ELEMENT_LEAD, 0)); - self::register("element_lithium", $factory->get(Ids::ELEMENT_LITHIUM, 0)); - self::register("element_livermorium", $factory->get(Ids::ELEMENT_LIVERMORIUM, 0)); - self::register("element_lutetium", $factory->get(Ids::ELEMENT_LUTETIUM, 0)); - self::register("element_magnesium", $factory->get(Ids::ELEMENT_MAGNESIUM, 0)); - self::register("element_manganese", $factory->get(Ids::ELEMENT_MANGANESE, 0)); - self::register("element_meitnerium", $factory->get(Ids::ELEMENT_MEITNERIUM, 0)); - self::register("element_mendelevium", $factory->get(Ids::ELEMENT_MENDELEVIUM, 0)); - self::register("element_mercury", $factory->get(Ids::ELEMENT_MERCURY, 0)); - self::register("element_molybdenum", $factory->get(Ids::ELEMENT_MOLYBDENUM, 0)); - self::register("element_moscovium", $factory->get(Ids::ELEMENT_MOSCOVIUM, 0)); - self::register("element_neodymium", $factory->get(Ids::ELEMENT_NEODYMIUM, 0)); - self::register("element_neon", $factory->get(Ids::ELEMENT_NEON, 0)); - self::register("element_neptunium", $factory->get(Ids::ELEMENT_NEPTUNIUM, 0)); - self::register("element_nickel", $factory->get(Ids::ELEMENT_NICKEL, 0)); - self::register("element_nihonium", $factory->get(Ids::ELEMENT_NIHONIUM, 0)); - self::register("element_niobium", $factory->get(Ids::ELEMENT_NIOBIUM, 0)); - self::register("element_nitrogen", $factory->get(Ids::ELEMENT_NITROGEN, 0)); - self::register("element_nobelium", $factory->get(Ids::ELEMENT_NOBELIUM, 0)); - self::register("element_oganesson", $factory->get(Ids::ELEMENT_OGANESSON, 0)); - self::register("element_osmium", $factory->get(Ids::ELEMENT_OSMIUM, 0)); - self::register("element_oxygen", $factory->get(Ids::ELEMENT_OXYGEN, 0)); - self::register("element_palladium", $factory->get(Ids::ELEMENT_PALLADIUM, 0)); - self::register("element_phosphorus", $factory->get(Ids::ELEMENT_PHOSPHORUS, 0)); - self::register("element_platinum", $factory->get(Ids::ELEMENT_PLATINUM, 0)); - self::register("element_plutonium", $factory->get(Ids::ELEMENT_PLUTONIUM, 0)); - self::register("element_polonium", $factory->get(Ids::ELEMENT_POLONIUM, 0)); - self::register("element_potassium", $factory->get(Ids::ELEMENT_POTASSIUM, 0)); - self::register("element_praseodymium", $factory->get(Ids::ELEMENT_PRASEODYMIUM, 0)); - self::register("element_promethium", $factory->get(Ids::ELEMENT_PROMETHIUM, 0)); - self::register("element_protactinium", $factory->get(Ids::ELEMENT_PROTACTINIUM, 0)); - self::register("element_radium", $factory->get(Ids::ELEMENT_RADIUM, 0)); - self::register("element_radon", $factory->get(Ids::ELEMENT_RADON, 0)); - self::register("element_rhenium", $factory->get(Ids::ELEMENT_RHENIUM, 0)); - self::register("element_rhodium", $factory->get(Ids::ELEMENT_RHODIUM, 0)); - self::register("element_roentgenium", $factory->get(Ids::ELEMENT_ROENTGENIUM, 0)); - self::register("element_rubidium", $factory->get(Ids::ELEMENT_RUBIDIUM, 0)); - self::register("element_ruthenium", $factory->get(Ids::ELEMENT_RUTHENIUM, 0)); - self::register("element_rutherfordium", $factory->get(Ids::ELEMENT_RUTHERFORDIUM, 0)); - self::register("element_samarium", $factory->get(Ids::ELEMENT_SAMARIUM, 0)); - self::register("element_scandium", $factory->get(Ids::ELEMENT_SCANDIUM, 0)); - self::register("element_seaborgium", $factory->get(Ids::ELEMENT_SEABORGIUM, 0)); - self::register("element_selenium", $factory->get(Ids::ELEMENT_SELENIUM, 0)); - self::register("element_silicon", $factory->get(Ids::ELEMENT_SILICON, 0)); - self::register("element_silver", $factory->get(Ids::ELEMENT_SILVER, 0)); - self::register("element_sodium", $factory->get(Ids::ELEMENT_SODIUM, 0)); - self::register("element_strontium", $factory->get(Ids::ELEMENT_STRONTIUM, 0)); - self::register("element_sulfur", $factory->get(Ids::ELEMENT_SULFUR, 0)); - self::register("element_tantalum", $factory->get(Ids::ELEMENT_TANTALUM, 0)); - self::register("element_technetium", $factory->get(Ids::ELEMENT_TECHNETIUM, 0)); - self::register("element_tellurium", $factory->get(Ids::ELEMENT_TELLURIUM, 0)); - self::register("element_tennessine", $factory->get(Ids::ELEMENT_TENNESSINE, 0)); - self::register("element_terbium", $factory->get(Ids::ELEMENT_TERBIUM, 0)); - self::register("element_thallium", $factory->get(Ids::ELEMENT_THALLIUM, 0)); - self::register("element_thorium", $factory->get(Ids::ELEMENT_THORIUM, 0)); - self::register("element_thulium", $factory->get(Ids::ELEMENT_THULIUM, 0)); - self::register("element_tin", $factory->get(Ids::ELEMENT_TIN, 0)); - self::register("element_titanium", $factory->get(Ids::ELEMENT_TITANIUM, 0)); - self::register("element_tungsten", $factory->get(Ids::ELEMENT_TUNGSTEN, 0)); - self::register("element_uranium", $factory->get(Ids::ELEMENT_URANIUM, 0)); - self::register("element_vanadium", $factory->get(Ids::ELEMENT_VANADIUM, 0)); - self::register("element_xenon", $factory->get(Ids::ELEMENT_XENON, 0)); - self::register("element_ytterbium", $factory->get(Ids::ELEMENT_YTTERBIUM, 0)); - self::register("element_yttrium", $factory->get(Ids::ELEMENT_YTTRIUM, 0)); - self::register("element_zero", $factory->get(Ids::ELEMENT_ZERO, 0)); - self::register("element_zinc", $factory->get(Ids::ELEMENT_ZINC, 0)); - self::register("element_zirconium", $factory->get(Ids::ELEMENT_ZIRCONIUM, 0)); - self::register("emerald", $factory->get(Ids::EMERALD, 0)); - self::register("emerald_ore", $factory->get(Ids::EMERALD_ORE, 0)); - self::register("enchanting_table", $factory->get(Ids::ENCHANTING_TABLE, 0)); - self::register("end_portal_frame", $factory->get(Ids::END_PORTAL_FRAME, 0)); - self::register("end_rod", $factory->get(Ids::END_ROD, 0)); - self::register("end_stone", $factory->get(Ids::END_STONE, 0)); - self::register("end_stone_brick_slab", $factory->get(Ids::END_STONE_BRICK_SLAB, 0)); - self::register("end_stone_brick_stairs", $factory->get(Ids::END_STONE_BRICK_STAIRS, 0)); - self::register("end_stone_brick_wall", $factory->get(Ids::END_STONE_BRICK_WALL, 0)); - self::register("end_stone_bricks", $factory->get(Ids::END_STONE_BRICKS, 0)); - self::register("ender_chest", $factory->get(Ids::ENDER_CHEST, 0)); - self::register("fake_wooden_slab", $factory->get(Ids::FAKE_WOODEN_SLAB, 0)); - self::register("farmland", $factory->get(Ids::FARMLAND, 0)); - self::register("fern", $factory->get(Ids::FERN, 0)); - self::register("fire", $factory->get(Ids::FIRE, 0)); - self::register("fletching_table", $factory->get(Ids::FLETCHING_TABLE, 0)); - self::register("flower_pot", $factory->get(Ids::FLOWER_POT, 0)); - self::register("frosted_ice", $factory->get(Ids::FROSTED_ICE, 0)); - self::register("furnace", $factory->get(Ids::FURNACE, 0)); - self::register("glass", $factory->get(Ids::GLASS, 0)); - self::register("glass_pane", $factory->get(Ids::GLASS_PANE, 0)); - self::register("glazed_terracotta", $factory->get(Ids::GLAZED_TERRACOTTA, 0)); - self::register("glowing_obsidian", $factory->get(Ids::GLOWING_OBSIDIAN, 0)); - self::register("glowstone", $factory->get(Ids::GLOWSTONE, 0)); - self::register("gold", $factory->get(Ids::GOLD, 0)); - self::register("gold_ore", $factory->get(Ids::GOLD_ORE, 0)); - self::register("granite", $factory->get(Ids::GRANITE, 0)); - self::register("granite_slab", $factory->get(Ids::GRANITE_SLAB, 0)); - self::register("granite_stairs", $factory->get(Ids::GRANITE_STAIRS, 0)); - self::register("granite_wall", $factory->get(Ids::GRANITE_WALL, 0)); - self::register("grass", $factory->get(Ids::GRASS, 0)); - self::register("grass_path", $factory->get(Ids::GRASS_PATH, 0)); - self::register("gravel", $factory->get(Ids::GRAVEL, 0)); - self::register("green_torch", $factory->get(Ids::GREEN_TORCH, 1)); - self::register("hardened_clay", $factory->get(Ids::HARDENED_CLAY, 0)); - self::register("hardened_glass", $factory->get(Ids::HARDENED_GLASS, 0)); - self::register("hardened_glass_pane", $factory->get(Ids::HARDENED_GLASS_PANE, 0)); - self::register("hay_bale", $factory->get(Ids::HAY_BALE, 2)); - self::register("hopper", $factory->get(Ids::HOPPER, 0)); - self::register("ice", $factory->get(Ids::ICE, 0)); - self::register("infested_chiseled_stone_brick", $factory->get(Ids::INFESTED_CHISELED_STONE_BRICK, 0)); - self::register("infested_cobblestone", $factory->get(Ids::INFESTED_COBBLESTONE, 0)); - self::register("infested_cracked_stone_brick", $factory->get(Ids::INFESTED_CRACKED_STONE_BRICK, 0)); - self::register("infested_mossy_stone_brick", $factory->get(Ids::INFESTED_MOSSY_STONE_BRICK, 0)); - self::register("infested_stone", $factory->get(Ids::INFESTED_STONE, 0)); - self::register("infested_stone_brick", $factory->get(Ids::INFESTED_STONE_BRICK, 0)); - self::register("info_update", $factory->get(Ids::INFO_UPDATE, 0)); - self::register("info_update2", $factory->get(Ids::INFO_UPDATE2, 0)); - self::register("invisible_bedrock", $factory->get(Ids::INVISIBLE_BEDROCK, 0)); - self::register("iron", $factory->get(Ids::IRON, 0)); - self::register("iron_bars", $factory->get(Ids::IRON_BARS, 0)); - self::register("iron_door", $factory->get(Ids::IRON_DOOR, 0)); - self::register("iron_ore", $factory->get(Ids::IRON_ORE, 0)); - self::register("iron_trapdoor", $factory->get(Ids::IRON_TRAPDOOR, 0)); - self::register("item_frame", $factory->get(Ids::ITEM_FRAME, 0)); - self::register("jukebox", $factory->get(Ids::JUKEBOX, 0)); - self::register("jungle_button", $factory->get(Ids::JUNGLE_BUTTON, 0)); - self::register("jungle_door", $factory->get(Ids::JUNGLE_DOOR, 0)); - self::register("jungle_fence", $factory->get(Ids::JUNGLE_FENCE, 0)); - self::register("jungle_fence_gate", $factory->get(Ids::JUNGLE_FENCE_GATE, 0)); - self::register("jungle_leaves", $factory->get(Ids::JUNGLE_LEAVES, 0)); - self::register("jungle_log", $factory->get(Ids::JUNGLE_LOG, 4)); - self::register("jungle_planks", $factory->get(Ids::JUNGLE_PLANKS, 0)); - self::register("jungle_pressure_plate", $factory->get(Ids::JUNGLE_PRESSURE_PLATE, 0)); - self::register("jungle_sapling", $factory->get(Ids::JUNGLE_SAPLING, 0)); - self::register("jungle_sign", $factory->get(Ids::JUNGLE_SIGN, 0)); - self::register("jungle_slab", $factory->get(Ids::JUNGLE_SLAB, 0)); - self::register("jungle_stairs", $factory->get(Ids::JUNGLE_STAIRS, 0)); - self::register("jungle_trapdoor", $factory->get(Ids::JUNGLE_TRAPDOOR, 0)); - self::register("jungle_wall_sign", $factory->get(Ids::JUNGLE_WALL_SIGN, 0)); - self::register("jungle_wood", $factory->get(Ids::JUNGLE_WOOD, 4)); - self::register("lab_table", $factory->get(Ids::LAB_TABLE, 0)); - self::register("ladder", $factory->get(Ids::LADDER, 0)); - self::register("lantern", $factory->get(Ids::LANTERN, 0)); - self::register("lapis_lazuli", $factory->get(Ids::LAPIS_LAZULI, 0)); - self::register("lapis_lazuli_ore", $factory->get(Ids::LAPIS_LAZULI_ORE, 0)); - self::register("large_fern", $factory->get(Ids::LARGE_FERN, 0)); - self::register("lava", $factory->get(Ids::LAVA, 0)); - self::register("lectern", $factory->get(Ids::LECTERN, 0)); - self::register("legacy_stonecutter", $factory->get(Ids::LEGACY_STONECUTTER, 0)); - self::register("lever", $factory->get(Ids::LEVER, 5)); - self::register("light", $factory->get(Ids::LIGHT, 15)); - self::register("lilac", $factory->get(Ids::LILAC, 0)); - self::register("lily_of_the_valley", $factory->get(Ids::LILY_OF_THE_VALLEY, 0)); - self::register("lily_pad", $factory->get(Ids::LILY_PAD, 0)); - self::register("lit_pumpkin", $factory->get(Ids::LIT_PUMPKIN, 0)); - self::register("loom", $factory->get(Ids::LOOM, 0)); - self::register("magma", $factory->get(Ids::MAGMA, 0)); - self::register("mangrove_button", $factory->get(Ids::MANGROVE_BUTTON, 0)); - self::register("mangrove_door", $factory->get(Ids::MANGROVE_DOOR, 0)); - self::register("mangrove_fence", $factory->get(Ids::MANGROVE_FENCE, 0)); - self::register("mangrove_fence_gate", $factory->get(Ids::MANGROVE_FENCE_GATE, 0)); - self::register("mangrove_log", $factory->get(Ids::MANGROVE_LOG, 4)); - self::register("mangrove_planks", $factory->get(Ids::MANGROVE_PLANKS, 0)); - self::register("mangrove_pressure_plate", $factory->get(Ids::MANGROVE_PRESSURE_PLATE, 0)); - self::register("mangrove_slab", $factory->get(Ids::MANGROVE_SLAB, 0)); - self::register("mangrove_stairs", $factory->get(Ids::MANGROVE_STAIRS, 0)); - self::register("mangrove_trapdoor", $factory->get(Ids::MANGROVE_TRAPDOOR, 0)); - self::register("mangrove_wood", $factory->get(Ids::MANGROVE_WOOD, 4)); - self::register("material_reducer", $factory->get(Ids::MATERIAL_REDUCER, 0)); - self::register("melon", $factory->get(Ids::MELON, 0)); - self::register("melon_stem", $factory->get(Ids::MELON_STEM, 0)); - self::register("mob_head", $factory->get(Ids::MOB_HEAD, 19)); - self::register("monster_spawner", $factory->get(Ids::MONSTER_SPAWNER, 0)); - self::register("mossy_cobblestone", $factory->get(Ids::MOSSY_COBBLESTONE, 0)); - self::register("mossy_cobblestone_slab", $factory->get(Ids::MOSSY_COBBLESTONE_SLAB, 0)); - self::register("mossy_cobblestone_stairs", $factory->get(Ids::MOSSY_COBBLESTONE_STAIRS, 0)); - self::register("mossy_cobblestone_wall", $factory->get(Ids::MOSSY_COBBLESTONE_WALL, 0)); - self::register("mossy_stone_brick_slab", $factory->get(Ids::MOSSY_STONE_BRICK_SLAB, 0)); - self::register("mossy_stone_brick_stairs", $factory->get(Ids::MOSSY_STONE_BRICK_STAIRS, 0)); - self::register("mossy_stone_brick_wall", $factory->get(Ids::MOSSY_STONE_BRICK_WALL, 0)); - self::register("mossy_stone_bricks", $factory->get(Ids::MOSSY_STONE_BRICKS, 0)); - self::register("mushroom_stem", $factory->get(Ids::MUSHROOM_STEM, 0)); - self::register("mycelium", $factory->get(Ids::MYCELIUM, 0)); - self::register("nether_brick_fence", $factory->get(Ids::NETHER_BRICK_FENCE, 0)); - self::register("nether_brick_slab", $factory->get(Ids::NETHER_BRICK_SLAB, 0)); - self::register("nether_brick_stairs", $factory->get(Ids::NETHER_BRICK_STAIRS, 0)); - self::register("nether_brick_wall", $factory->get(Ids::NETHER_BRICK_WALL, 0)); - self::register("nether_bricks", $factory->get(Ids::NETHER_BRICKS, 0)); - self::register("nether_portal", $factory->get(Ids::NETHER_PORTAL, 0)); - self::register("nether_quartz_ore", $factory->get(Ids::NETHER_QUARTZ_ORE, 0)); - self::register("nether_reactor_core", $factory->get(Ids::NETHER_REACTOR_CORE, 0)); - self::register("nether_wart", $factory->get(Ids::NETHER_WART, 0)); - self::register("nether_wart_block", $factory->get(Ids::NETHER_WART_BLOCK, 0)); - self::register("netherrack", $factory->get(Ids::NETHERRACK, 0)); - self::register("note_block", $factory->get(Ids::NOTE_BLOCK, 0)); - self::register("oak_button", $factory->get(Ids::OAK_BUTTON, 0)); - self::register("oak_door", $factory->get(Ids::OAK_DOOR, 0)); - self::register("oak_fence", $factory->get(Ids::OAK_FENCE, 0)); - self::register("oak_fence_gate", $factory->get(Ids::OAK_FENCE_GATE, 0)); - self::register("oak_leaves", $factory->get(Ids::OAK_LEAVES, 0)); - self::register("oak_log", $factory->get(Ids::OAK_LOG, 4)); - self::register("oak_planks", $factory->get(Ids::OAK_PLANKS, 0)); - self::register("oak_pressure_plate", $factory->get(Ids::OAK_PRESSURE_PLATE, 0)); - self::register("oak_sapling", $factory->get(Ids::OAK_SAPLING, 0)); - self::register("oak_sign", $factory->get(Ids::OAK_SIGN, 0)); - self::register("oak_slab", $factory->get(Ids::OAK_SLAB, 0)); - self::register("oak_stairs", $factory->get(Ids::OAK_STAIRS, 0)); - self::register("oak_trapdoor", $factory->get(Ids::OAK_TRAPDOOR, 0)); - self::register("oak_wall_sign", $factory->get(Ids::OAK_WALL_SIGN, 0)); - self::register("oak_wood", $factory->get(Ids::OAK_WOOD, 4)); - self::register("obsidian", $factory->get(Ids::OBSIDIAN, 0)); - self::register("orange_tulip", $factory->get(Ids::ORANGE_TULIP, 0)); - self::register("oxeye_daisy", $factory->get(Ids::OXEYE_DAISY, 0)); - self::register("packed_ice", $factory->get(Ids::PACKED_ICE, 0)); - self::register("peony", $factory->get(Ids::PEONY, 0)); - self::register("pink_tulip", $factory->get(Ids::PINK_TULIP, 0)); - self::register("podzol", $factory->get(Ids::PODZOL, 0)); - self::register("polished_andesite", $factory->get(Ids::POLISHED_ANDESITE, 0)); - self::register("polished_andesite_slab", $factory->get(Ids::POLISHED_ANDESITE_SLAB, 0)); - self::register("polished_andesite_stairs", $factory->get(Ids::POLISHED_ANDESITE_STAIRS, 0)); - self::register("polished_basalt", $factory->get(Ids::POLISHED_BASALT, 2)); - self::register("polished_blackstone", $factory->get(Ids::POLISHED_BLACKSTONE, 0)); - self::register("polished_blackstone_brick_slab", $factory->get(Ids::POLISHED_BLACKSTONE_BRICK_SLAB, 0)); - self::register("polished_blackstone_brick_stairs", $factory->get(Ids::POLISHED_BLACKSTONE_BRICK_STAIRS, 0)); - self::register("polished_blackstone_brick_wall", $factory->get(Ids::POLISHED_BLACKSTONE_BRICK_WALL, 0)); - self::register("polished_blackstone_bricks", $factory->get(Ids::POLISHED_BLACKSTONE_BRICKS, 0)); - self::register("polished_blackstone_button", $factory->get(Ids::POLISHED_BLACKSTONE_BUTTON, 0)); - self::register("polished_blackstone_pressure_plate", $factory->get(Ids::POLISHED_BLACKSTONE_PRESSURE_PLATE, 0)); - self::register("polished_blackstone_slab", $factory->get(Ids::POLISHED_BLACKSTONE_SLAB, 0)); - self::register("polished_blackstone_stairs", $factory->get(Ids::POLISHED_BLACKSTONE_STAIRS, 0)); - self::register("polished_blackstone_wall", $factory->get(Ids::POLISHED_BLACKSTONE_WALL, 0)); - self::register("polished_deepslate", $factory->get(Ids::POLISHED_DEEPSLATE, 0)); - self::register("polished_deepslate_slab", $factory->get(Ids::POLISHED_DEEPSLATE_SLAB, 0)); - self::register("polished_deepslate_stairs", $factory->get(Ids::POLISHED_DEEPSLATE_STAIRS, 0)); - self::register("polished_deepslate_wall", $factory->get(Ids::POLISHED_DEEPSLATE_WALL, 0)); - self::register("polished_diorite", $factory->get(Ids::POLISHED_DIORITE, 0)); - self::register("polished_diorite_slab", $factory->get(Ids::POLISHED_DIORITE_SLAB, 0)); - self::register("polished_diorite_stairs", $factory->get(Ids::POLISHED_DIORITE_STAIRS, 0)); - self::register("polished_granite", $factory->get(Ids::POLISHED_GRANITE, 0)); - self::register("polished_granite_slab", $factory->get(Ids::POLISHED_GRANITE_SLAB, 0)); - self::register("polished_granite_stairs", $factory->get(Ids::POLISHED_GRANITE_STAIRS, 0)); - self::register("poppy", $factory->get(Ids::POPPY, 0)); - self::register("potatoes", $factory->get(Ids::POTATOES, 0)); - self::register("powered_rail", $factory->get(Ids::POWERED_RAIL, 0)); - self::register("prismarine", $factory->get(Ids::PRISMARINE, 0)); - self::register("prismarine_bricks", $factory->get(Ids::PRISMARINE_BRICKS, 0)); - self::register("prismarine_bricks_slab", $factory->get(Ids::PRISMARINE_BRICKS_SLAB, 0)); - self::register("prismarine_bricks_stairs", $factory->get(Ids::PRISMARINE_BRICKS_STAIRS, 0)); - self::register("prismarine_slab", $factory->get(Ids::PRISMARINE_SLAB, 0)); - self::register("prismarine_stairs", $factory->get(Ids::PRISMARINE_STAIRS, 0)); - self::register("prismarine_wall", $factory->get(Ids::PRISMARINE_WALL, 0)); - self::register("pumpkin", $factory->get(Ids::PUMPKIN, 0)); - self::register("pumpkin_stem", $factory->get(Ids::PUMPKIN_STEM, 0)); - self::register("purple_torch", $factory->get(Ids::PURPLE_TORCH, 1)); - self::register("purpur", $factory->get(Ids::PURPUR, 0)); - self::register("purpur_pillar", $factory->get(Ids::PURPUR_PILLAR, 2)); - self::register("purpur_slab", $factory->get(Ids::PURPUR_SLAB, 0)); - self::register("purpur_stairs", $factory->get(Ids::PURPUR_STAIRS, 0)); - self::register("quartz", $factory->get(Ids::QUARTZ, 0)); - self::register("quartz_bricks", $factory->get(Ids::QUARTZ_BRICKS, 0)); - self::register("quartz_pillar", $factory->get(Ids::QUARTZ_PILLAR, 2)); - self::register("quartz_slab", $factory->get(Ids::QUARTZ_SLAB, 0)); - self::register("quartz_stairs", $factory->get(Ids::QUARTZ_STAIRS, 0)); - self::register("rail", $factory->get(Ids::RAIL, 0)); - self::register("raw_copper", $factory->get(Ids::RAW_COPPER, 0)); - self::register("raw_gold", $factory->get(Ids::RAW_GOLD, 0)); - self::register("raw_iron", $factory->get(Ids::RAW_IRON, 0)); - self::register("red_mushroom", $factory->get(Ids::RED_MUSHROOM, 0)); - self::register("red_mushroom_block", $factory->get(Ids::RED_MUSHROOM_BLOCK, 10)); - self::register("red_nether_brick_slab", $factory->get(Ids::RED_NETHER_BRICK_SLAB, 0)); - self::register("red_nether_brick_stairs", $factory->get(Ids::RED_NETHER_BRICK_STAIRS, 0)); - self::register("red_nether_brick_wall", $factory->get(Ids::RED_NETHER_BRICK_WALL, 0)); - self::register("red_nether_bricks", $factory->get(Ids::RED_NETHER_BRICKS, 0)); - self::register("red_sand", $factory->get(Ids::RED_SAND, 0)); - self::register("red_sandstone", $factory->get(Ids::RED_SANDSTONE, 0)); - self::register("red_sandstone_slab", $factory->get(Ids::RED_SANDSTONE_SLAB, 0)); - self::register("red_sandstone_stairs", $factory->get(Ids::RED_SANDSTONE_STAIRS, 0)); - self::register("red_sandstone_wall", $factory->get(Ids::RED_SANDSTONE_WALL, 0)); - self::register("red_torch", $factory->get(Ids::RED_TORCH, 1)); - self::register("red_tulip", $factory->get(Ids::RED_TULIP, 0)); - self::register("redstone", $factory->get(Ids::REDSTONE, 0)); - self::register("redstone_comparator", $factory->get(Ids::REDSTONE_COMPARATOR, 0)); - self::register("redstone_lamp", $factory->get(Ids::REDSTONE_LAMP, 0)); - self::register("redstone_ore", $factory->get(Ids::REDSTONE_ORE, 0)); - self::register("redstone_repeater", $factory->get(Ids::REDSTONE_REPEATER, 0)); - self::register("redstone_torch", $factory->get(Ids::REDSTONE_TORCH, 9)); - self::register("redstone_wire", $factory->get(Ids::REDSTONE_WIRE, 0)); - self::register("reserved6", $factory->get(Ids::RESERVED6, 0)); - self::register("rose_bush", $factory->get(Ids::ROSE_BUSH, 0)); - self::register("sand", $factory->get(Ids::SAND, 0)); - self::register("sandstone", $factory->get(Ids::SANDSTONE, 0)); - self::register("sandstone_slab", $factory->get(Ids::SANDSTONE_SLAB, 0)); - self::register("sandstone_stairs", $factory->get(Ids::SANDSTONE_STAIRS, 0)); - self::register("sandstone_wall", $factory->get(Ids::SANDSTONE_WALL, 0)); - self::register("sea_lantern", $factory->get(Ids::SEA_LANTERN, 0)); - self::register("sea_pickle", $factory->get(Ids::SEA_PICKLE, 0)); - self::register("shulker_box", $factory->get(Ids::SHULKER_BOX, 0)); - self::register("slime", $factory->get(Ids::SLIME, 0)); - self::register("smoker", $factory->get(Ids::SMOKER, 0)); - self::register("smooth_basalt", $factory->get(Ids::SMOOTH_BASALT, 0)); - self::register("smooth_quartz", $factory->get(Ids::SMOOTH_QUARTZ, 0)); - self::register("smooth_quartz_slab", $factory->get(Ids::SMOOTH_QUARTZ_SLAB, 0)); - self::register("smooth_quartz_stairs", $factory->get(Ids::SMOOTH_QUARTZ_STAIRS, 0)); - self::register("smooth_red_sandstone", $factory->get(Ids::SMOOTH_RED_SANDSTONE, 0)); - self::register("smooth_red_sandstone_slab", $factory->get(Ids::SMOOTH_RED_SANDSTONE_SLAB, 0)); - self::register("smooth_red_sandstone_stairs", $factory->get(Ids::SMOOTH_RED_SANDSTONE_STAIRS, 0)); - self::register("smooth_sandstone", $factory->get(Ids::SMOOTH_SANDSTONE, 0)); - self::register("smooth_sandstone_slab", $factory->get(Ids::SMOOTH_SANDSTONE_SLAB, 0)); - self::register("smooth_sandstone_stairs", $factory->get(Ids::SMOOTH_SANDSTONE_STAIRS, 0)); - self::register("smooth_stone", $factory->get(Ids::SMOOTH_STONE, 0)); - self::register("smooth_stone_slab", $factory->get(Ids::SMOOTH_STONE_SLAB, 0)); - self::register("snow", $factory->get(Ids::SNOW, 0)); - self::register("snow_layer", $factory->get(Ids::SNOW_LAYER, 0)); - self::register("soul_fire", $factory->get(Ids::SOUL_FIRE, 0)); - self::register("soul_sand", $factory->get(Ids::SOUL_SAND, 0)); - self::register("sponge", $factory->get(Ids::SPONGE, 0)); - self::register("spruce_button", $factory->get(Ids::SPRUCE_BUTTON, 0)); - self::register("spruce_door", $factory->get(Ids::SPRUCE_DOOR, 0)); - self::register("spruce_fence", $factory->get(Ids::SPRUCE_FENCE, 0)); - self::register("spruce_fence_gate", $factory->get(Ids::SPRUCE_FENCE_GATE, 0)); - self::register("spruce_leaves", $factory->get(Ids::SPRUCE_LEAVES, 0)); - self::register("spruce_log", $factory->get(Ids::SPRUCE_LOG, 4)); - self::register("spruce_planks", $factory->get(Ids::SPRUCE_PLANKS, 0)); - self::register("spruce_pressure_plate", $factory->get(Ids::SPRUCE_PRESSURE_PLATE, 0)); - self::register("spruce_sapling", $factory->get(Ids::SPRUCE_SAPLING, 0)); - self::register("spruce_sign", $factory->get(Ids::SPRUCE_SIGN, 0)); - self::register("spruce_slab", $factory->get(Ids::SPRUCE_SLAB, 0)); - self::register("spruce_stairs", $factory->get(Ids::SPRUCE_STAIRS, 0)); - self::register("spruce_trapdoor", $factory->get(Ids::SPRUCE_TRAPDOOR, 0)); - self::register("spruce_wall_sign", $factory->get(Ids::SPRUCE_WALL_SIGN, 0)); - self::register("spruce_wood", $factory->get(Ids::SPRUCE_WOOD, 4)); - self::register("stained_clay", $factory->get(Ids::STAINED_CLAY, 14)); - self::register("stained_glass", $factory->get(Ids::STAINED_GLASS, 14)); - self::register("stained_glass_pane", $factory->get(Ids::STAINED_GLASS_PANE, 14)); - self::register("stained_hardened_glass", $factory->get(Ids::STAINED_HARDENED_GLASS, 14)); - self::register("stained_hardened_glass_pane", $factory->get(Ids::STAINED_HARDENED_GLASS_PANE, 14)); - self::register("stone", $factory->get(Ids::STONE, 0)); - self::register("stone_brick_slab", $factory->get(Ids::STONE_BRICK_SLAB, 0)); - self::register("stone_brick_stairs", $factory->get(Ids::STONE_BRICK_STAIRS, 0)); - self::register("stone_brick_wall", $factory->get(Ids::STONE_BRICK_WALL, 0)); - self::register("stone_bricks", $factory->get(Ids::STONE_BRICKS, 0)); - self::register("stone_button", $factory->get(Ids::STONE_BUTTON, 0)); - self::register("stone_pressure_plate", $factory->get(Ids::STONE_PRESSURE_PLATE, 0)); - self::register("stone_slab", $factory->get(Ids::STONE_SLAB, 0)); - self::register("stone_stairs", $factory->get(Ids::STONE_STAIRS, 0)); - self::register("stonecutter", $factory->get(Ids::STONECUTTER, 0)); - self::register("sugarcane", $factory->get(Ids::SUGARCANE, 0)); - self::register("sunflower", $factory->get(Ids::SUNFLOWER, 0)); - self::register("sweet_berry_bush", $factory->get(Ids::SWEET_BERRY_BUSH, 0)); - self::register("tall_grass", $factory->get(Ids::TALL_GRASS, 0)); - self::register("tnt", $factory->get(Ids::TNT, 0)); - self::register("torch", $factory->get(Ids::TORCH, 1)); - self::register("trapped_chest", $factory->get(Ids::TRAPPED_CHEST, 0)); - self::register("tripwire", $factory->get(Ids::TRIPWIRE, 0)); - self::register("tripwire_hook", $factory->get(Ids::TRIPWIRE_HOOK, 0)); - self::register("underwater_torch", $factory->get(Ids::UNDERWATER_TORCH, 1)); - self::register("vines", $factory->get(Ids::VINES, 0)); - self::register("wall_banner", $factory->get(Ids::WALL_BANNER, 0)); - self::register("wall_coral_fan", $factory->get(Ids::WALL_CORAL_FAN, 4)); - self::register("warped_button", $factory->get(Ids::WARPED_BUTTON, 0)); - self::register("warped_door", $factory->get(Ids::WARPED_DOOR, 0)); - self::register("warped_fence", $factory->get(Ids::WARPED_FENCE, 0)); - self::register("warped_fence_gate", $factory->get(Ids::WARPED_FENCE_GATE, 0)); - self::register("warped_hyphae", $factory->get(Ids::WARPED_HYPHAE, 4)); - self::register("warped_planks", $factory->get(Ids::WARPED_PLANKS, 0)); - self::register("warped_pressure_plate", $factory->get(Ids::WARPED_PRESSURE_PLATE, 0)); - self::register("warped_slab", $factory->get(Ids::WARPED_SLAB, 0)); - self::register("warped_stairs", $factory->get(Ids::WARPED_STAIRS, 0)); - self::register("warped_stem", $factory->get(Ids::WARPED_STEM, 4)); - self::register("warped_trapdoor", $factory->get(Ids::WARPED_TRAPDOOR, 0)); - self::register("water", $factory->get(Ids::WATER, 0)); - self::register("weighted_pressure_plate_heavy", $factory->get(Ids::WEIGHTED_PRESSURE_PLATE_HEAVY, 0)); - self::register("weighted_pressure_plate_light", $factory->get(Ids::WEIGHTED_PRESSURE_PLATE_LIGHT, 0)); - self::register("wheat", $factory->get(Ids::WHEAT, 0)); - self::register("white_tulip", $factory->get(Ids::WHITE_TULIP, 0)); - self::register("wool", $factory->get(Ids::WOOL, 14)); + self::register("acacia_button", $factory->fromTypeId(Ids::ACACIA_BUTTON)); + self::register("acacia_door", $factory->fromTypeId(Ids::ACACIA_DOOR)); + self::register("acacia_fence", $factory->fromTypeId(Ids::ACACIA_FENCE)); + self::register("acacia_fence_gate", $factory->fromTypeId(Ids::ACACIA_FENCE_GATE)); + self::register("acacia_leaves", $factory->fromTypeId(Ids::ACACIA_LEAVES)); + self::register("acacia_log", $factory->fromTypeId(Ids::ACACIA_LOG)); + self::register("acacia_planks", $factory->fromTypeId(Ids::ACACIA_PLANKS)); + self::register("acacia_pressure_plate", $factory->fromTypeId(Ids::ACACIA_PRESSURE_PLATE)); + self::register("acacia_sapling", $factory->fromTypeId(Ids::ACACIA_SAPLING)); + self::register("acacia_sign", $factory->fromTypeId(Ids::ACACIA_SIGN)); + self::register("acacia_slab", $factory->fromTypeId(Ids::ACACIA_SLAB)); + self::register("acacia_stairs", $factory->fromTypeId(Ids::ACACIA_STAIRS)); + self::register("acacia_trapdoor", $factory->fromTypeId(Ids::ACACIA_TRAPDOOR)); + self::register("acacia_wall_sign", $factory->fromTypeId(Ids::ACACIA_WALL_SIGN)); + self::register("acacia_wood", $factory->fromTypeId(Ids::ACACIA_WOOD)); + self::register("activator_rail", $factory->fromTypeId(Ids::ACTIVATOR_RAIL)); + self::register("air", $factory->fromTypeId(Ids::AIR)); + self::register("all_sided_mushroom_stem", $factory->fromTypeId(Ids::ALL_SIDED_MUSHROOM_STEM)); + self::register("allium", $factory->fromTypeId(Ids::ALLIUM)); + self::register("amethyst", $factory->fromTypeId(Ids::AMETHYST)); + self::register("ancient_debris", $factory->fromTypeId(Ids::ANCIENT_DEBRIS)); + self::register("andesite", $factory->fromTypeId(Ids::ANDESITE)); + self::register("andesite_slab", $factory->fromTypeId(Ids::ANDESITE_SLAB)); + self::register("andesite_stairs", $factory->fromTypeId(Ids::ANDESITE_STAIRS)); + self::register("andesite_wall", $factory->fromTypeId(Ids::ANDESITE_WALL)); + self::register("anvil", $factory->fromTypeId(Ids::ANVIL)); + self::register("azure_bluet", $factory->fromTypeId(Ids::AZURE_BLUET)); + self::register("bamboo", $factory->fromTypeId(Ids::BAMBOO)); + self::register("bamboo_sapling", $factory->fromTypeId(Ids::BAMBOO_SAPLING)); + self::register("banner", $factory->fromTypeId(Ids::BANNER)); + self::register("barrel", $factory->fromTypeId(Ids::BARREL)); + self::register("barrier", $factory->fromTypeId(Ids::BARRIER)); + self::register("basalt", $factory->fromTypeId(Ids::BASALT)); + self::register("beacon", $factory->fromTypeId(Ids::BEACON)); + self::register("bed", $factory->fromTypeId(Ids::BED)); + self::register("bedrock", $factory->fromTypeId(Ids::BEDROCK)); + self::register("beetroots", $factory->fromTypeId(Ids::BEETROOTS)); + self::register("bell", $factory->fromTypeId(Ids::BELL)); + self::register("birch_button", $factory->fromTypeId(Ids::BIRCH_BUTTON)); + self::register("birch_door", $factory->fromTypeId(Ids::BIRCH_DOOR)); + self::register("birch_fence", $factory->fromTypeId(Ids::BIRCH_FENCE)); + self::register("birch_fence_gate", $factory->fromTypeId(Ids::BIRCH_FENCE_GATE)); + self::register("birch_leaves", $factory->fromTypeId(Ids::BIRCH_LEAVES)); + self::register("birch_log", $factory->fromTypeId(Ids::BIRCH_LOG)); + self::register("birch_planks", $factory->fromTypeId(Ids::BIRCH_PLANKS)); + self::register("birch_pressure_plate", $factory->fromTypeId(Ids::BIRCH_PRESSURE_PLATE)); + self::register("birch_sapling", $factory->fromTypeId(Ids::BIRCH_SAPLING)); + self::register("birch_sign", $factory->fromTypeId(Ids::BIRCH_SIGN)); + self::register("birch_slab", $factory->fromTypeId(Ids::BIRCH_SLAB)); + self::register("birch_stairs", $factory->fromTypeId(Ids::BIRCH_STAIRS)); + self::register("birch_trapdoor", $factory->fromTypeId(Ids::BIRCH_TRAPDOOR)); + self::register("birch_wall_sign", $factory->fromTypeId(Ids::BIRCH_WALL_SIGN)); + self::register("birch_wood", $factory->fromTypeId(Ids::BIRCH_WOOD)); + self::register("blackstone", $factory->fromTypeId(Ids::BLACKSTONE)); + self::register("blackstone_slab", $factory->fromTypeId(Ids::BLACKSTONE_SLAB)); + self::register("blackstone_stairs", $factory->fromTypeId(Ids::BLACKSTONE_STAIRS)); + self::register("blackstone_wall", $factory->fromTypeId(Ids::BLACKSTONE_WALL)); + self::register("blast_furnace", $factory->fromTypeId(Ids::BLAST_FURNACE)); + self::register("blue_ice", $factory->fromTypeId(Ids::BLUE_ICE)); + self::register("blue_orchid", $factory->fromTypeId(Ids::BLUE_ORCHID)); + self::register("blue_torch", $factory->fromTypeId(Ids::BLUE_TORCH)); + self::register("bone_block", $factory->fromTypeId(Ids::BONE_BLOCK)); + self::register("bookshelf", $factory->fromTypeId(Ids::BOOKSHELF)); + self::register("brewing_stand", $factory->fromTypeId(Ids::BREWING_STAND)); + self::register("brick_slab", $factory->fromTypeId(Ids::BRICK_SLAB)); + self::register("brick_stairs", $factory->fromTypeId(Ids::BRICK_STAIRS)); + self::register("brick_wall", $factory->fromTypeId(Ids::BRICK_WALL)); + self::register("bricks", $factory->fromTypeId(Ids::BRICKS)); + self::register("brown_mushroom", $factory->fromTypeId(Ids::BROWN_MUSHROOM)); + self::register("brown_mushroom_block", $factory->fromTypeId(Ids::BROWN_MUSHROOM_BLOCK)); + self::register("cactus", $factory->fromTypeId(Ids::CACTUS)); + self::register("cake", $factory->fromTypeId(Ids::CAKE)); + self::register("calcite", $factory->fromTypeId(Ids::CALCITE)); + self::register("carpet", $factory->fromTypeId(Ids::CARPET)); + self::register("carrots", $factory->fromTypeId(Ids::CARROTS)); + self::register("carved_pumpkin", $factory->fromTypeId(Ids::CARVED_PUMPKIN)); + self::register("chemical_heat", $factory->fromTypeId(Ids::CHEMICAL_HEAT)); + self::register("chest", $factory->fromTypeId(Ids::CHEST)); + self::register("chiseled_deepslate", $factory->fromTypeId(Ids::CHISELED_DEEPSLATE)); + self::register("chiseled_nether_bricks", $factory->fromTypeId(Ids::CHISELED_NETHER_BRICKS)); + self::register("chiseled_polished_blackstone", $factory->fromTypeId(Ids::CHISELED_POLISHED_BLACKSTONE)); + self::register("chiseled_quartz", $factory->fromTypeId(Ids::CHISELED_QUARTZ)); + self::register("chiseled_red_sandstone", $factory->fromTypeId(Ids::CHISELED_RED_SANDSTONE)); + self::register("chiseled_sandstone", $factory->fromTypeId(Ids::CHISELED_SANDSTONE)); + self::register("chiseled_stone_bricks", $factory->fromTypeId(Ids::CHISELED_STONE_BRICKS)); + self::register("clay", $factory->fromTypeId(Ids::CLAY)); + self::register("coal", $factory->fromTypeId(Ids::COAL)); + self::register("coal_ore", $factory->fromTypeId(Ids::COAL_ORE)); + self::register("cobbled_deepslate", $factory->fromTypeId(Ids::COBBLED_DEEPSLATE)); + self::register("cobbled_deepslate_slab", $factory->fromTypeId(Ids::COBBLED_DEEPSLATE_SLAB)); + self::register("cobbled_deepslate_stairs", $factory->fromTypeId(Ids::COBBLED_DEEPSLATE_STAIRS)); + self::register("cobbled_deepslate_wall", $factory->fromTypeId(Ids::COBBLED_DEEPSLATE_WALL)); + self::register("cobblestone", $factory->fromTypeId(Ids::COBBLESTONE)); + self::register("cobblestone_slab", $factory->fromTypeId(Ids::COBBLESTONE_SLAB)); + self::register("cobblestone_stairs", $factory->fromTypeId(Ids::COBBLESTONE_STAIRS)); + self::register("cobblestone_wall", $factory->fromTypeId(Ids::COBBLESTONE_WALL)); + self::register("cobweb", $factory->fromTypeId(Ids::COBWEB)); + self::register("cocoa_pod", $factory->fromTypeId(Ids::COCOA_POD)); + self::register("compound_creator", $factory->fromTypeId(Ids::COMPOUND_CREATOR)); + self::register("concrete", $factory->fromTypeId(Ids::CONCRETE)); + self::register("concrete_powder", $factory->fromTypeId(Ids::CONCRETE_POWDER)); + self::register("coral", $factory->fromTypeId(Ids::CORAL)); + self::register("coral_block", $factory->fromTypeId(Ids::CORAL_BLOCK)); + self::register("coral_fan", $factory->fromTypeId(Ids::CORAL_FAN)); + self::register("cornflower", $factory->fromTypeId(Ids::CORNFLOWER)); + self::register("cracked_deepslate_bricks", $factory->fromTypeId(Ids::CRACKED_DEEPSLATE_BRICKS)); + self::register("cracked_deepslate_tiles", $factory->fromTypeId(Ids::CRACKED_DEEPSLATE_TILES)); + self::register("cracked_nether_bricks", $factory->fromTypeId(Ids::CRACKED_NETHER_BRICKS)); + self::register("cracked_polished_blackstone_bricks", $factory->fromTypeId(Ids::CRACKED_POLISHED_BLACKSTONE_BRICKS)); + self::register("cracked_stone_bricks", $factory->fromTypeId(Ids::CRACKED_STONE_BRICKS)); + self::register("crafting_table", $factory->fromTypeId(Ids::CRAFTING_TABLE)); + self::register("crimson_button", $factory->fromTypeId(Ids::CRIMSON_BUTTON)); + self::register("crimson_door", $factory->fromTypeId(Ids::CRIMSON_DOOR)); + self::register("crimson_fence", $factory->fromTypeId(Ids::CRIMSON_FENCE)); + self::register("crimson_fence_gate", $factory->fromTypeId(Ids::CRIMSON_FENCE_GATE)); + self::register("crimson_hyphae", $factory->fromTypeId(Ids::CRIMSON_HYPHAE)); + self::register("crimson_planks", $factory->fromTypeId(Ids::CRIMSON_PLANKS)); + self::register("crimson_pressure_plate", $factory->fromTypeId(Ids::CRIMSON_PRESSURE_PLATE)); + self::register("crimson_slab", $factory->fromTypeId(Ids::CRIMSON_SLAB)); + self::register("crimson_stairs", $factory->fromTypeId(Ids::CRIMSON_STAIRS)); + self::register("crimson_stem", $factory->fromTypeId(Ids::CRIMSON_STEM)); + self::register("crimson_trapdoor", $factory->fromTypeId(Ids::CRIMSON_TRAPDOOR)); + self::register("cut_red_sandstone", $factory->fromTypeId(Ids::CUT_RED_SANDSTONE)); + self::register("cut_red_sandstone_slab", $factory->fromTypeId(Ids::CUT_RED_SANDSTONE_SLAB)); + self::register("cut_sandstone", $factory->fromTypeId(Ids::CUT_SANDSTONE)); + self::register("cut_sandstone_slab", $factory->fromTypeId(Ids::CUT_SANDSTONE_SLAB)); + self::register("dandelion", $factory->fromTypeId(Ids::DANDELION)); + self::register("dark_oak_button", $factory->fromTypeId(Ids::DARK_OAK_BUTTON)); + self::register("dark_oak_door", $factory->fromTypeId(Ids::DARK_OAK_DOOR)); + self::register("dark_oak_fence", $factory->fromTypeId(Ids::DARK_OAK_FENCE)); + self::register("dark_oak_fence_gate", $factory->fromTypeId(Ids::DARK_OAK_FENCE_GATE)); + self::register("dark_oak_leaves", $factory->fromTypeId(Ids::DARK_OAK_LEAVES)); + self::register("dark_oak_log", $factory->fromTypeId(Ids::DARK_OAK_LOG)); + self::register("dark_oak_planks", $factory->fromTypeId(Ids::DARK_OAK_PLANKS)); + self::register("dark_oak_pressure_plate", $factory->fromTypeId(Ids::DARK_OAK_PRESSURE_PLATE)); + self::register("dark_oak_sapling", $factory->fromTypeId(Ids::DARK_OAK_SAPLING)); + self::register("dark_oak_sign", $factory->fromTypeId(Ids::DARK_OAK_SIGN)); + self::register("dark_oak_slab", $factory->fromTypeId(Ids::DARK_OAK_SLAB)); + self::register("dark_oak_stairs", $factory->fromTypeId(Ids::DARK_OAK_STAIRS)); + self::register("dark_oak_trapdoor", $factory->fromTypeId(Ids::DARK_OAK_TRAPDOOR)); + self::register("dark_oak_wall_sign", $factory->fromTypeId(Ids::DARK_OAK_WALL_SIGN)); + self::register("dark_oak_wood", $factory->fromTypeId(Ids::DARK_OAK_WOOD)); + self::register("dark_prismarine", $factory->fromTypeId(Ids::DARK_PRISMARINE)); + self::register("dark_prismarine_slab", $factory->fromTypeId(Ids::DARK_PRISMARINE_SLAB)); + self::register("dark_prismarine_stairs", $factory->fromTypeId(Ids::DARK_PRISMARINE_STAIRS)); + self::register("daylight_sensor", $factory->fromTypeId(Ids::DAYLIGHT_SENSOR)); + self::register("dead_bush", $factory->fromTypeId(Ids::DEAD_BUSH)); + self::register("deepslate", $factory->fromTypeId(Ids::DEEPSLATE)); + self::register("deepslate_brick_slab", $factory->fromTypeId(Ids::DEEPSLATE_BRICK_SLAB)); + self::register("deepslate_brick_stairs", $factory->fromTypeId(Ids::DEEPSLATE_BRICK_STAIRS)); + self::register("deepslate_brick_wall", $factory->fromTypeId(Ids::DEEPSLATE_BRICK_WALL)); + self::register("deepslate_bricks", $factory->fromTypeId(Ids::DEEPSLATE_BRICKS)); + self::register("deepslate_tile_slab", $factory->fromTypeId(Ids::DEEPSLATE_TILE_SLAB)); + self::register("deepslate_tile_stairs", $factory->fromTypeId(Ids::DEEPSLATE_TILE_STAIRS)); + self::register("deepslate_tile_wall", $factory->fromTypeId(Ids::DEEPSLATE_TILE_WALL)); + self::register("deepslate_tiles", $factory->fromTypeId(Ids::DEEPSLATE_TILES)); + self::register("detector_rail", $factory->fromTypeId(Ids::DETECTOR_RAIL)); + self::register("diamond", $factory->fromTypeId(Ids::DIAMOND)); + self::register("diamond_ore", $factory->fromTypeId(Ids::DIAMOND_ORE)); + self::register("diorite", $factory->fromTypeId(Ids::DIORITE)); + self::register("diorite_slab", $factory->fromTypeId(Ids::DIORITE_SLAB)); + self::register("diorite_stairs", $factory->fromTypeId(Ids::DIORITE_STAIRS)); + self::register("diorite_wall", $factory->fromTypeId(Ids::DIORITE_WALL)); + self::register("dirt", $factory->fromTypeId(Ids::DIRT)); + self::register("double_tallgrass", $factory->fromTypeId(Ids::DOUBLE_TALLGRASS)); + self::register("dragon_egg", $factory->fromTypeId(Ids::DRAGON_EGG)); + self::register("dried_kelp", $factory->fromTypeId(Ids::DRIED_KELP)); + self::register("dyed_shulker_box", $factory->fromTypeId(Ids::DYED_SHULKER_BOX)); + self::register("element_actinium", $factory->fromTypeId(Ids::ELEMENT_ACTINIUM)); + self::register("element_aluminum", $factory->fromTypeId(Ids::ELEMENT_ALUMINUM)); + self::register("element_americium", $factory->fromTypeId(Ids::ELEMENT_AMERICIUM)); + self::register("element_antimony", $factory->fromTypeId(Ids::ELEMENT_ANTIMONY)); + self::register("element_argon", $factory->fromTypeId(Ids::ELEMENT_ARGON)); + self::register("element_arsenic", $factory->fromTypeId(Ids::ELEMENT_ARSENIC)); + self::register("element_astatine", $factory->fromTypeId(Ids::ELEMENT_ASTATINE)); + self::register("element_barium", $factory->fromTypeId(Ids::ELEMENT_BARIUM)); + self::register("element_berkelium", $factory->fromTypeId(Ids::ELEMENT_BERKELIUM)); + self::register("element_beryllium", $factory->fromTypeId(Ids::ELEMENT_BERYLLIUM)); + self::register("element_bismuth", $factory->fromTypeId(Ids::ELEMENT_BISMUTH)); + self::register("element_bohrium", $factory->fromTypeId(Ids::ELEMENT_BOHRIUM)); + self::register("element_boron", $factory->fromTypeId(Ids::ELEMENT_BORON)); + self::register("element_bromine", $factory->fromTypeId(Ids::ELEMENT_BROMINE)); + self::register("element_cadmium", $factory->fromTypeId(Ids::ELEMENT_CADMIUM)); + self::register("element_calcium", $factory->fromTypeId(Ids::ELEMENT_CALCIUM)); + self::register("element_californium", $factory->fromTypeId(Ids::ELEMENT_CALIFORNIUM)); + self::register("element_carbon", $factory->fromTypeId(Ids::ELEMENT_CARBON)); + self::register("element_cerium", $factory->fromTypeId(Ids::ELEMENT_CERIUM)); + self::register("element_cesium", $factory->fromTypeId(Ids::ELEMENT_CESIUM)); + self::register("element_chlorine", $factory->fromTypeId(Ids::ELEMENT_CHLORINE)); + self::register("element_chromium", $factory->fromTypeId(Ids::ELEMENT_CHROMIUM)); + self::register("element_cobalt", $factory->fromTypeId(Ids::ELEMENT_COBALT)); + self::register("element_constructor", $factory->fromTypeId(Ids::ELEMENT_CONSTRUCTOR)); + self::register("element_copernicium", $factory->fromTypeId(Ids::ELEMENT_COPERNICIUM)); + self::register("element_copper", $factory->fromTypeId(Ids::ELEMENT_COPPER)); + self::register("element_curium", $factory->fromTypeId(Ids::ELEMENT_CURIUM)); + self::register("element_darmstadtium", $factory->fromTypeId(Ids::ELEMENT_DARMSTADTIUM)); + self::register("element_dubnium", $factory->fromTypeId(Ids::ELEMENT_DUBNIUM)); + self::register("element_dysprosium", $factory->fromTypeId(Ids::ELEMENT_DYSPROSIUM)); + self::register("element_einsteinium", $factory->fromTypeId(Ids::ELEMENT_EINSTEINIUM)); + self::register("element_erbium", $factory->fromTypeId(Ids::ELEMENT_ERBIUM)); + self::register("element_europium", $factory->fromTypeId(Ids::ELEMENT_EUROPIUM)); + self::register("element_fermium", $factory->fromTypeId(Ids::ELEMENT_FERMIUM)); + self::register("element_flerovium", $factory->fromTypeId(Ids::ELEMENT_FLEROVIUM)); + self::register("element_fluorine", $factory->fromTypeId(Ids::ELEMENT_FLUORINE)); + self::register("element_francium", $factory->fromTypeId(Ids::ELEMENT_FRANCIUM)); + self::register("element_gadolinium", $factory->fromTypeId(Ids::ELEMENT_GADOLINIUM)); + self::register("element_gallium", $factory->fromTypeId(Ids::ELEMENT_GALLIUM)); + self::register("element_germanium", $factory->fromTypeId(Ids::ELEMENT_GERMANIUM)); + self::register("element_gold", $factory->fromTypeId(Ids::ELEMENT_GOLD)); + self::register("element_hafnium", $factory->fromTypeId(Ids::ELEMENT_HAFNIUM)); + self::register("element_hassium", $factory->fromTypeId(Ids::ELEMENT_HASSIUM)); + self::register("element_helium", $factory->fromTypeId(Ids::ELEMENT_HELIUM)); + self::register("element_holmium", $factory->fromTypeId(Ids::ELEMENT_HOLMIUM)); + self::register("element_hydrogen", $factory->fromTypeId(Ids::ELEMENT_HYDROGEN)); + self::register("element_indium", $factory->fromTypeId(Ids::ELEMENT_INDIUM)); + self::register("element_iodine", $factory->fromTypeId(Ids::ELEMENT_IODINE)); + self::register("element_iridium", $factory->fromTypeId(Ids::ELEMENT_IRIDIUM)); + self::register("element_iron", $factory->fromTypeId(Ids::ELEMENT_IRON)); + self::register("element_krypton", $factory->fromTypeId(Ids::ELEMENT_KRYPTON)); + self::register("element_lanthanum", $factory->fromTypeId(Ids::ELEMENT_LANTHANUM)); + self::register("element_lawrencium", $factory->fromTypeId(Ids::ELEMENT_LAWRENCIUM)); + self::register("element_lead", $factory->fromTypeId(Ids::ELEMENT_LEAD)); + self::register("element_lithium", $factory->fromTypeId(Ids::ELEMENT_LITHIUM)); + self::register("element_livermorium", $factory->fromTypeId(Ids::ELEMENT_LIVERMORIUM)); + self::register("element_lutetium", $factory->fromTypeId(Ids::ELEMENT_LUTETIUM)); + self::register("element_magnesium", $factory->fromTypeId(Ids::ELEMENT_MAGNESIUM)); + self::register("element_manganese", $factory->fromTypeId(Ids::ELEMENT_MANGANESE)); + self::register("element_meitnerium", $factory->fromTypeId(Ids::ELEMENT_MEITNERIUM)); + self::register("element_mendelevium", $factory->fromTypeId(Ids::ELEMENT_MENDELEVIUM)); + self::register("element_mercury", $factory->fromTypeId(Ids::ELEMENT_MERCURY)); + self::register("element_molybdenum", $factory->fromTypeId(Ids::ELEMENT_MOLYBDENUM)); + self::register("element_moscovium", $factory->fromTypeId(Ids::ELEMENT_MOSCOVIUM)); + self::register("element_neodymium", $factory->fromTypeId(Ids::ELEMENT_NEODYMIUM)); + self::register("element_neon", $factory->fromTypeId(Ids::ELEMENT_NEON)); + self::register("element_neptunium", $factory->fromTypeId(Ids::ELEMENT_NEPTUNIUM)); + self::register("element_nickel", $factory->fromTypeId(Ids::ELEMENT_NICKEL)); + self::register("element_nihonium", $factory->fromTypeId(Ids::ELEMENT_NIHONIUM)); + self::register("element_niobium", $factory->fromTypeId(Ids::ELEMENT_NIOBIUM)); + self::register("element_nitrogen", $factory->fromTypeId(Ids::ELEMENT_NITROGEN)); + self::register("element_nobelium", $factory->fromTypeId(Ids::ELEMENT_NOBELIUM)); + self::register("element_oganesson", $factory->fromTypeId(Ids::ELEMENT_OGANESSON)); + self::register("element_osmium", $factory->fromTypeId(Ids::ELEMENT_OSMIUM)); + self::register("element_oxygen", $factory->fromTypeId(Ids::ELEMENT_OXYGEN)); + self::register("element_palladium", $factory->fromTypeId(Ids::ELEMENT_PALLADIUM)); + self::register("element_phosphorus", $factory->fromTypeId(Ids::ELEMENT_PHOSPHORUS)); + self::register("element_platinum", $factory->fromTypeId(Ids::ELEMENT_PLATINUM)); + self::register("element_plutonium", $factory->fromTypeId(Ids::ELEMENT_PLUTONIUM)); + self::register("element_polonium", $factory->fromTypeId(Ids::ELEMENT_POLONIUM)); + self::register("element_potassium", $factory->fromTypeId(Ids::ELEMENT_POTASSIUM)); + self::register("element_praseodymium", $factory->fromTypeId(Ids::ELEMENT_PRASEODYMIUM)); + self::register("element_promethium", $factory->fromTypeId(Ids::ELEMENT_PROMETHIUM)); + self::register("element_protactinium", $factory->fromTypeId(Ids::ELEMENT_PROTACTINIUM)); + self::register("element_radium", $factory->fromTypeId(Ids::ELEMENT_RADIUM)); + self::register("element_radon", $factory->fromTypeId(Ids::ELEMENT_RADON)); + self::register("element_rhenium", $factory->fromTypeId(Ids::ELEMENT_RHENIUM)); + self::register("element_rhodium", $factory->fromTypeId(Ids::ELEMENT_RHODIUM)); + self::register("element_roentgenium", $factory->fromTypeId(Ids::ELEMENT_ROENTGENIUM)); + self::register("element_rubidium", $factory->fromTypeId(Ids::ELEMENT_RUBIDIUM)); + self::register("element_ruthenium", $factory->fromTypeId(Ids::ELEMENT_RUTHENIUM)); + self::register("element_rutherfordium", $factory->fromTypeId(Ids::ELEMENT_RUTHERFORDIUM)); + self::register("element_samarium", $factory->fromTypeId(Ids::ELEMENT_SAMARIUM)); + self::register("element_scandium", $factory->fromTypeId(Ids::ELEMENT_SCANDIUM)); + self::register("element_seaborgium", $factory->fromTypeId(Ids::ELEMENT_SEABORGIUM)); + self::register("element_selenium", $factory->fromTypeId(Ids::ELEMENT_SELENIUM)); + self::register("element_silicon", $factory->fromTypeId(Ids::ELEMENT_SILICON)); + self::register("element_silver", $factory->fromTypeId(Ids::ELEMENT_SILVER)); + self::register("element_sodium", $factory->fromTypeId(Ids::ELEMENT_SODIUM)); + self::register("element_strontium", $factory->fromTypeId(Ids::ELEMENT_STRONTIUM)); + self::register("element_sulfur", $factory->fromTypeId(Ids::ELEMENT_SULFUR)); + self::register("element_tantalum", $factory->fromTypeId(Ids::ELEMENT_TANTALUM)); + self::register("element_technetium", $factory->fromTypeId(Ids::ELEMENT_TECHNETIUM)); + self::register("element_tellurium", $factory->fromTypeId(Ids::ELEMENT_TELLURIUM)); + self::register("element_tennessine", $factory->fromTypeId(Ids::ELEMENT_TENNESSINE)); + self::register("element_terbium", $factory->fromTypeId(Ids::ELEMENT_TERBIUM)); + self::register("element_thallium", $factory->fromTypeId(Ids::ELEMENT_THALLIUM)); + self::register("element_thorium", $factory->fromTypeId(Ids::ELEMENT_THORIUM)); + self::register("element_thulium", $factory->fromTypeId(Ids::ELEMENT_THULIUM)); + self::register("element_tin", $factory->fromTypeId(Ids::ELEMENT_TIN)); + self::register("element_titanium", $factory->fromTypeId(Ids::ELEMENT_TITANIUM)); + self::register("element_tungsten", $factory->fromTypeId(Ids::ELEMENT_TUNGSTEN)); + self::register("element_uranium", $factory->fromTypeId(Ids::ELEMENT_URANIUM)); + self::register("element_vanadium", $factory->fromTypeId(Ids::ELEMENT_VANADIUM)); + self::register("element_xenon", $factory->fromTypeId(Ids::ELEMENT_XENON)); + self::register("element_ytterbium", $factory->fromTypeId(Ids::ELEMENT_YTTERBIUM)); + self::register("element_yttrium", $factory->fromTypeId(Ids::ELEMENT_YTTRIUM)); + self::register("element_zero", $factory->fromTypeId(Ids::ELEMENT_ZERO)); + self::register("element_zinc", $factory->fromTypeId(Ids::ELEMENT_ZINC)); + self::register("element_zirconium", $factory->fromTypeId(Ids::ELEMENT_ZIRCONIUM)); + self::register("emerald", $factory->fromTypeId(Ids::EMERALD)); + self::register("emerald_ore", $factory->fromTypeId(Ids::EMERALD_ORE)); + self::register("enchanting_table", $factory->fromTypeId(Ids::ENCHANTING_TABLE)); + self::register("end_portal_frame", $factory->fromTypeId(Ids::END_PORTAL_FRAME)); + self::register("end_rod", $factory->fromTypeId(Ids::END_ROD)); + self::register("end_stone", $factory->fromTypeId(Ids::END_STONE)); + self::register("end_stone_brick_slab", $factory->fromTypeId(Ids::END_STONE_BRICK_SLAB)); + self::register("end_stone_brick_stairs", $factory->fromTypeId(Ids::END_STONE_BRICK_STAIRS)); + self::register("end_stone_brick_wall", $factory->fromTypeId(Ids::END_STONE_BRICK_WALL)); + self::register("end_stone_bricks", $factory->fromTypeId(Ids::END_STONE_BRICKS)); + self::register("ender_chest", $factory->fromTypeId(Ids::ENDER_CHEST)); + self::register("fake_wooden_slab", $factory->fromTypeId(Ids::FAKE_WOODEN_SLAB)); + self::register("farmland", $factory->fromTypeId(Ids::FARMLAND)); + self::register("fern", $factory->fromTypeId(Ids::FERN)); + self::register("fire", $factory->fromTypeId(Ids::FIRE)); + self::register("fletching_table", $factory->fromTypeId(Ids::FLETCHING_TABLE)); + self::register("flower_pot", $factory->fromTypeId(Ids::FLOWER_POT)); + self::register("frosted_ice", $factory->fromTypeId(Ids::FROSTED_ICE)); + self::register("furnace", $factory->fromTypeId(Ids::FURNACE)); + self::register("glass", $factory->fromTypeId(Ids::GLASS)); + self::register("glass_pane", $factory->fromTypeId(Ids::GLASS_PANE)); + self::register("glazed_terracotta", $factory->fromTypeId(Ids::GLAZED_TERRACOTTA)); + self::register("glowing_obsidian", $factory->fromTypeId(Ids::GLOWING_OBSIDIAN)); + self::register("glowstone", $factory->fromTypeId(Ids::GLOWSTONE)); + self::register("gold", $factory->fromTypeId(Ids::GOLD)); + self::register("gold_ore", $factory->fromTypeId(Ids::GOLD_ORE)); + self::register("granite", $factory->fromTypeId(Ids::GRANITE)); + self::register("granite_slab", $factory->fromTypeId(Ids::GRANITE_SLAB)); + self::register("granite_stairs", $factory->fromTypeId(Ids::GRANITE_STAIRS)); + self::register("granite_wall", $factory->fromTypeId(Ids::GRANITE_WALL)); + self::register("grass", $factory->fromTypeId(Ids::GRASS)); + self::register("grass_path", $factory->fromTypeId(Ids::GRASS_PATH)); + self::register("gravel", $factory->fromTypeId(Ids::GRAVEL)); + self::register("green_torch", $factory->fromTypeId(Ids::GREEN_TORCH)); + self::register("hardened_clay", $factory->fromTypeId(Ids::HARDENED_CLAY)); + self::register("hardened_glass", $factory->fromTypeId(Ids::HARDENED_GLASS)); + self::register("hardened_glass_pane", $factory->fromTypeId(Ids::HARDENED_GLASS_PANE)); + self::register("hay_bale", $factory->fromTypeId(Ids::HAY_BALE)); + self::register("hopper", $factory->fromTypeId(Ids::HOPPER)); + self::register("ice", $factory->fromTypeId(Ids::ICE)); + self::register("infested_chiseled_stone_brick", $factory->fromTypeId(Ids::INFESTED_CHISELED_STONE_BRICK)); + self::register("infested_cobblestone", $factory->fromTypeId(Ids::INFESTED_COBBLESTONE)); + self::register("infested_cracked_stone_brick", $factory->fromTypeId(Ids::INFESTED_CRACKED_STONE_BRICK)); + self::register("infested_mossy_stone_brick", $factory->fromTypeId(Ids::INFESTED_MOSSY_STONE_BRICK)); + self::register("infested_stone", $factory->fromTypeId(Ids::INFESTED_STONE)); + self::register("infested_stone_brick", $factory->fromTypeId(Ids::INFESTED_STONE_BRICK)); + self::register("info_update", $factory->fromTypeId(Ids::INFO_UPDATE)); + self::register("info_update2", $factory->fromTypeId(Ids::INFO_UPDATE2)); + self::register("invisible_bedrock", $factory->fromTypeId(Ids::INVISIBLE_BEDROCK)); + self::register("iron", $factory->fromTypeId(Ids::IRON)); + self::register("iron_bars", $factory->fromTypeId(Ids::IRON_BARS)); + self::register("iron_door", $factory->fromTypeId(Ids::IRON_DOOR)); + self::register("iron_ore", $factory->fromTypeId(Ids::IRON_ORE)); + self::register("iron_trapdoor", $factory->fromTypeId(Ids::IRON_TRAPDOOR)); + self::register("item_frame", $factory->fromTypeId(Ids::ITEM_FRAME)); + self::register("jukebox", $factory->fromTypeId(Ids::JUKEBOX)); + self::register("jungle_button", $factory->fromTypeId(Ids::JUNGLE_BUTTON)); + self::register("jungle_door", $factory->fromTypeId(Ids::JUNGLE_DOOR)); + self::register("jungle_fence", $factory->fromTypeId(Ids::JUNGLE_FENCE)); + self::register("jungle_fence_gate", $factory->fromTypeId(Ids::JUNGLE_FENCE_GATE)); + self::register("jungle_leaves", $factory->fromTypeId(Ids::JUNGLE_LEAVES)); + self::register("jungle_log", $factory->fromTypeId(Ids::JUNGLE_LOG)); + self::register("jungle_planks", $factory->fromTypeId(Ids::JUNGLE_PLANKS)); + self::register("jungle_pressure_plate", $factory->fromTypeId(Ids::JUNGLE_PRESSURE_PLATE)); + self::register("jungle_sapling", $factory->fromTypeId(Ids::JUNGLE_SAPLING)); + self::register("jungle_sign", $factory->fromTypeId(Ids::JUNGLE_SIGN)); + self::register("jungle_slab", $factory->fromTypeId(Ids::JUNGLE_SLAB)); + self::register("jungle_stairs", $factory->fromTypeId(Ids::JUNGLE_STAIRS)); + self::register("jungle_trapdoor", $factory->fromTypeId(Ids::JUNGLE_TRAPDOOR)); + self::register("jungle_wall_sign", $factory->fromTypeId(Ids::JUNGLE_WALL_SIGN)); + self::register("jungle_wood", $factory->fromTypeId(Ids::JUNGLE_WOOD)); + self::register("lab_table", $factory->fromTypeId(Ids::LAB_TABLE)); + self::register("ladder", $factory->fromTypeId(Ids::LADDER)); + self::register("lantern", $factory->fromTypeId(Ids::LANTERN)); + self::register("lapis_lazuli", $factory->fromTypeId(Ids::LAPIS_LAZULI)); + self::register("lapis_lazuli_ore", $factory->fromTypeId(Ids::LAPIS_LAZULI_ORE)); + self::register("large_fern", $factory->fromTypeId(Ids::LARGE_FERN)); + self::register("lava", $factory->fromTypeId(Ids::LAVA)); + self::register("lectern", $factory->fromTypeId(Ids::LECTERN)); + self::register("legacy_stonecutter", $factory->fromTypeId(Ids::LEGACY_STONECUTTER)); + self::register("lever", $factory->fromTypeId(Ids::LEVER)); + self::register("light", $factory->fromTypeId(Ids::LIGHT)); + self::register("lilac", $factory->fromTypeId(Ids::LILAC)); + self::register("lily_of_the_valley", $factory->fromTypeId(Ids::LILY_OF_THE_VALLEY)); + self::register("lily_pad", $factory->fromTypeId(Ids::LILY_PAD)); + self::register("lit_pumpkin", $factory->fromTypeId(Ids::LIT_PUMPKIN)); + self::register("loom", $factory->fromTypeId(Ids::LOOM)); + self::register("magma", $factory->fromTypeId(Ids::MAGMA)); + self::register("mangrove_button", $factory->fromTypeId(Ids::MANGROVE_BUTTON)); + self::register("mangrove_door", $factory->fromTypeId(Ids::MANGROVE_DOOR)); + self::register("mangrove_fence", $factory->fromTypeId(Ids::MANGROVE_FENCE)); + self::register("mangrove_fence_gate", $factory->fromTypeId(Ids::MANGROVE_FENCE_GATE)); + self::register("mangrove_log", $factory->fromTypeId(Ids::MANGROVE_LOG)); + self::register("mangrove_planks", $factory->fromTypeId(Ids::MANGROVE_PLANKS)); + self::register("mangrove_pressure_plate", $factory->fromTypeId(Ids::MANGROVE_PRESSURE_PLATE)); + self::register("mangrove_slab", $factory->fromTypeId(Ids::MANGROVE_SLAB)); + self::register("mangrove_stairs", $factory->fromTypeId(Ids::MANGROVE_STAIRS)); + self::register("mangrove_trapdoor", $factory->fromTypeId(Ids::MANGROVE_TRAPDOOR)); + self::register("mangrove_wood", $factory->fromTypeId(Ids::MANGROVE_WOOD)); + self::register("material_reducer", $factory->fromTypeId(Ids::MATERIAL_REDUCER)); + self::register("melon", $factory->fromTypeId(Ids::MELON)); + self::register("melon_stem", $factory->fromTypeId(Ids::MELON_STEM)); + self::register("mob_head", $factory->fromTypeId(Ids::MOB_HEAD)); + self::register("monster_spawner", $factory->fromTypeId(Ids::MONSTER_SPAWNER)); + self::register("mossy_cobblestone", $factory->fromTypeId(Ids::MOSSY_COBBLESTONE)); + self::register("mossy_cobblestone_slab", $factory->fromTypeId(Ids::MOSSY_COBBLESTONE_SLAB)); + self::register("mossy_cobblestone_stairs", $factory->fromTypeId(Ids::MOSSY_COBBLESTONE_STAIRS)); + self::register("mossy_cobblestone_wall", $factory->fromTypeId(Ids::MOSSY_COBBLESTONE_WALL)); + self::register("mossy_stone_brick_slab", $factory->fromTypeId(Ids::MOSSY_STONE_BRICK_SLAB)); + self::register("mossy_stone_brick_stairs", $factory->fromTypeId(Ids::MOSSY_STONE_BRICK_STAIRS)); + self::register("mossy_stone_brick_wall", $factory->fromTypeId(Ids::MOSSY_STONE_BRICK_WALL)); + self::register("mossy_stone_bricks", $factory->fromTypeId(Ids::MOSSY_STONE_BRICKS)); + self::register("mushroom_stem", $factory->fromTypeId(Ids::MUSHROOM_STEM)); + self::register("mycelium", $factory->fromTypeId(Ids::MYCELIUM)); + self::register("nether_brick_fence", $factory->fromTypeId(Ids::NETHER_BRICK_FENCE)); + self::register("nether_brick_slab", $factory->fromTypeId(Ids::NETHER_BRICK_SLAB)); + self::register("nether_brick_stairs", $factory->fromTypeId(Ids::NETHER_BRICK_STAIRS)); + self::register("nether_brick_wall", $factory->fromTypeId(Ids::NETHER_BRICK_WALL)); + self::register("nether_bricks", $factory->fromTypeId(Ids::NETHER_BRICKS)); + self::register("nether_portal", $factory->fromTypeId(Ids::NETHER_PORTAL)); + self::register("nether_quartz_ore", $factory->fromTypeId(Ids::NETHER_QUARTZ_ORE)); + self::register("nether_reactor_core", $factory->fromTypeId(Ids::NETHER_REACTOR_CORE)); + self::register("nether_wart", $factory->fromTypeId(Ids::NETHER_WART)); + self::register("nether_wart_block", $factory->fromTypeId(Ids::NETHER_WART_BLOCK)); + self::register("netherrack", $factory->fromTypeId(Ids::NETHERRACK)); + self::register("note_block", $factory->fromTypeId(Ids::NOTE_BLOCK)); + self::register("oak_button", $factory->fromTypeId(Ids::OAK_BUTTON)); + self::register("oak_door", $factory->fromTypeId(Ids::OAK_DOOR)); + self::register("oak_fence", $factory->fromTypeId(Ids::OAK_FENCE)); + self::register("oak_fence_gate", $factory->fromTypeId(Ids::OAK_FENCE_GATE)); + self::register("oak_leaves", $factory->fromTypeId(Ids::OAK_LEAVES)); + self::register("oak_log", $factory->fromTypeId(Ids::OAK_LOG)); + self::register("oak_planks", $factory->fromTypeId(Ids::OAK_PLANKS)); + self::register("oak_pressure_plate", $factory->fromTypeId(Ids::OAK_PRESSURE_PLATE)); + self::register("oak_sapling", $factory->fromTypeId(Ids::OAK_SAPLING)); + self::register("oak_sign", $factory->fromTypeId(Ids::OAK_SIGN)); + self::register("oak_slab", $factory->fromTypeId(Ids::OAK_SLAB)); + self::register("oak_stairs", $factory->fromTypeId(Ids::OAK_STAIRS)); + self::register("oak_trapdoor", $factory->fromTypeId(Ids::OAK_TRAPDOOR)); + self::register("oak_wall_sign", $factory->fromTypeId(Ids::OAK_WALL_SIGN)); + self::register("oak_wood", $factory->fromTypeId(Ids::OAK_WOOD)); + self::register("obsidian", $factory->fromTypeId(Ids::OBSIDIAN)); + self::register("orange_tulip", $factory->fromTypeId(Ids::ORANGE_TULIP)); + self::register("oxeye_daisy", $factory->fromTypeId(Ids::OXEYE_DAISY)); + self::register("packed_ice", $factory->fromTypeId(Ids::PACKED_ICE)); + self::register("peony", $factory->fromTypeId(Ids::PEONY)); + self::register("pink_tulip", $factory->fromTypeId(Ids::PINK_TULIP)); + self::register("podzol", $factory->fromTypeId(Ids::PODZOL)); + self::register("polished_andesite", $factory->fromTypeId(Ids::POLISHED_ANDESITE)); + self::register("polished_andesite_slab", $factory->fromTypeId(Ids::POLISHED_ANDESITE_SLAB)); + self::register("polished_andesite_stairs", $factory->fromTypeId(Ids::POLISHED_ANDESITE_STAIRS)); + self::register("polished_basalt", $factory->fromTypeId(Ids::POLISHED_BASALT)); + self::register("polished_blackstone", $factory->fromTypeId(Ids::POLISHED_BLACKSTONE)); + self::register("polished_blackstone_brick_slab", $factory->fromTypeId(Ids::POLISHED_BLACKSTONE_BRICK_SLAB)); + self::register("polished_blackstone_brick_stairs", $factory->fromTypeId(Ids::POLISHED_BLACKSTONE_BRICK_STAIRS)); + self::register("polished_blackstone_brick_wall", $factory->fromTypeId(Ids::POLISHED_BLACKSTONE_BRICK_WALL)); + self::register("polished_blackstone_bricks", $factory->fromTypeId(Ids::POLISHED_BLACKSTONE_BRICKS)); + self::register("polished_blackstone_button", $factory->fromTypeId(Ids::POLISHED_BLACKSTONE_BUTTON)); + self::register("polished_blackstone_pressure_plate", $factory->fromTypeId(Ids::POLISHED_BLACKSTONE_PRESSURE_PLATE)); + self::register("polished_blackstone_slab", $factory->fromTypeId(Ids::POLISHED_BLACKSTONE_SLAB)); + self::register("polished_blackstone_stairs", $factory->fromTypeId(Ids::POLISHED_BLACKSTONE_STAIRS)); + self::register("polished_blackstone_wall", $factory->fromTypeId(Ids::POLISHED_BLACKSTONE_WALL)); + self::register("polished_deepslate", $factory->fromTypeId(Ids::POLISHED_DEEPSLATE)); + self::register("polished_deepslate_slab", $factory->fromTypeId(Ids::POLISHED_DEEPSLATE_SLAB)); + self::register("polished_deepslate_stairs", $factory->fromTypeId(Ids::POLISHED_DEEPSLATE_STAIRS)); + self::register("polished_deepslate_wall", $factory->fromTypeId(Ids::POLISHED_DEEPSLATE_WALL)); + self::register("polished_diorite", $factory->fromTypeId(Ids::POLISHED_DIORITE)); + self::register("polished_diorite_slab", $factory->fromTypeId(Ids::POLISHED_DIORITE_SLAB)); + self::register("polished_diorite_stairs", $factory->fromTypeId(Ids::POLISHED_DIORITE_STAIRS)); + self::register("polished_granite", $factory->fromTypeId(Ids::POLISHED_GRANITE)); + self::register("polished_granite_slab", $factory->fromTypeId(Ids::POLISHED_GRANITE_SLAB)); + self::register("polished_granite_stairs", $factory->fromTypeId(Ids::POLISHED_GRANITE_STAIRS)); + self::register("poppy", $factory->fromTypeId(Ids::POPPY)); + self::register("potatoes", $factory->fromTypeId(Ids::POTATOES)); + self::register("powered_rail", $factory->fromTypeId(Ids::POWERED_RAIL)); + self::register("prismarine", $factory->fromTypeId(Ids::PRISMARINE)); + self::register("prismarine_bricks", $factory->fromTypeId(Ids::PRISMARINE_BRICKS)); + self::register("prismarine_bricks_slab", $factory->fromTypeId(Ids::PRISMARINE_BRICKS_SLAB)); + self::register("prismarine_bricks_stairs", $factory->fromTypeId(Ids::PRISMARINE_BRICKS_STAIRS)); + self::register("prismarine_slab", $factory->fromTypeId(Ids::PRISMARINE_SLAB)); + self::register("prismarine_stairs", $factory->fromTypeId(Ids::PRISMARINE_STAIRS)); + self::register("prismarine_wall", $factory->fromTypeId(Ids::PRISMARINE_WALL)); + self::register("pumpkin", $factory->fromTypeId(Ids::PUMPKIN)); + self::register("pumpkin_stem", $factory->fromTypeId(Ids::PUMPKIN_STEM)); + self::register("purple_torch", $factory->fromTypeId(Ids::PURPLE_TORCH)); + self::register("purpur", $factory->fromTypeId(Ids::PURPUR)); + self::register("purpur_pillar", $factory->fromTypeId(Ids::PURPUR_PILLAR)); + self::register("purpur_slab", $factory->fromTypeId(Ids::PURPUR_SLAB)); + self::register("purpur_stairs", $factory->fromTypeId(Ids::PURPUR_STAIRS)); + self::register("quartz", $factory->fromTypeId(Ids::QUARTZ)); + self::register("quartz_bricks", $factory->fromTypeId(Ids::QUARTZ_BRICKS)); + self::register("quartz_pillar", $factory->fromTypeId(Ids::QUARTZ_PILLAR)); + self::register("quartz_slab", $factory->fromTypeId(Ids::QUARTZ_SLAB)); + self::register("quartz_stairs", $factory->fromTypeId(Ids::QUARTZ_STAIRS)); + self::register("rail", $factory->fromTypeId(Ids::RAIL)); + self::register("raw_copper", $factory->fromTypeId(Ids::RAW_COPPER)); + self::register("raw_gold", $factory->fromTypeId(Ids::RAW_GOLD)); + self::register("raw_iron", $factory->fromTypeId(Ids::RAW_IRON)); + self::register("red_mushroom", $factory->fromTypeId(Ids::RED_MUSHROOM)); + self::register("red_mushroom_block", $factory->fromTypeId(Ids::RED_MUSHROOM_BLOCK)); + self::register("red_nether_brick_slab", $factory->fromTypeId(Ids::RED_NETHER_BRICK_SLAB)); + self::register("red_nether_brick_stairs", $factory->fromTypeId(Ids::RED_NETHER_BRICK_STAIRS)); + self::register("red_nether_brick_wall", $factory->fromTypeId(Ids::RED_NETHER_BRICK_WALL)); + self::register("red_nether_bricks", $factory->fromTypeId(Ids::RED_NETHER_BRICKS)); + self::register("red_sand", $factory->fromTypeId(Ids::RED_SAND)); + self::register("red_sandstone", $factory->fromTypeId(Ids::RED_SANDSTONE)); + self::register("red_sandstone_slab", $factory->fromTypeId(Ids::RED_SANDSTONE_SLAB)); + self::register("red_sandstone_stairs", $factory->fromTypeId(Ids::RED_SANDSTONE_STAIRS)); + self::register("red_sandstone_wall", $factory->fromTypeId(Ids::RED_SANDSTONE_WALL)); + self::register("red_torch", $factory->fromTypeId(Ids::RED_TORCH)); + self::register("red_tulip", $factory->fromTypeId(Ids::RED_TULIP)); + self::register("redstone", $factory->fromTypeId(Ids::REDSTONE)); + self::register("redstone_comparator", $factory->fromTypeId(Ids::REDSTONE_COMPARATOR)); + self::register("redstone_lamp", $factory->fromTypeId(Ids::REDSTONE_LAMP)); + self::register("redstone_ore", $factory->fromTypeId(Ids::REDSTONE_ORE)); + self::register("redstone_repeater", $factory->fromTypeId(Ids::REDSTONE_REPEATER)); + self::register("redstone_torch", $factory->fromTypeId(Ids::REDSTONE_TORCH)); + self::register("redstone_wire", $factory->fromTypeId(Ids::REDSTONE_WIRE)); + self::register("reserved6", $factory->fromTypeId(Ids::RESERVED6)); + self::register("rose_bush", $factory->fromTypeId(Ids::ROSE_BUSH)); + self::register("sand", $factory->fromTypeId(Ids::SAND)); + self::register("sandstone", $factory->fromTypeId(Ids::SANDSTONE)); + self::register("sandstone_slab", $factory->fromTypeId(Ids::SANDSTONE_SLAB)); + self::register("sandstone_stairs", $factory->fromTypeId(Ids::SANDSTONE_STAIRS)); + self::register("sandstone_wall", $factory->fromTypeId(Ids::SANDSTONE_WALL)); + self::register("sea_lantern", $factory->fromTypeId(Ids::SEA_LANTERN)); + self::register("sea_pickle", $factory->fromTypeId(Ids::SEA_PICKLE)); + self::register("shulker_box", $factory->fromTypeId(Ids::SHULKER_BOX)); + self::register("slime", $factory->fromTypeId(Ids::SLIME)); + self::register("smoker", $factory->fromTypeId(Ids::SMOKER)); + self::register("smooth_basalt", $factory->fromTypeId(Ids::SMOOTH_BASALT)); + self::register("smooth_quartz", $factory->fromTypeId(Ids::SMOOTH_QUARTZ)); + self::register("smooth_quartz_slab", $factory->fromTypeId(Ids::SMOOTH_QUARTZ_SLAB)); + self::register("smooth_quartz_stairs", $factory->fromTypeId(Ids::SMOOTH_QUARTZ_STAIRS)); + self::register("smooth_red_sandstone", $factory->fromTypeId(Ids::SMOOTH_RED_SANDSTONE)); + self::register("smooth_red_sandstone_slab", $factory->fromTypeId(Ids::SMOOTH_RED_SANDSTONE_SLAB)); + self::register("smooth_red_sandstone_stairs", $factory->fromTypeId(Ids::SMOOTH_RED_SANDSTONE_STAIRS)); + self::register("smooth_sandstone", $factory->fromTypeId(Ids::SMOOTH_SANDSTONE)); + self::register("smooth_sandstone_slab", $factory->fromTypeId(Ids::SMOOTH_SANDSTONE_SLAB)); + self::register("smooth_sandstone_stairs", $factory->fromTypeId(Ids::SMOOTH_SANDSTONE_STAIRS)); + self::register("smooth_stone", $factory->fromTypeId(Ids::SMOOTH_STONE)); + self::register("smooth_stone_slab", $factory->fromTypeId(Ids::SMOOTH_STONE_SLAB)); + self::register("snow", $factory->fromTypeId(Ids::SNOW)); + self::register("snow_layer", $factory->fromTypeId(Ids::SNOW_LAYER)); + self::register("soul_fire", $factory->fromTypeId(Ids::SOUL_FIRE)); + self::register("soul_sand", $factory->fromTypeId(Ids::SOUL_SAND)); + self::register("sponge", $factory->fromTypeId(Ids::SPONGE)); + self::register("spruce_button", $factory->fromTypeId(Ids::SPRUCE_BUTTON)); + self::register("spruce_door", $factory->fromTypeId(Ids::SPRUCE_DOOR)); + self::register("spruce_fence", $factory->fromTypeId(Ids::SPRUCE_FENCE)); + self::register("spruce_fence_gate", $factory->fromTypeId(Ids::SPRUCE_FENCE_GATE)); + self::register("spruce_leaves", $factory->fromTypeId(Ids::SPRUCE_LEAVES)); + self::register("spruce_log", $factory->fromTypeId(Ids::SPRUCE_LOG)); + self::register("spruce_planks", $factory->fromTypeId(Ids::SPRUCE_PLANKS)); + self::register("spruce_pressure_plate", $factory->fromTypeId(Ids::SPRUCE_PRESSURE_PLATE)); + self::register("spruce_sapling", $factory->fromTypeId(Ids::SPRUCE_SAPLING)); + self::register("spruce_sign", $factory->fromTypeId(Ids::SPRUCE_SIGN)); + self::register("spruce_slab", $factory->fromTypeId(Ids::SPRUCE_SLAB)); + self::register("spruce_stairs", $factory->fromTypeId(Ids::SPRUCE_STAIRS)); + self::register("spruce_trapdoor", $factory->fromTypeId(Ids::SPRUCE_TRAPDOOR)); + self::register("spruce_wall_sign", $factory->fromTypeId(Ids::SPRUCE_WALL_SIGN)); + self::register("spruce_wood", $factory->fromTypeId(Ids::SPRUCE_WOOD)); + self::register("stained_clay", $factory->fromTypeId(Ids::STAINED_CLAY)); + self::register("stained_glass", $factory->fromTypeId(Ids::STAINED_GLASS)); + self::register("stained_glass_pane", $factory->fromTypeId(Ids::STAINED_GLASS_PANE)); + self::register("stained_hardened_glass", $factory->fromTypeId(Ids::STAINED_HARDENED_GLASS)); + self::register("stained_hardened_glass_pane", $factory->fromTypeId(Ids::STAINED_HARDENED_GLASS_PANE)); + self::register("stone", $factory->fromTypeId(Ids::STONE)); + self::register("stone_brick_slab", $factory->fromTypeId(Ids::STONE_BRICK_SLAB)); + self::register("stone_brick_stairs", $factory->fromTypeId(Ids::STONE_BRICK_STAIRS)); + self::register("stone_brick_wall", $factory->fromTypeId(Ids::STONE_BRICK_WALL)); + self::register("stone_bricks", $factory->fromTypeId(Ids::STONE_BRICKS)); + self::register("stone_button", $factory->fromTypeId(Ids::STONE_BUTTON)); + self::register("stone_pressure_plate", $factory->fromTypeId(Ids::STONE_PRESSURE_PLATE)); + self::register("stone_slab", $factory->fromTypeId(Ids::STONE_SLAB)); + self::register("stone_stairs", $factory->fromTypeId(Ids::STONE_STAIRS)); + self::register("stonecutter", $factory->fromTypeId(Ids::STONECUTTER)); + self::register("sugarcane", $factory->fromTypeId(Ids::SUGARCANE)); + self::register("sunflower", $factory->fromTypeId(Ids::SUNFLOWER)); + self::register("sweet_berry_bush", $factory->fromTypeId(Ids::SWEET_BERRY_BUSH)); + self::register("tall_grass", $factory->fromTypeId(Ids::TALL_GRASS)); + self::register("tnt", $factory->fromTypeId(Ids::TNT)); + self::register("torch", $factory->fromTypeId(Ids::TORCH)); + self::register("trapped_chest", $factory->fromTypeId(Ids::TRAPPED_CHEST)); + self::register("tripwire", $factory->fromTypeId(Ids::TRIPWIRE)); + self::register("tripwire_hook", $factory->fromTypeId(Ids::TRIPWIRE_HOOK)); + self::register("underwater_torch", $factory->fromTypeId(Ids::UNDERWATER_TORCH)); + self::register("vines", $factory->fromTypeId(Ids::VINES)); + self::register("wall_banner", $factory->fromTypeId(Ids::WALL_BANNER)); + self::register("wall_coral_fan", $factory->fromTypeId(Ids::WALL_CORAL_FAN)); + self::register("warped_button", $factory->fromTypeId(Ids::WARPED_BUTTON)); + self::register("warped_door", $factory->fromTypeId(Ids::WARPED_DOOR)); + self::register("warped_fence", $factory->fromTypeId(Ids::WARPED_FENCE)); + self::register("warped_fence_gate", $factory->fromTypeId(Ids::WARPED_FENCE_GATE)); + self::register("warped_hyphae", $factory->fromTypeId(Ids::WARPED_HYPHAE)); + self::register("warped_planks", $factory->fromTypeId(Ids::WARPED_PLANKS)); + self::register("warped_pressure_plate", $factory->fromTypeId(Ids::WARPED_PRESSURE_PLATE)); + self::register("warped_slab", $factory->fromTypeId(Ids::WARPED_SLAB)); + self::register("warped_stairs", $factory->fromTypeId(Ids::WARPED_STAIRS)); + self::register("warped_stem", $factory->fromTypeId(Ids::WARPED_STEM)); + self::register("warped_trapdoor", $factory->fromTypeId(Ids::WARPED_TRAPDOOR)); + self::register("water", $factory->fromTypeId(Ids::WATER)); + self::register("weighted_pressure_plate_heavy", $factory->fromTypeId(Ids::WEIGHTED_PRESSURE_PLATE_HEAVY)); + self::register("weighted_pressure_plate_light", $factory->fromTypeId(Ids::WEIGHTED_PRESSURE_PLATE_LIGHT)); + self::register("wheat", $factory->fromTypeId(Ids::WHEAT)); + self::register("white_tulip", $factory->fromTypeId(Ids::WHITE_TULIP)); + self::register("wool", $factory->fromTypeId(Ids::WOOL)); } } diff --git a/src/item/ItemBlock.php b/src/item/ItemBlock.php index ad4311a38..c36b78608 100644 --- a/src/item/ItemBlock.php +++ b/src/item/ItemBlock.php @@ -45,10 +45,11 @@ final class ItemBlock extends Item{ public function getBlock(?int $clickedFace = null) : Block{ //TODO: HACKY MESS, CLEAN IT UP - $blockType = BlockFactory::getInstance()->fromTypeId($this->blockTypeId); - if($blockType === null){ + $factory = BlockFactory::getInstance(); + if(!$factory->isRegistered($this->blockTypeId)){ return VanillaBlocks::AIR(); } + $blockType = BlockFactory::getInstance()->fromTypeId($this->blockTypeId); $blockType->decodeTypeData($this->blockTypeData); return $blockType; }