PocketMine-MP 5.16.1 git-585aee9386a787c95e73dd0a05ffca8329606b68
StringToItemParser.php
1<?php
2
3/*
4 *
5 * ____ _ _ __ __ _ __ __ ____
6 * | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
7 * | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
8 * | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
9 * |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
10 *
11 * This program is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License as published by
13 * the Free Software Foundation, either version 3 of the License, or
14 * (at your option) any later version.
15 *
16 * @author PocketMine Team
17 * @link http://www.pocketmine.net/
18 *
19 *
20 */
21
22declare(strict_types=1);
23
24namespace pocketmine\item;
25
29use pocketmine\block\utils\CopperOxidation;
30use pocketmine\block\utils\CoralType;
31use pocketmine\block\utils\DirtType;
32use pocketmine\block\utils\DyeColor;
33use pocketmine\block\utils\FroglightType;
34use pocketmine\block\utils\MobHeadType;
35use pocketmine\block\utils\SlabType;
38use pocketmine\utils\SingletonTrait;
40use function array_keys;
41use function strtolower;
42
49 use SingletonTrait;
50
51 private static function make() : self{
52 $result = new self();
53
54 self::registerDynamicBlocks($result);
55 self::registerBlocks($result);
56 self::registerDynamicItems($result);
57 self::registerItems($result);
58
59 return $result;
60 }
61
62 private static function registerDynamicBlocks(self $result) : void{
63 foreach(DyeColor::cases() as $color){
64 $register = fn(string $name, \Closure $callback) => $result->registerBlock(strtolower($color->name) . "_" . $name, $callback);
65 //wall and floor banner are the same item
66 $register("banner", fn() => Blocks::BANNER()->setColor($color));
67 $register("bed", fn() => Blocks::BED()->setColor($color));
68 $register("candle", fn() => Blocks::DYED_CANDLE()->setColor($color));
69 $register("carpet", fn() => Blocks::CARPET()->setColor($color));
70 $register("concrete", fn() => Blocks::CONCRETE()->setColor($color));
71 $register("concrete_powder", fn() => Blocks::CONCRETE_POWDER()->setColor($color));
72 $register("glazed_terracotta", fn() => Blocks::GLAZED_TERRACOTTA()->setColor($color));
73 $register("stained_clay", fn() => Blocks::STAINED_CLAY()->setColor($color));
74 $register("stained_glass", fn() => Blocks::STAINED_GLASS()->setColor($color));
75 $register("stained_glass_pane", fn() => Blocks::STAINED_GLASS_PANE()->setColor($color));
76 $register("stained_hardened_glass", fn() => Blocks::STAINED_HARDENED_GLASS()->setColor($color));
77 $register("stained_hardened_glass_pane", fn() => Blocks::STAINED_HARDENED_GLASS_PANE()->setColor($color));
78 $register("wool", fn() => Blocks::WOOL()->setColor($color));
79 $register("shulker_box", fn() => Blocks::DYED_SHULKER_BOX()->setColor($color));
80 }
81
82 foreach(CoralType::cases() as $coralType){
83 $register = fn(string $name, \Closure $callback) => $result->registerBlock(strtolower($coralType->name) . "_" . $name, $callback);
84 $register("coral", fn() => Blocks::CORAL()->setCoralType($coralType));
85 $register("coral_block", fn() => Blocks::CORAL_BLOCK()->setCoralType($coralType));
86 //wall and floor coral fans are the same item
87 $register("coral_fan", fn() => Blocks::CORAL_FAN()->setCoralType($coralType));
88 }
89 for($i = Light::MIN_LIGHT_LEVEL; $i <= Light::MAX_LIGHT_LEVEL; $i++){
90 //helper aliases, since we don't support passing data values in /give
91 $result->registerBlock("light_$i", fn() => Blocks::LIGHT()->setLightLevel($i));
92 $result->registerBlock("light_block_$i", fn() => Blocks::LIGHT()->setLightLevel($i));
93 }
94
95 foreach(CopperOxidation::cases() as $oxidation){
96 $oxPrefix = $oxidation === CopperOxidation::NONE ? "" : strtolower($oxidation->name) . "_";
97
98 foreach(["" => false, "waxed_" => true] as $waxedPrefix => $waxed){
99 $register = fn(string $name, \Closure $callback) => $result->registerBlock($waxedPrefix . $oxPrefix . $name, $callback);
100 $register("copper_block", fn() => Blocks::COPPER()->setOxidation($oxidation)->setWaxed($waxed));
101 $register("cut_copper_block", fn() => Blocks::CUT_COPPER()->setOxidation($oxidation)->setWaxed($waxed));
102 $register("cut_copper_stairs", fn() => Blocks::CUT_COPPER_STAIRS()->setOxidation($oxidation)->setWaxed($waxed));
103 $register("cut_copper_slab", fn() => Blocks::CUT_COPPER_SLAB()->setOxidation($oxidation)->setWaxed($waxed));
104 }
105 }
106
107 foreach(FroglightType::cases() as $froglightType){
108 $result->registerBlock(strtolower($froglightType->name) . "_froglight", fn() => Blocks::FROGLIGHT()->setFroglightType($froglightType));
109 }
110 }
111
112 private static function registerBlocks(self $result) : void{
113 $result->registerBlock("acacia_button", fn() => Blocks::ACACIA_BUTTON());
114 $result->registerBlock("acacia_door", fn() => Blocks::ACACIA_DOOR());
115 $result->registerBlock("acacia_door_block", fn() => Blocks::ACACIA_DOOR());
116 $result->registerBlock("acacia_fence", fn() => Blocks::ACACIA_FENCE());
117 $result->registerBlock("acacia_fence_gate", fn() => Blocks::ACACIA_FENCE_GATE());
118 $result->registerBlock("acacia_leaves", fn() => Blocks::ACACIA_LEAVES());
119 $result->registerBlock("acacia_log", fn() => Blocks::ACACIA_LOG()->setStripped(false));
120 $result->registerBlock("acacia_planks", fn() => Blocks::ACACIA_PLANKS());
121 $result->registerBlock("acacia_pressure_plate", fn() => Blocks::ACACIA_PRESSURE_PLATE());
122 $result->registerBlock("acacia_sapling", fn() => Blocks::ACACIA_SAPLING());
123 $result->registerBlock("acacia_sign", fn() => Blocks::ACACIA_SIGN());
124 $result->registerBlock("acacia_slab", fn() => Blocks::ACACIA_SLAB());
125 $result->registerBlock("acacia_stairs", fn() => Blocks::ACACIA_STAIRS());
126 $result->registerBlock("acacia_standing_sign", fn() => Blocks::ACACIA_SIGN());
127 $result->registerBlock("acacia_trapdoor", fn() => Blocks::ACACIA_TRAPDOOR());
128 $result->registerBlock("acacia_wall_sign", fn() => Blocks::ACACIA_WALL_SIGN());
129 $result->registerBlock("acacia_wood", fn() => Blocks::ACACIA_WOOD()->setStripped(false));
130 $result->registerBlock("acacia_wood_stairs", fn() => Blocks::ACACIA_STAIRS());
131 $result->registerBlock("acacia_wooden_stairs", fn() => Blocks::ACACIA_STAIRS());
132 $result->registerBlock("activator_rail", fn() => Blocks::ACTIVATOR_RAIL());
133 $result->registerBlock("active_redstone_lamp", fn() => Blocks::REDSTONE_LAMP()->setPowered(true));
134 $result->registerBlock("air", fn() => Blocks::AIR());
135 $result->registerBlock("all_sided_mushroom_stem", fn() => Blocks::ALL_SIDED_MUSHROOM_STEM());
136 $result->registerBlock("allium", fn() => Blocks::ALLIUM());
137 $result->registerBlock("amethyst_block", fn() => Blocks::AMETHYST());
138 $result->registerBlock("amethyst_cluster", fn() => Blocks::AMETHYST_CLUSTER());
139 $result->registerBlock("ancient_debris", fn() => Blocks::ANCIENT_DEBRIS());
140 $result->registerBlock("andesite", fn() => Blocks::ANDESITE());
141 $result->registerBlock("andesite_slab", fn() => Blocks::ANDESITE_SLAB());
142 $result->registerBlock("andesite_stairs", fn() => Blocks::ANDESITE_STAIRS());
143 $result->registerBlock("andesite_wall", fn() => Blocks::ANDESITE_WALL());
144 $result->registerBlock("anvil", fn() => Blocks::ANVIL());
145 $result->registerBlock("ateupd_block", fn() => Blocks::INFO_UPDATE2());
146 $result->registerBlock("azalea_leaves", fn() => Blocks::AZALEA_LEAVES());
147 $result->registerBlock("azure_bluet", fn() => Blocks::AZURE_BLUET());
148 $result->registerBlock("bamboo", fn() => Blocks::BAMBOO());
149 $result->registerBlock("bamboo_sapling", fn() => Blocks::BAMBOO_SAPLING());
150 $result->registerBlock("banner", fn() => Blocks::BANNER());
151 $result->registerBlock("barrel", fn() => Blocks::BARREL());
152 $result->registerBlock("barrier", fn() => Blocks::BARRIER());
153 $result->registerBlock("basalt", fn() => Blocks::BASALT());
154 $result->registerBlock("beacon", fn() => Blocks::BEACON());
155 $result->registerBlock("bed", fn() => Blocks::BED());
156 $result->registerBlock("bed_block", fn() => Blocks::BED());
157 $result->registerBlock("bedrock", fn() => Blocks::BEDROCK());
158 $result->registerBlock("beetroot_block", fn() => Blocks::BEETROOTS());
159 $result->registerBlock("beetroots", fn() => Blocks::BEETROOTS());
160 $result->registerBlock("bell", fn() => Blocks::BELL());
161 $result->registerBlock("big_dripleaf", fn() => Blocks::BIG_DRIPLEAF_HEAD());
162 $result->registerBlock("birch_button", fn() => Blocks::BIRCH_BUTTON());
163 $result->registerBlock("birch_door", fn() => Blocks::BIRCH_DOOR());
164 $result->registerBlock("birch_door_block", fn() => Blocks::BIRCH_DOOR());
165 $result->registerBlock("birch_fence", fn() => Blocks::BIRCH_FENCE());
166 $result->registerBlock("birch_fence_gate", fn() => Blocks::BIRCH_FENCE_GATE());
167 $result->registerBlock("birch_leaves", fn() => Blocks::BIRCH_LEAVES());
168 $result->registerBlock("birch_log", fn() => Blocks::BIRCH_LOG()->setStripped(false));
169 $result->registerBlock("birch_planks", fn() => Blocks::BIRCH_PLANKS());
170 $result->registerBlock("birch_pressure_plate", fn() => Blocks::BIRCH_PRESSURE_PLATE());
171 $result->registerBlock("birch_sapling", fn() => Blocks::BIRCH_SAPLING());
172 $result->registerBlock("birch_sign", fn() => Blocks::BIRCH_SIGN());
173 $result->registerBlock("birch_slab", fn() => Blocks::BIRCH_SLAB());
174 $result->registerBlock("birch_stairs", fn() => Blocks::BIRCH_STAIRS());
175 $result->registerBlock("birch_standing_sign", fn() => Blocks::BIRCH_SIGN());
176 $result->registerBlock("birch_trapdoor", fn() => Blocks::BIRCH_TRAPDOOR());
177 $result->registerBlock("birch_wall_sign", fn() => Blocks::BIRCH_WALL_SIGN());
178 $result->registerBlock("birch_wood", fn() => Blocks::BIRCH_WOOD()->setStripped(false));
179 $result->registerBlock("birch_wood_stairs", fn() => Blocks::BIRCH_STAIRS());
180 $result->registerBlock("birch_wooden_stairs", fn() => Blocks::BIRCH_STAIRS());
181 $result->registerBlock("blackstone", fn() => Blocks::BLACKSTONE());
182 $result->registerBlock("blackstone_slab", fn() => Blocks::BLACKSTONE_SLAB());
183 $result->registerBlock("blackstone_stairs", fn() => Blocks::BLACKSTONE_STAIRS());
184 $result->registerBlock("blackstone_wall", fn() => Blocks::BLACKSTONE_WALL());
185 $result->registerBlock("blast_furnace", fn() => Blocks::BLAST_FURNACE());
186 $result->registerBlock("blue_ice", fn() => Blocks::BLUE_ICE());
187 $result->registerBlock("blue_orchid", fn() => Blocks::BLUE_ORCHID());
188 $result->registerBlock("blue_torch", fn() => Blocks::BLUE_TORCH());
189 $result->registerBlock("bone_block", fn() => Blocks::BONE_BLOCK());
190 $result->registerBlock("bookshelf", fn() => Blocks::BOOKSHELF());
191 $result->registerBlock("brewing_stand", fn() => Blocks::BREWING_STAND());
192 $result->registerBlock("brewing_stand_block", fn() => Blocks::BREWING_STAND());
193 $result->registerBlock("brick_block", fn() => Blocks::BRICKS());
194 $result->registerBlock("brick_slab", fn() => Blocks::BRICK_SLAB());
195 $result->registerBlock("brick_stairs", fn() => Blocks::BRICK_STAIRS());
196 $result->registerBlock("brick_wall", fn() => Blocks::BRICK_WALL());
197 $result->registerBlock("bricks", fn() => Blocks::BRICKS());
198 $result->registerBlock("bricks_block", fn() => Blocks::BRICKS());
199 $result->registerBlock("brown_mushroom", fn() => Blocks::BROWN_MUSHROOM());
200 $result->registerBlock("brown_mushroom_block", fn() => Blocks::BROWN_MUSHROOM_BLOCK());
201 $result->registerBlock("budding_amethyst", fn() => Blocks::BUDDING_AMETHYST());
202 $result->registerBlock("burning_furnace", fn() => Blocks::FURNACE());
203 $result->registerBlock("bush", fn() => Blocks::DEAD_BUSH());
204 $result->registerBlock("cactus", fn() => Blocks::CACTUS());
205 $result->registerBlock("cake", fn() => Blocks::CAKE());
206 $result->registerBlock("cake_block", fn() => Blocks::CAKE());
207 $result->registerBlock("calcite", fn() => Blocks::CALCITE());
208 $result->registerBlock("candle", fn() => Blocks::CANDLE());
209 $result->registerBlock("carpet", fn() => Blocks::CARPET());
210 $result->registerBlock("carrot_block", fn() => Blocks::CARROTS());
211 $result->registerBlock("carrots", fn() => Blocks::CARROTS());
212 $result->registerBlock("cartography_table", fn() => Blocks::CARTOGRAPHY_TABLE());
213 $result->registerBlock("carved_pumpkin", fn() => Blocks::CARVED_PUMPKIN());
214 $result->registerBlock("cauldron", fn() => Blocks::CAULDRON());
215 $result->registerBlock("cave_vines", fn() => Blocks::CAVE_VINES());
216 $result->registerBlock("chain", fn() => Blocks::CHAIN());
217 $result->registerBlock("cherry_button", fn() => Blocks::CHERRY_BUTTON());
218 $result->registerBlock("cherry_door", fn() => Blocks::CHERRY_DOOR());
219 $result->registerBlock("cherry_fence", fn() => Blocks::CHERRY_FENCE());
220 $result->registerBlock("cherry_fence_gate", fn() => Blocks::CHERRY_FENCE_GATE());
221 $result->registerBlock("cherry_leaves", fn() => Blocks::CHERRY_LEAVES());
222 $result->registerBlock("cherry_log", fn() => Blocks::CHERRY_LOG());
223 $result->registerBlock("cherry_planks", fn() => Blocks::CHERRY_PLANKS());
224 $result->registerBlock("cherry_pressure_plate", fn() => Blocks::CHERRY_PRESSURE_PLATE());
225 $result->registerBlock("cherry_sign", fn() => Blocks::CHERRY_SIGN());
226 $result->registerBlock("cherry_slab", fn() => Blocks::CHERRY_SLAB());
227 $result->registerBlock("cherry_stairs", fn() => Blocks::CHERRY_STAIRS());
228 $result->registerBlock("cherry_trapdoor", fn() => Blocks::CHERRY_TRAPDOOR());
229 $result->registerBlock("cherry_wood", fn() => Blocks::CHERRY_WOOD());
230 $result->registerBlock("chemical_heat", fn() => Blocks::CHEMICAL_HEAT());
231 $result->registerBlock("chemistry_table", fn() => Blocks::COMPOUND_CREATOR());
232 $result->registerBlock("chest", fn() => Blocks::CHEST());
233 $result->registerBlock("chipped_anvil", fn() => Blocks::ANVIL()->setDamage(1));
234 $result->registerBlock("chiseled_bookshelf", fn() => Blocks::CHISELED_BOOKSHELF());
235 $result->registerBlock("chiseled_deepslate", fn() => Blocks::CHISELED_DEEPSLATE());
236 $result->registerBlock("chiseled_nether_bricks", fn() => Blocks::CHISELED_NETHER_BRICKS());
237 $result->registerBlock("chiseled_polished_blackstone", fn() => Blocks::CHISELED_POLISHED_BLACKSTONE());
238 $result->registerBlock("chiseled_quartz", fn() => Blocks::CHISELED_QUARTZ());
239 $result->registerBlock("chiseled_red_sandstone", fn() => Blocks::CHISELED_RED_SANDSTONE());
240 $result->registerBlock("chiseled_sandstone", fn() => Blocks::CHISELED_SANDSTONE());
241 $result->registerBlock("chiseled_stone_bricks", fn() => Blocks::CHISELED_STONE_BRICKS());
242 $result->registerBlock("chorus_flower", fn() => Blocks::CHORUS_FLOWER());
243 $result->registerBlock("chorus_plant", fn() => Blocks::CHORUS_PLANT());
244 $result->registerBlock("clay_block", fn() => Blocks::CLAY());
245 $result->registerBlock("coal_block", fn() => Blocks::COAL());
246 $result->registerBlock("coal_ore", fn() => Blocks::COAL_ORE());
247 $result->registerBlock("coarse_dirt", fn() => Blocks::DIRT()->setDirtType(DirtType::COARSE));
248 $result->registerBlock("cobble", fn() => Blocks::COBBLESTONE());
249 $result->registerBlock("cobble_stairs", fn() => Blocks::COBBLESTONE_STAIRS());
250 $result->registerBlock("cobble_wall", fn() => Blocks::COBBLESTONE_WALL());
251 $result->registerBlock("cobbled_deepslate", fn() => Blocks::COBBLED_DEEPSLATE());
252 $result->registerBlock("cobbled_deepslate_slab", fn() => Blocks::COBBLED_DEEPSLATE_SLAB());
253 $result->registerBlock("cobbled_deepslate_stairs", fn() => Blocks::COBBLED_DEEPSLATE_STAIRS());
254 $result->registerBlock("cobbled_deepslate_wall", fn() => Blocks::COBBLED_DEEPSLATE_WALL());
255 $result->registerBlock("cobblestone", fn() => Blocks::COBBLESTONE());
256 $result->registerBlock("cobblestone_slab", fn() => Blocks::COBBLESTONE_SLAB());
257 $result->registerBlock("cobblestone_stairs", fn() => Blocks::COBBLESTONE_STAIRS());
258 $result->registerBlock("cobblestone_wall", fn() => Blocks::COBBLESTONE_WALL());
259 $result->registerBlock("cobweb", fn() => Blocks::COBWEB());
260 $result->registerBlock("cocoa", fn() => Blocks::COCOA_POD());
261 $result->registerBlock("cocoa_block", fn() => Blocks::COCOA_POD());
262 $result->registerBlock("cocoa_pod", fn() => Blocks::COCOA_POD());
263 $result->registerBlock("cocoa_pods", fn() => Blocks::COCOA_POD());
264 $result->registerBlock("colored_torch_bp", fn() => Blocks::BLUE_TORCH());
265 $result->registerBlock("colored_torch_rg", fn() => Blocks::RED_TORCH());
266 $result->registerBlock("comparator", fn() => Blocks::REDSTONE_COMPARATOR());
267 $result->registerBlock("comparator_block", fn() => Blocks::REDSTONE_COMPARATOR());
268 $result->registerBlock("compound_creator", fn() => Blocks::COMPOUND_CREATOR());
269 $result->registerBlock("concrete", fn() => Blocks::CONCRETE());
270 $result->registerBlock("concrete_powder", fn() => Blocks::CONCRETE_POWDER());
271 $result->registerBlock("concretepowder", fn() => Blocks::CONCRETE_POWDER());
272 $result->registerBlock("copper_ore", fn() => Blocks::COPPER_ORE());
273 $result->registerBlock("coral", fn() => Blocks::CORAL());
274 $result->registerBlock("coral_block", fn() => Blocks::CORAL_BLOCK());
275 $result->registerBlock("coral_fan", fn() => Blocks::CORAL_FAN());
276 $result->registerBlock("coral_fan_dead", fn() => Blocks::CORAL_FAN()->setCoralType(CoralType::TUBE)->setDead(true));
277 $result->registerBlock("coral_fan_hang", fn() => Blocks::WALL_CORAL_FAN());
278 $result->registerBlock("coral_fan_hang2", fn() => Blocks::WALL_CORAL_FAN()->setCoralType(CoralType::BUBBLE));
279 $result->registerBlock("coral_fan_hang3", fn() => Blocks::WALL_CORAL_FAN()->setCoralType(CoralType::HORN));
280 $result->registerBlock("cornflower", fn() => Blocks::CORNFLOWER());
281 $result->registerBlock("cracked_deepslate_bricks", fn() => Blocks::CRACKED_DEEPSLATE_BRICKS());
282 $result->registerBlock("cracked_deepslate_tiles", fn() => Blocks::CRACKED_DEEPSLATE_TILES());
283 $result->registerBlock("cracked_nether_bricks", fn() => Blocks::CRACKED_NETHER_BRICKS());
284 $result->registerBlock("cracked_polished_blackstone_bricks", fn() => Blocks::CRACKED_POLISHED_BLACKSTONE_BRICKS());
285 $result->registerBlock("cracked_stone_bricks", fn() => Blocks::CRACKED_STONE_BRICKS());
286 $result->registerBlock("crafting_table", fn() => Blocks::CRAFTING_TABLE());
287 $result->registerBlock("creeper_head", fn() => Blocks::MOB_HEAD()->setMobHeadType(MobHeadType::CREEPER));
288 $result->registerBlock("crimson_button", fn() => Blocks::CRIMSON_BUTTON());
289 $result->registerBlock("crimson_door", fn() => Blocks::CRIMSON_DOOR());
290 $result->registerBlock("crimson_fence", fn() => Blocks::CRIMSON_FENCE());
291 $result->registerBlock("crimson_fence_gate", fn() => Blocks::CRIMSON_FENCE_GATE());
292 $result->registerBlock("crimson_hyphae", fn() => Blocks::CRIMSON_HYPHAE()->setStripped(false));
293 $result->registerBlock("crimson_planks", fn() => Blocks::CRIMSON_PLANKS());
294 $result->registerBlock("crimson_pressure_plate", fn() => Blocks::CRIMSON_PRESSURE_PLATE());
295 $result->registerBlock("crimson_roots", fn() => Blocks::CRIMSON_ROOTS());
296 $result->registerBlock("crimson_sign", fn() => Blocks::CRIMSON_SIGN());
297 $result->registerBlock("crimson_slab", fn() => Blocks::CRIMSON_SLAB());
298 $result->registerBlock("crimson_stairs", fn() => Blocks::CRIMSON_STAIRS());
299 $result->registerBlock("crimson_stem", fn() => Blocks::CRIMSON_STEM()->setStripped(false));
300 $result->registerBlock("crimson_trapdoor", fn() => Blocks::CRIMSON_TRAPDOOR());
301 $result->registerBlock("crying_obsidian", fn() => Blocks::CRYING_OBSIDIAN());
302 $result->registerBlock("cut_red_sandstone", fn() => Blocks::CUT_RED_SANDSTONE());
303 $result->registerBlock("cut_red_sandstone_slab", fn() => Blocks::CUT_RED_SANDSTONE_SLAB());
304 $result->registerBlock("cut_sandstone", fn() => Blocks::CUT_SANDSTONE());
305 $result->registerBlock("cut_sandstone_slab", fn() => Blocks::CUT_SANDSTONE_SLAB());
306 $result->registerBlock("damaged_anvil", fn() => Blocks::ANVIL()->setDamage(2));
307 $result->registerBlock("dandelion", fn() => Blocks::DANDELION());
308 $result->registerBlock("dark_oak_button", fn() => Blocks::DARK_OAK_BUTTON());
309 $result->registerBlock("dark_oak_door", fn() => Blocks::DARK_OAK_DOOR());
310 $result->registerBlock("dark_oak_door_block", fn() => Blocks::DARK_OAK_DOOR());
311 $result->registerBlock("dark_oak_fence", fn() => Blocks::DARK_OAK_FENCE());
312 $result->registerBlock("dark_oak_fence_gate", fn() => Blocks::DARK_OAK_FENCE_GATE());
313 $result->registerBlock("dark_oak_leaves", fn() => Blocks::DARK_OAK_LEAVES());
314 $result->registerBlock("dark_oak_log", fn() => Blocks::DARK_OAK_LOG()->setStripped(false));
315 $result->registerBlock("dark_oak_planks", fn() => Blocks::DARK_OAK_PLANKS());
316 $result->registerBlock("dark_oak_pressure_plate", fn() => Blocks::DARK_OAK_PRESSURE_PLATE());
317 $result->registerBlock("dark_oak_sapling", fn() => Blocks::DARK_OAK_SAPLING());
318 $result->registerBlock("dark_oak_sign", fn() => Blocks::DARK_OAK_SIGN());
319 $result->registerBlock("dark_oak_slab", fn() => Blocks::DARK_OAK_SLAB());
320 $result->registerBlock("dark_oak_stairs", fn() => Blocks::DARK_OAK_STAIRS());
321 $result->registerBlock("dark_oak_standing_sign", fn() => Blocks::DARK_OAK_SIGN());
322 $result->registerBlock("dark_oak_trapdoor", fn() => Blocks::DARK_OAK_TRAPDOOR());
323 $result->registerBlock("dark_oak_wall_sign", fn() => Blocks::DARK_OAK_WALL_SIGN());
324 $result->registerBlock("dark_oak_wood", fn() => Blocks::DARK_OAK_WOOD()->setStripped(false));
325 $result->registerBlock("dark_oak_wood_stairs", fn() => Blocks::DARK_OAK_STAIRS());
326 $result->registerBlock("dark_oak_wooden_stairs", fn() => Blocks::DARK_OAK_STAIRS());
327 $result->registerBlock("dark_prismarine", fn() => Blocks::DARK_PRISMARINE());
328 $result->registerBlock("dark_prismarine_slab", fn() => Blocks::DARK_PRISMARINE_SLAB());
329 $result->registerBlock("dark_prismarine_stairs", fn() => Blocks::DARK_PRISMARINE_STAIRS());
330 $result->registerBlock("darkoak_sign", fn() => Blocks::DARK_OAK_SIGN());
331 $result->registerBlock("darkoak_standing_sign", fn() => Blocks::DARK_OAK_SIGN());
332 $result->registerBlock("darkoak_wall_sign", fn() => Blocks::DARK_OAK_WALL_SIGN());
333 $result->registerBlock("daylight_detector", fn() => Blocks::DAYLIGHT_SENSOR());
334 $result->registerBlock("daylight_detector_inverted", fn() => Blocks::DAYLIGHT_SENSOR()->setInverted(true));
335 $result->registerBlock("daylight_sensor", fn() => Blocks::DAYLIGHT_SENSOR());
336 $result->registerBlock("daylight_sensor_inverted", fn() => Blocks::DAYLIGHT_SENSOR()->setInverted(true));
337 $result->registerBlock("dead_bush", fn() => Blocks::DEAD_BUSH());
338 $result->registerBlock("deadbush", fn() => Blocks::DEAD_BUSH());
339 $result->registerBlock("deepslate", fn() => Blocks::DEEPSLATE());
340 $result->registerBlock("deepslate_bricks", fn() => Blocks::DEEPSLATE_BRICKS());
341 $result->registerBlock("deepslate_brick_slab", fn() => Blocks::DEEPSLATE_BRICK_SLAB());
342 $result->registerBlock("deepslate_brick_stairs", fn() => Blocks::DEEPSLATE_BRICK_STAIRS());
343 $result->registerBlock("deepslate_brick_wall", fn() => Blocks::DEEPSLATE_BRICK_WALL());
344 $result->registerBlock("deepslate_tiles", fn() => Blocks::DEEPSLATE_TILES());
345 $result->registerBlock("deepslate_tile_slab", fn() => Blocks::DEEPSLATE_TILE_SLAB());
346 $result->registerBlock("deepslate_tile_stairs", fn() => Blocks::DEEPSLATE_TILE_STAIRS());
347 $result->registerBlock("deepslate_tile_wall", fn() => Blocks::DEEPSLATE_TILE_WALL());
348 $result->registerBlock("deepslate_coal_ore", fn() => Blocks::DEEPSLATE_COAL_ORE());
349 $result->registerBlock("deepslate_copper_ore", fn() => Blocks::DEEPSLATE_COPPER_ORE());
350 $result->registerBlock("deepslate_diamond_ore", fn() => Blocks::DEEPSLATE_DIAMOND_ORE());
351 $result->registerBlock("deepslate_emerald_ore", fn() => Blocks::DEEPSLATE_EMERALD_ORE());
352 $result->registerBlock("deepslate_gold_ore", fn() => Blocks::DEEPSLATE_GOLD_ORE());
353 $result->registerBlock("deepslate_iron_ore", fn() => Blocks::DEEPSLATE_IRON_ORE());
354 $result->registerBlock("deepslate_lapis_lazuli_ore", fn() => Blocks::DEEPSLATE_LAPIS_LAZULI_ORE());
355 $result->registerBlock("deepslate_redstone_ore", fn() => Blocks::DEEPSLATE_REDSTONE_ORE());
356 $result->registerBlock("detector_rail", fn() => Blocks::DETECTOR_RAIL());
357 $result->registerBlock("diamond_block", fn() => Blocks::DIAMOND());
358 $result->registerBlock("diamond_ore", fn() => Blocks::DIAMOND_ORE());
359 $result->registerBlock("diorite", fn() => Blocks::DIORITE());
360 $result->registerBlock("diorite_slab", fn() => Blocks::DIORITE_SLAB());
361 $result->registerBlock("diorite_stairs", fn() => Blocks::DIORITE_STAIRS());
362 $result->registerBlock("diorite_wall", fn() => Blocks::DIORITE_WALL());
363 $result->registerBlock("dirt", fn() => Blocks::DIRT()->setDirtType(DirtType::NORMAL));
364 $result->registerBlock("dirt_with_roots", fn() => Blocks::DIRT()->setDirtType(DirtType::ROOTED));
365 $result->registerBlock("door_block", fn() => Blocks::OAK_DOOR());
366 $result->registerBlock("double_plant", fn() => Blocks::SUNFLOWER());
367 $result->registerBlock("double_red_sandstone_slab", fn() => Blocks::RED_SANDSTONE_SLAB()->setSlabType(SlabType::DOUBLE));
368 $result->registerBlock("double_slab", fn() => Blocks::STONE_SLAB()->setSlabType(SlabType::DOUBLE));
369 $result->registerBlock("double_slabs", fn() => Blocks::STONE_SLAB()->setSlabType(SlabType::DOUBLE));
370 $result->registerBlock("double_stone_slab", fn() => Blocks::STONE_SLAB()->setSlabType(SlabType::DOUBLE));
371 $result->registerBlock("double_stone_slab2", fn() => Blocks::RED_SANDSTONE_SLAB()->setSlabType(SlabType::DOUBLE));
372 $result->registerBlock("double_stone_slab3", fn() => Blocks::END_STONE_BRICK_SLAB()->setSlabType(SlabType::DOUBLE));
373 $result->registerBlock("double_stone_slab4", fn() => Blocks::MOSSY_STONE_BRICK_SLAB()->setSlabType(SlabType::DOUBLE));
374 $result->registerBlock("double_tallgrass", fn() => Blocks::DOUBLE_TALLGRASS());
375 $result->registerBlock("double_wood_slab", fn() => Blocks::OAK_SLAB()->setSlabType(SlabType::DOUBLE));
376 $result->registerBlock("double_wood_slabs", fn() => Blocks::OAK_SLAB()->setSlabType(SlabType::DOUBLE));
377 $result->registerBlock("double_wooden_slab", fn() => Blocks::OAK_SLAB()->setSlabType(SlabType::DOUBLE));
378 $result->registerBlock("double_wooden_slabs", fn() => Blocks::OAK_SLAB()->setSlabType(SlabType::DOUBLE));
379 $result->registerBlock("dragon_egg", fn() => Blocks::DRAGON_EGG());
380 $result->registerBlock("dragon_head", fn() => Blocks::MOB_HEAD()->setMobHeadType(MobHeadType::DRAGON));
381 $result->registerBlock("dried_kelp_block", fn() => Blocks::DRIED_KELP());
382 $result->registerBlock("dyed_shulker_box", fn() => Blocks::DYED_SHULKER_BOX());
383 $result->registerBlock("element_0", fn() => Blocks::ELEMENT_ZERO());
384 $result->registerBlock("element_1", fn() => Blocks::ELEMENT_HYDROGEN());
385 $result->registerBlock("element_10", fn() => Blocks::ELEMENT_NEON());
386 $result->registerBlock("element_100", fn() => Blocks::ELEMENT_FERMIUM());
387 $result->registerBlock("element_101", fn() => Blocks::ELEMENT_MENDELEVIUM());
388 $result->registerBlock("element_102", fn() => Blocks::ELEMENT_NOBELIUM());
389 $result->registerBlock("element_103", fn() => Blocks::ELEMENT_LAWRENCIUM());
390 $result->registerBlock("element_104", fn() => Blocks::ELEMENT_RUTHERFORDIUM());
391 $result->registerBlock("element_105", fn() => Blocks::ELEMENT_DUBNIUM());
392 $result->registerBlock("element_106", fn() => Blocks::ELEMENT_SEABORGIUM());
393 $result->registerBlock("element_107", fn() => Blocks::ELEMENT_BOHRIUM());
394 $result->registerBlock("element_108", fn() => Blocks::ELEMENT_HASSIUM());
395 $result->registerBlock("element_109", fn() => Blocks::ELEMENT_MEITNERIUM());
396 $result->registerBlock("element_11", fn() => Blocks::ELEMENT_SODIUM());
397 $result->registerBlock("element_110", fn() => Blocks::ELEMENT_DARMSTADTIUM());
398 $result->registerBlock("element_111", fn() => Blocks::ELEMENT_ROENTGENIUM());
399 $result->registerBlock("element_112", fn() => Blocks::ELEMENT_COPERNICIUM());
400 $result->registerBlock("element_113", fn() => Blocks::ELEMENT_NIHONIUM());
401 $result->registerBlock("element_114", fn() => Blocks::ELEMENT_FLEROVIUM());
402 $result->registerBlock("element_115", fn() => Blocks::ELEMENT_MOSCOVIUM());
403 $result->registerBlock("element_116", fn() => Blocks::ELEMENT_LIVERMORIUM());
404 $result->registerBlock("element_117", fn() => Blocks::ELEMENT_TENNESSINE());
405 $result->registerBlock("element_118", fn() => Blocks::ELEMENT_OGANESSON());
406 $result->registerBlock("element_12", fn() => Blocks::ELEMENT_MAGNESIUM());
407 $result->registerBlock("element_13", fn() => Blocks::ELEMENT_ALUMINUM());
408 $result->registerBlock("element_14", fn() => Blocks::ELEMENT_SILICON());
409 $result->registerBlock("element_15", fn() => Blocks::ELEMENT_PHOSPHORUS());
410 $result->registerBlock("element_16", fn() => Blocks::ELEMENT_SULFUR());
411 $result->registerBlock("element_17", fn() => Blocks::ELEMENT_CHLORINE());
412 $result->registerBlock("element_18", fn() => Blocks::ELEMENT_ARGON());
413 $result->registerBlock("element_19", fn() => Blocks::ELEMENT_POTASSIUM());
414 $result->registerBlock("element_2", fn() => Blocks::ELEMENT_HELIUM());
415 $result->registerBlock("element_20", fn() => Blocks::ELEMENT_CALCIUM());
416 $result->registerBlock("element_21", fn() => Blocks::ELEMENT_SCANDIUM());
417 $result->registerBlock("element_22", fn() => Blocks::ELEMENT_TITANIUM());
418 $result->registerBlock("element_23", fn() => Blocks::ELEMENT_VANADIUM());
419 $result->registerBlock("element_24", fn() => Blocks::ELEMENT_CHROMIUM());
420 $result->registerBlock("element_25", fn() => Blocks::ELEMENT_MANGANESE());
421 $result->registerBlock("element_26", fn() => Blocks::ELEMENT_IRON());
422 $result->registerBlock("element_27", fn() => Blocks::ELEMENT_COBALT());
423 $result->registerBlock("element_28", fn() => Blocks::ELEMENT_NICKEL());
424 $result->registerBlock("element_29", fn() => Blocks::ELEMENT_COPPER());
425 $result->registerBlock("element_3", fn() => Blocks::ELEMENT_LITHIUM());
426 $result->registerBlock("element_30", fn() => Blocks::ELEMENT_ZINC());
427 $result->registerBlock("element_31", fn() => Blocks::ELEMENT_GALLIUM());
428 $result->registerBlock("element_32", fn() => Blocks::ELEMENT_GERMANIUM());
429 $result->registerBlock("element_33", fn() => Blocks::ELEMENT_ARSENIC());
430 $result->registerBlock("element_34", fn() => Blocks::ELEMENT_SELENIUM());
431 $result->registerBlock("element_35", fn() => Blocks::ELEMENT_BROMINE());
432 $result->registerBlock("element_36", fn() => Blocks::ELEMENT_KRYPTON());
433 $result->registerBlock("element_37", fn() => Blocks::ELEMENT_RUBIDIUM());
434 $result->registerBlock("element_38", fn() => Blocks::ELEMENT_STRONTIUM());
435 $result->registerBlock("element_39", fn() => Blocks::ELEMENT_YTTRIUM());
436 $result->registerBlock("element_4", fn() => Blocks::ELEMENT_BERYLLIUM());
437 $result->registerBlock("element_40", fn() => Blocks::ELEMENT_ZIRCONIUM());
438 $result->registerBlock("element_41", fn() => Blocks::ELEMENT_NIOBIUM());
439 $result->registerBlock("element_42", fn() => Blocks::ELEMENT_MOLYBDENUM());
440 $result->registerBlock("element_43", fn() => Blocks::ELEMENT_TECHNETIUM());
441 $result->registerBlock("element_44", fn() => Blocks::ELEMENT_RUTHENIUM());
442 $result->registerBlock("element_45", fn() => Blocks::ELEMENT_RHODIUM());
443 $result->registerBlock("element_46", fn() => Blocks::ELEMENT_PALLADIUM());
444 $result->registerBlock("element_47", fn() => Blocks::ELEMENT_SILVER());
445 $result->registerBlock("element_48", fn() => Blocks::ELEMENT_CADMIUM());
446 $result->registerBlock("element_49", fn() => Blocks::ELEMENT_INDIUM());
447 $result->registerBlock("element_5", fn() => Blocks::ELEMENT_BORON());
448 $result->registerBlock("element_50", fn() => Blocks::ELEMENT_TIN());
449 $result->registerBlock("element_51", fn() => Blocks::ELEMENT_ANTIMONY());
450 $result->registerBlock("element_52", fn() => Blocks::ELEMENT_TELLURIUM());
451 $result->registerBlock("element_53", fn() => Blocks::ELEMENT_IODINE());
452 $result->registerBlock("element_54", fn() => Blocks::ELEMENT_XENON());
453 $result->registerBlock("element_55", fn() => Blocks::ELEMENT_CESIUM());
454 $result->registerBlock("element_56", fn() => Blocks::ELEMENT_BARIUM());
455 $result->registerBlock("element_57", fn() => Blocks::ELEMENT_LANTHANUM());
456 $result->registerBlock("element_58", fn() => Blocks::ELEMENT_CERIUM());
457 $result->registerBlock("element_59", fn() => Blocks::ELEMENT_PRASEODYMIUM());
458 $result->registerBlock("element_6", fn() => Blocks::ELEMENT_CARBON());
459 $result->registerBlock("element_60", fn() => Blocks::ELEMENT_NEODYMIUM());
460 $result->registerBlock("element_61", fn() => Blocks::ELEMENT_PROMETHIUM());
461 $result->registerBlock("element_62", fn() => Blocks::ELEMENT_SAMARIUM());
462 $result->registerBlock("element_63", fn() => Blocks::ELEMENT_EUROPIUM());
463 $result->registerBlock("element_64", fn() => Blocks::ELEMENT_GADOLINIUM());
464 $result->registerBlock("element_65", fn() => Blocks::ELEMENT_TERBIUM());
465 $result->registerBlock("element_66", fn() => Blocks::ELEMENT_DYSPROSIUM());
466 $result->registerBlock("element_67", fn() => Blocks::ELEMENT_HOLMIUM());
467 $result->registerBlock("element_68", fn() => Blocks::ELEMENT_ERBIUM());
468 $result->registerBlock("element_69", fn() => Blocks::ELEMENT_THULIUM());
469 $result->registerBlock("element_7", fn() => Blocks::ELEMENT_NITROGEN());
470 $result->registerBlock("element_70", fn() => Blocks::ELEMENT_YTTERBIUM());
471 $result->registerBlock("element_71", fn() => Blocks::ELEMENT_LUTETIUM());
472 $result->registerBlock("element_72", fn() => Blocks::ELEMENT_HAFNIUM());
473 $result->registerBlock("element_73", fn() => Blocks::ELEMENT_TANTALUM());
474 $result->registerBlock("element_74", fn() => Blocks::ELEMENT_TUNGSTEN());
475 $result->registerBlock("element_75", fn() => Blocks::ELEMENT_RHENIUM());
476 $result->registerBlock("element_76", fn() => Blocks::ELEMENT_OSMIUM());
477 $result->registerBlock("element_77", fn() => Blocks::ELEMENT_IRIDIUM());
478 $result->registerBlock("element_78", fn() => Blocks::ELEMENT_PLATINUM());
479 $result->registerBlock("element_79", fn() => Blocks::ELEMENT_GOLD());
480 $result->registerBlock("element_8", fn() => Blocks::ELEMENT_OXYGEN());
481 $result->registerBlock("element_80", fn() => Blocks::ELEMENT_MERCURY());
482 $result->registerBlock("element_81", fn() => Blocks::ELEMENT_THALLIUM());
483 $result->registerBlock("element_82", fn() => Blocks::ELEMENT_LEAD());
484 $result->registerBlock("element_83", fn() => Blocks::ELEMENT_BISMUTH());
485 $result->registerBlock("element_84", fn() => Blocks::ELEMENT_POLONIUM());
486 $result->registerBlock("element_85", fn() => Blocks::ELEMENT_ASTATINE());
487 $result->registerBlock("element_86", fn() => Blocks::ELEMENT_RADON());
488 $result->registerBlock("element_87", fn() => Blocks::ELEMENT_FRANCIUM());
489 $result->registerBlock("element_88", fn() => Blocks::ELEMENT_RADIUM());
490 $result->registerBlock("element_89", fn() => Blocks::ELEMENT_ACTINIUM());
491 $result->registerBlock("element_9", fn() => Blocks::ELEMENT_FLUORINE());
492 $result->registerBlock("element_90", fn() => Blocks::ELEMENT_THORIUM());
493 $result->registerBlock("element_91", fn() => Blocks::ELEMENT_PROTACTINIUM());
494 $result->registerBlock("element_92", fn() => Blocks::ELEMENT_URANIUM());
495 $result->registerBlock("element_93", fn() => Blocks::ELEMENT_NEPTUNIUM());
496 $result->registerBlock("element_94", fn() => Blocks::ELEMENT_PLUTONIUM());
497 $result->registerBlock("element_95", fn() => Blocks::ELEMENT_AMERICIUM());
498 $result->registerBlock("element_96", fn() => Blocks::ELEMENT_CURIUM());
499 $result->registerBlock("element_97", fn() => Blocks::ELEMENT_BERKELIUM());
500 $result->registerBlock("element_98", fn() => Blocks::ELEMENT_CALIFORNIUM());
501 $result->registerBlock("element_99", fn() => Blocks::ELEMENT_EINSTEINIUM());
502 $result->registerBlock("element_actinium", fn() => Blocks::ELEMENT_ACTINIUM());
503 $result->registerBlock("element_aluminum", fn() => Blocks::ELEMENT_ALUMINUM());
504 $result->registerBlock("element_americium", fn() => Blocks::ELEMENT_AMERICIUM());
505 $result->registerBlock("element_antimony", fn() => Blocks::ELEMENT_ANTIMONY());
506 $result->registerBlock("element_argon", fn() => Blocks::ELEMENT_ARGON());
507 $result->registerBlock("element_arsenic", fn() => Blocks::ELEMENT_ARSENIC());
508 $result->registerBlock("element_astatine", fn() => Blocks::ELEMENT_ASTATINE());
509 $result->registerBlock("element_barium", fn() => Blocks::ELEMENT_BARIUM());
510 $result->registerBlock("element_berkelium", fn() => Blocks::ELEMENT_BERKELIUM());
511 $result->registerBlock("element_beryllium", fn() => Blocks::ELEMENT_BERYLLIUM());
512 $result->registerBlock("element_bismuth", fn() => Blocks::ELEMENT_BISMUTH());
513 $result->registerBlock("element_bohrium", fn() => Blocks::ELEMENT_BOHRIUM());
514 $result->registerBlock("element_boron", fn() => Blocks::ELEMENT_BORON());
515 $result->registerBlock("element_bromine", fn() => Blocks::ELEMENT_BROMINE());
516 $result->registerBlock("element_cadmium", fn() => Blocks::ELEMENT_CADMIUM());
517 $result->registerBlock("element_calcium", fn() => Blocks::ELEMENT_CALCIUM());
518 $result->registerBlock("element_californium", fn() => Blocks::ELEMENT_CALIFORNIUM());
519 $result->registerBlock("element_carbon", fn() => Blocks::ELEMENT_CARBON());
520 $result->registerBlock("element_cerium", fn() => Blocks::ELEMENT_CERIUM());
521 $result->registerBlock("element_cesium", fn() => Blocks::ELEMENT_CESIUM());
522 $result->registerBlock("element_chlorine", fn() => Blocks::ELEMENT_CHLORINE());
523 $result->registerBlock("element_chromium", fn() => Blocks::ELEMENT_CHROMIUM());
524 $result->registerBlock("element_cobalt", fn() => Blocks::ELEMENT_COBALT());
525 $result->registerBlock("element_constructor", fn() => Blocks::ELEMENT_CONSTRUCTOR());
526 $result->registerBlock("element_copernicium", fn() => Blocks::ELEMENT_COPERNICIUM());
527 $result->registerBlock("element_copper", fn() => Blocks::ELEMENT_COPPER());
528 $result->registerBlock("element_curium", fn() => Blocks::ELEMENT_CURIUM());
529 $result->registerBlock("element_darmstadtium", fn() => Blocks::ELEMENT_DARMSTADTIUM());
530 $result->registerBlock("element_dubnium", fn() => Blocks::ELEMENT_DUBNIUM());
531 $result->registerBlock("element_dysprosium", fn() => Blocks::ELEMENT_DYSPROSIUM());
532 $result->registerBlock("element_einsteinium", fn() => Blocks::ELEMENT_EINSTEINIUM());
533 $result->registerBlock("element_erbium", fn() => Blocks::ELEMENT_ERBIUM());
534 $result->registerBlock("element_europium", fn() => Blocks::ELEMENT_EUROPIUM());
535 $result->registerBlock("element_fermium", fn() => Blocks::ELEMENT_FERMIUM());
536 $result->registerBlock("element_flerovium", fn() => Blocks::ELEMENT_FLEROVIUM());
537 $result->registerBlock("element_fluorine", fn() => Blocks::ELEMENT_FLUORINE());
538 $result->registerBlock("element_francium", fn() => Blocks::ELEMENT_FRANCIUM());
539 $result->registerBlock("element_gadolinium", fn() => Blocks::ELEMENT_GADOLINIUM());
540 $result->registerBlock("element_gallium", fn() => Blocks::ELEMENT_GALLIUM());
541 $result->registerBlock("element_germanium", fn() => Blocks::ELEMENT_GERMANIUM());
542 $result->registerBlock("element_gold", fn() => Blocks::ELEMENT_GOLD());
543 $result->registerBlock("element_hafnium", fn() => Blocks::ELEMENT_HAFNIUM());
544 $result->registerBlock("element_hassium", fn() => Blocks::ELEMENT_HASSIUM());
545 $result->registerBlock("element_helium", fn() => Blocks::ELEMENT_HELIUM());
546 $result->registerBlock("element_holmium", fn() => Blocks::ELEMENT_HOLMIUM());
547 $result->registerBlock("element_hydrogen", fn() => Blocks::ELEMENT_HYDROGEN());
548 $result->registerBlock("element_indium", fn() => Blocks::ELEMENT_INDIUM());
549 $result->registerBlock("element_iodine", fn() => Blocks::ELEMENT_IODINE());
550 $result->registerBlock("element_iridium", fn() => Blocks::ELEMENT_IRIDIUM());
551 $result->registerBlock("element_iron", fn() => Blocks::ELEMENT_IRON());
552 $result->registerBlock("element_krypton", fn() => Blocks::ELEMENT_KRYPTON());
553 $result->registerBlock("element_lanthanum", fn() => Blocks::ELEMENT_LANTHANUM());
554 $result->registerBlock("element_lawrencium", fn() => Blocks::ELEMENT_LAWRENCIUM());
555 $result->registerBlock("element_lead", fn() => Blocks::ELEMENT_LEAD());
556 $result->registerBlock("element_lithium", fn() => Blocks::ELEMENT_LITHIUM());
557 $result->registerBlock("element_livermorium", fn() => Blocks::ELEMENT_LIVERMORIUM());
558 $result->registerBlock("element_lutetium", fn() => Blocks::ELEMENT_LUTETIUM());
559 $result->registerBlock("element_magnesium", fn() => Blocks::ELEMENT_MAGNESIUM());
560 $result->registerBlock("element_manganese", fn() => Blocks::ELEMENT_MANGANESE());
561 $result->registerBlock("element_meitnerium", fn() => Blocks::ELEMENT_MEITNERIUM());
562 $result->registerBlock("element_mendelevium", fn() => Blocks::ELEMENT_MENDELEVIUM());
563 $result->registerBlock("element_mercury", fn() => Blocks::ELEMENT_MERCURY());
564 $result->registerBlock("element_molybdenum", fn() => Blocks::ELEMENT_MOLYBDENUM());
565 $result->registerBlock("element_moscovium", fn() => Blocks::ELEMENT_MOSCOVIUM());
566 $result->registerBlock("element_neodymium", fn() => Blocks::ELEMENT_NEODYMIUM());
567 $result->registerBlock("element_neon", fn() => Blocks::ELEMENT_NEON());
568 $result->registerBlock("element_neptunium", fn() => Blocks::ELEMENT_NEPTUNIUM());
569 $result->registerBlock("element_nickel", fn() => Blocks::ELEMENT_NICKEL());
570 $result->registerBlock("element_nihonium", fn() => Blocks::ELEMENT_NIHONIUM());
571 $result->registerBlock("element_niobium", fn() => Blocks::ELEMENT_NIOBIUM());
572 $result->registerBlock("element_nitrogen", fn() => Blocks::ELEMENT_NITROGEN());
573 $result->registerBlock("element_nobelium", fn() => Blocks::ELEMENT_NOBELIUM());
574 $result->registerBlock("element_oganesson", fn() => Blocks::ELEMENT_OGANESSON());
575 $result->registerBlock("element_osmium", fn() => Blocks::ELEMENT_OSMIUM());
576 $result->registerBlock("element_oxygen", fn() => Blocks::ELEMENT_OXYGEN());
577 $result->registerBlock("element_palladium", fn() => Blocks::ELEMENT_PALLADIUM());
578 $result->registerBlock("element_phosphorus", fn() => Blocks::ELEMENT_PHOSPHORUS());
579 $result->registerBlock("element_platinum", fn() => Blocks::ELEMENT_PLATINUM());
580 $result->registerBlock("element_plutonium", fn() => Blocks::ELEMENT_PLUTONIUM());
581 $result->registerBlock("element_polonium", fn() => Blocks::ELEMENT_POLONIUM());
582 $result->registerBlock("element_potassium", fn() => Blocks::ELEMENT_POTASSIUM());
583 $result->registerBlock("element_praseodymium", fn() => Blocks::ELEMENT_PRASEODYMIUM());
584 $result->registerBlock("element_promethium", fn() => Blocks::ELEMENT_PROMETHIUM());
585 $result->registerBlock("element_protactinium", fn() => Blocks::ELEMENT_PROTACTINIUM());
586 $result->registerBlock("element_radium", fn() => Blocks::ELEMENT_RADIUM());
587 $result->registerBlock("element_radon", fn() => Blocks::ELEMENT_RADON());
588 $result->registerBlock("element_rhenium", fn() => Blocks::ELEMENT_RHENIUM());
589 $result->registerBlock("element_rhodium", fn() => Blocks::ELEMENT_RHODIUM());
590 $result->registerBlock("element_roentgenium", fn() => Blocks::ELEMENT_ROENTGENIUM());
591 $result->registerBlock("element_rubidium", fn() => Blocks::ELEMENT_RUBIDIUM());
592 $result->registerBlock("element_ruthenium", fn() => Blocks::ELEMENT_RUTHENIUM());
593 $result->registerBlock("element_rutherfordium", fn() => Blocks::ELEMENT_RUTHERFORDIUM());
594 $result->registerBlock("element_samarium", fn() => Blocks::ELEMENT_SAMARIUM());
595 $result->registerBlock("element_scandium", fn() => Blocks::ELEMENT_SCANDIUM());
596 $result->registerBlock("element_seaborgium", fn() => Blocks::ELEMENT_SEABORGIUM());
597 $result->registerBlock("element_selenium", fn() => Blocks::ELEMENT_SELENIUM());
598 $result->registerBlock("element_silicon", fn() => Blocks::ELEMENT_SILICON());
599 $result->registerBlock("element_silver", fn() => Blocks::ELEMENT_SILVER());
600 $result->registerBlock("element_sodium", fn() => Blocks::ELEMENT_SODIUM());
601 $result->registerBlock("element_strontium", fn() => Blocks::ELEMENT_STRONTIUM());
602 $result->registerBlock("element_sulfur", fn() => Blocks::ELEMENT_SULFUR());
603 $result->registerBlock("element_tantalum", fn() => Blocks::ELEMENT_TANTALUM());
604 $result->registerBlock("element_technetium", fn() => Blocks::ELEMENT_TECHNETIUM());
605 $result->registerBlock("element_tellurium", fn() => Blocks::ELEMENT_TELLURIUM());
606 $result->registerBlock("element_tennessine", fn() => Blocks::ELEMENT_TENNESSINE());
607 $result->registerBlock("element_terbium", fn() => Blocks::ELEMENT_TERBIUM());
608 $result->registerBlock("element_thallium", fn() => Blocks::ELEMENT_THALLIUM());
609 $result->registerBlock("element_thorium", fn() => Blocks::ELEMENT_THORIUM());
610 $result->registerBlock("element_thulium", fn() => Blocks::ELEMENT_THULIUM());
611 $result->registerBlock("element_tin", fn() => Blocks::ELEMENT_TIN());
612 $result->registerBlock("element_titanium", fn() => Blocks::ELEMENT_TITANIUM());
613 $result->registerBlock("element_tungsten", fn() => Blocks::ELEMENT_TUNGSTEN());
614 $result->registerBlock("element_uranium", fn() => Blocks::ELEMENT_URANIUM());
615 $result->registerBlock("element_vanadium", fn() => Blocks::ELEMENT_VANADIUM());
616 $result->registerBlock("element_xenon", fn() => Blocks::ELEMENT_XENON());
617 $result->registerBlock("element_ytterbium", fn() => Blocks::ELEMENT_YTTERBIUM());
618 $result->registerBlock("element_yttrium", fn() => Blocks::ELEMENT_YTTRIUM());
619 $result->registerBlock("element_zero", fn() => Blocks::ELEMENT_ZERO());
620 $result->registerBlock("element_zinc", fn() => Blocks::ELEMENT_ZINC());
621 $result->registerBlock("element_zirconium", fn() => Blocks::ELEMENT_ZIRCONIUM());
622 $result->registerBlock("emerald_block", fn() => Blocks::EMERALD());
623 $result->registerBlock("emerald_ore", fn() => Blocks::EMERALD_ORE());
624 $result->registerBlock("enchant_table", fn() => Blocks::ENCHANTING_TABLE());
625 $result->registerBlock("enchanting_table", fn() => Blocks::ENCHANTING_TABLE());
626 $result->registerBlock("enchantment_table", fn() => Blocks::ENCHANTING_TABLE());
627 $result->registerBlock("end_brick_stairs", fn() => Blocks::END_STONE_BRICK_STAIRS());
628 $result->registerBlock("end_bricks", fn() => Blocks::END_STONE_BRICKS());
629 $result->registerBlock("end_portal_frame", fn() => Blocks::END_PORTAL_FRAME());
630 $result->registerBlock("end_rod", fn() => Blocks::END_ROD());
631 $result->registerBlock("end_stone", fn() => Blocks::END_STONE());
632 $result->registerBlock("end_stone_brick_slab", fn() => Blocks::END_STONE_BRICK_SLAB());
633 $result->registerBlock("end_stone_brick_stairs", fn() => Blocks::END_STONE_BRICK_STAIRS());
634 $result->registerBlock("end_stone_brick_wall", fn() => Blocks::END_STONE_BRICK_WALL());
635 $result->registerBlock("end_stone_bricks", fn() => Blocks::END_STONE_BRICKS());
636 $result->registerBlock("ender_chest", fn() => Blocks::ENDER_CHEST());
637 $result->registerBlock("fake_wooden_slab", fn() => Blocks::FAKE_WOODEN_SLAB());
638 $result->registerBlock("farmland", fn() => Blocks::FARMLAND());
639 $result->registerBlock("fence", fn() => Blocks::OAK_FENCE());
640 $result->registerBlock("fence_gate", fn() => Blocks::OAK_FENCE_GATE());
641 $result->registerBlock("fence_gate_acacia", fn() => Blocks::ACACIA_FENCE_GATE());
642 $result->registerBlock("fence_gate_birch", fn() => Blocks::BIRCH_FENCE_GATE());
643 $result->registerBlock("fence_gate_dark_oak", fn() => Blocks::DARK_OAK_FENCE_GATE());
644 $result->registerBlock("fence_gate_jungle", fn() => Blocks::JUNGLE_FENCE_GATE());
645 $result->registerBlock("fence_gate_spruce", fn() => Blocks::SPRUCE_FENCE_GATE());
646 $result->registerBlock("fern", fn() => Blocks::FERN());
647 $result->registerBlock("fire", fn() => Blocks::FIRE());
648 $result->registerBlock("fletching_table", fn() => Blocks::FLETCHING_TABLE());
649 $result->registerBlock("flower_pot", fn() => Blocks::FLOWER_POT());
650 $result->registerBlock("flower_pot_block", fn() => Blocks::FLOWER_POT());
651 $result->registerBlock("flowering_azalea_leaves", fn() => Blocks::FLOWERING_AZALEA_LEAVES());
652 $result->registerBlock("flowing_lava", fn() => Blocks::LAVA());
653 $result->registerBlock("flowing_water", fn() => Blocks::WATER());
654 $result->registerBlock("frame", fn() => Blocks::ITEM_FRAME());
655 $result->registerBlock("frame_block", fn() => Blocks::ITEM_FRAME());
656 $result->registerBlock("frosted_ice", fn() => Blocks::FROSTED_ICE());
657 $result->registerBlock("furnace", fn() => Blocks::FURNACE());
658 $result->registerBlock("gilded_blackstone", fn() => Blocks::GILDED_BLACKSTONE());
659 $result->registerBlock("glass", fn() => Blocks::GLASS());
660 $result->registerBlock("glass_pane", fn() => Blocks::GLASS_PANE());
661 $result->registerBlock("glass_panel", fn() => Blocks::GLASS_PANE());
662 $result->registerBlock("glazed_terracotta", fn() => Blocks::GLAZED_TERRACOTTA());
663 $result->registerBlock("glow_frame", fn() => Blocks::GLOWING_ITEM_FRAME());
664 $result->registerBlock("glow_item_frame", fn() => Blocks::GLOWING_ITEM_FRAME());
665 $result->registerBlock("glowing_item_frame", fn() => Blocks::GLOWING_ITEM_FRAME());
666 $result->registerBlock("glowing_obsidian", fn() => Blocks::GLOWING_OBSIDIAN());
667 $result->registerBlock("glowing_redstone_ore", fn() => Blocks::REDSTONE_ORE()->setLit(true));
668 $result->registerBlock("glowingobsidian", fn() => Blocks::GLOWING_OBSIDIAN());
669 $result->registerBlock("glowstone", fn() => Blocks::GLOWSTONE());
670 $result->registerBlock("glowstone_block", fn() => Blocks::GLOWSTONE());
671 $result->registerBlock("glow_lichen", fn() => Blocks::GLOW_LICHEN());
672 $result->registerBlock("gold", fn() => Blocks::GOLD());
673 $result->registerBlock("gold_block", fn() => Blocks::GOLD());
674 $result->registerBlock("gold_ore", fn() => Blocks::GOLD_ORE());
675 $result->registerBlock("gold_pressure_plate", fn() => Blocks::WEIGHTED_PRESSURE_PLATE_LIGHT());
676 $result->registerBlock("golden_rail", fn() => Blocks::POWERED_RAIL());
677 $result->registerBlock("granite", fn() => Blocks::GRANITE());
678 $result->registerBlock("granite_slab", fn() => Blocks::GRANITE_SLAB());
679 $result->registerBlock("granite_stairs", fn() => Blocks::GRANITE_STAIRS());
680 $result->registerBlock("granite_wall", fn() => Blocks::GRANITE_WALL());
681 $result->registerBlock("grass", fn() => Blocks::GRASS());
682 $result->registerBlock("grass_path", fn() => Blocks::GRASS_PATH());
683 $result->registerBlock("gravel", fn() => Blocks::GRAVEL());
684 $result->registerBlock("green_torch", fn() => Blocks::GREEN_TORCH());
685 $result->registerBlock("hanging_roots", fn() => Blocks::HANGING_ROOTS());
686 $result->registerBlock("hard_glass", fn() => Blocks::HARDENED_GLASS());
687 $result->registerBlock("hard_glass_pane", fn() => Blocks::HARDENED_GLASS_PANE());
688 $result->registerBlock("hard_stained_glass", fn() => Blocks::STAINED_HARDENED_GLASS());
689 $result->registerBlock("hard_stained_glass_pane", fn() => Blocks::STAINED_HARDENED_GLASS_PANE());
690 $result->registerBlock("hardened_clay", fn() => Blocks::HARDENED_CLAY());
691 $result->registerBlock("hardened_glass", fn() => Blocks::HARDENED_GLASS());
692 $result->registerBlock("hardened_glass_pane", fn() => Blocks::HARDENED_GLASS_PANE());
693 $result->registerBlock("hay_bale", fn() => Blocks::HAY_BALE());
694 $result->registerBlock("hay_block", fn() => Blocks::HAY_BALE());
695 $result->registerBlock("heavy_weighted_pressure_plate", fn() => Blocks::WEIGHTED_PRESSURE_PLATE_HEAVY());
696 $result->registerBlock("honeycomb_block", fn() => Blocks::HONEYCOMB());
697 $result->registerBlock("hopper", fn() => Blocks::HOPPER());
698 $result->registerBlock("hopper_block", fn() => Blocks::HOPPER());
699 $result->registerBlock("ice", fn() => Blocks::ICE());
700 $result->registerBlock("inactive_redstone_lamp", fn() => Blocks::REDSTONE_LAMP());
701 $result->registerBlock("infested_chiseled_stone_brick", fn() => Blocks::INFESTED_CHISELED_STONE_BRICK());
702 $result->registerBlock("infested_cobblestone", fn() => Blocks::INFESTED_COBBLESTONE());
703 $result->registerBlock("infested_cracked_stone_brick", fn() => Blocks::INFESTED_CRACKED_STONE_BRICK());
704 $result->registerBlock("infested_mossy_stone_brick", fn() => Blocks::INFESTED_MOSSY_STONE_BRICK());
705 $result->registerBlock("infested_stone", fn() => Blocks::INFESTED_STONE());
706 $result->registerBlock("infested_stone_brick", fn() => Blocks::INFESTED_STONE_BRICK());
707 $result->registerBlock("info_reserved6", fn() => Blocks::RESERVED6());
708 $result->registerBlock("info_update", fn() => Blocks::INFO_UPDATE());
709 $result->registerBlock("info_update2", fn() => Blocks::INFO_UPDATE2());
710 $result->registerBlock("inverted_daylight_sensor", fn() => Blocks::DAYLIGHT_SENSOR()->setInverted(true));
711 $result->registerBlock("invisible_bedrock", fn() => Blocks::INVISIBLE_BEDROCK());
712 $result->registerBlock("invisiblebedrock", fn() => Blocks::INVISIBLE_BEDROCK());
713 $result->registerBlock("iron", fn() => Blocks::IRON());
714 $result->registerBlock("iron_bar", fn() => Blocks::IRON_BARS());
715 $result->registerBlock("iron_bars", fn() => Blocks::IRON_BARS());
716 $result->registerBlock("iron_block", fn() => Blocks::IRON());
717 $result->registerBlock("iron_door", fn() => Blocks::IRON_DOOR());
718 $result->registerBlock("iron_door_block", fn() => Blocks::IRON_DOOR());
719 $result->registerBlock("iron_ore", fn() => Blocks::IRON_ORE());
720 $result->registerBlock("iron_pressure_plate", fn() => Blocks::WEIGHTED_PRESSURE_PLATE_HEAVY());
721 $result->registerBlock("iron_trapdoor", fn() => Blocks::IRON_TRAPDOOR());
722 $result->registerBlock("item_frame", fn() => Blocks::ITEM_FRAME());
723 $result->registerBlock("item_frame_block", fn() => Blocks::ITEM_FRAME());
724 $result->registerBlock("jack_o_lantern", fn() => Blocks::LIT_PUMPKIN());
725 $result->registerBlock("jukebox", fn() => Blocks::JUKEBOX());
726 $result->registerBlock("jungle_button", fn() => Blocks::JUNGLE_BUTTON());
727 $result->registerBlock("jungle_door", fn() => Blocks::JUNGLE_DOOR());
728 $result->registerBlock("jungle_door_block", fn() => Blocks::JUNGLE_DOOR());
729 $result->registerBlock("jungle_fence", fn() => Blocks::JUNGLE_FENCE());
730 $result->registerBlock("jungle_fence_gate", fn() => Blocks::JUNGLE_FENCE_GATE());
731 $result->registerBlock("jungle_leaves", fn() => Blocks::JUNGLE_LEAVES());
732 $result->registerBlock("jungle_log", fn() => Blocks::JUNGLE_LOG()->setStripped(false));
733 $result->registerBlock("jungle_planks", fn() => Blocks::JUNGLE_PLANKS());
734 $result->registerBlock("jungle_pressure_plate", fn() => Blocks::JUNGLE_PRESSURE_PLATE());
735 $result->registerBlock("jungle_sapling", fn() => Blocks::JUNGLE_SAPLING());
736 $result->registerBlock("jungle_sign", fn() => Blocks::JUNGLE_SIGN());
737 $result->registerBlock("jungle_slab", fn() => Blocks::JUNGLE_SLAB());
738 $result->registerBlock("jungle_stairs", fn() => Blocks::JUNGLE_STAIRS());
739 $result->registerBlock("jungle_standing_sign", fn() => Blocks::JUNGLE_SIGN());
740 $result->registerBlock("jungle_trapdoor", fn() => Blocks::JUNGLE_TRAPDOOR());
741 $result->registerBlock("jungle_wall_sign", fn() => Blocks::JUNGLE_WALL_SIGN());
742 $result->registerBlock("jungle_wood", fn() => Blocks::JUNGLE_WOOD()->setStripped(false));
743 $result->registerBlock("jungle_wood_stairs", fn() => Blocks::JUNGLE_STAIRS());
744 $result->registerBlock("jungle_wooden_stairs", fn() => Blocks::JUNGLE_STAIRS());
745 $result->registerBlock("lab_table", fn() => Blocks::LAB_TABLE());
746 $result->registerBlock("ladder", fn() => Blocks::LADDER());
747 $result->registerBlock("lantern", fn() => Blocks::LANTERN());
748 $result->registerBlock("lapis_block", fn() => Blocks::LAPIS_LAZULI());
749 $result->registerBlock("lapis_lazuli_block", fn() => Blocks::LAPIS_LAZULI());
750 $result->registerBlock("lapis_lazuli_ore", fn() => Blocks::LAPIS_LAZULI_ORE());
751 $result->registerBlock("lapis_ore", fn() => Blocks::LAPIS_LAZULI_ORE());
752 $result->registerBlock("large_amethyst_bud", fn() => Blocks::AMETHYST_CLUSTER()->setStage(AmethystCluster::STAGE_LARGE_BUD));
753 $result->registerBlock("large_fern", fn() => Blocks::LARGE_FERN());
754 $result->registerBlock("lava", fn() => Blocks::LAVA());
755 $result->registerBlock("leave", fn() => Blocks::OAK_LEAVES());
756 $result->registerBlock("leave2", fn() => Blocks::ACACIA_LEAVES());
757 $result->registerBlock("leaves", fn() => Blocks::OAK_LEAVES());
758 $result->registerBlock("leaves2", fn() => Blocks::ACACIA_LEAVES());
759 $result->registerBlock("lectern", fn() => Blocks::LECTERN());
760 $result->registerBlock("legacy_stonecutter", fn() => Blocks::LEGACY_STONECUTTER());
761 $result->registerBlock("lever", fn() => Blocks::LEVER());
762 $result->registerBlock("light", fn() => Blocks::LIGHT());
763 $result->registerBlock("light_block", fn() => Blocks::LIGHT());
764 $result->registerBlock("light_weighted_pressure_plate", fn() => Blocks::WEIGHTED_PRESSURE_PLATE_LIGHT());
765 $result->registerBlock("lightning_rod", fn() => Blocks::LIGHTNING_ROD());
766 $result->registerBlock("lilac", fn() => Blocks::LILAC());
767 $result->registerBlock("lily_of_the_valley", fn() => Blocks::LILY_OF_THE_VALLEY());
768 $result->registerBlock("lily_pad", fn() => Blocks::LILY_PAD());
769 $result->registerBlock("lit_blast_furnace", fn() => Blocks::BLAST_FURNACE());
770 $result->registerBlock("lit_furnace", fn() => Blocks::FURNACE());
771 $result->registerBlock("lit_pumpkin", fn() => Blocks::LIT_PUMPKIN());
772 $result->registerBlock("lit_redstone_lamp", fn() => Blocks::REDSTONE_LAMP()->setPowered(true));
773 $result->registerBlock("lit_redstone_ore", fn() => Blocks::REDSTONE_ORE()->setLit(true));
774 $result->registerBlock("lit_redstone_torch", fn() => Blocks::REDSTONE_TORCH());
775 $result->registerBlock("lit_smoker", fn() => Blocks::SMOKER());
776 $result->registerBlock("log", fn() => Blocks::OAK_LOG()->setStripped(false));
777 $result->registerBlock("log2", fn() => Blocks::ACACIA_LOG()->setStripped(false));
778 $result->registerBlock("loom", fn() => Blocks::LOOM());
779 $result->registerBlock("magma", fn() => Blocks::MAGMA());
780 $result->registerBlock("mangrove_button", fn() => Blocks::MANGROVE_BUTTON());
781 $result->registerBlock("mangrove_door", fn() => Blocks::MANGROVE_DOOR());
782 $result->registerBlock("mangrove_fence", fn() => Blocks::MANGROVE_FENCE());
783 $result->registerBlock("mangrove_fence_gate", fn() => Blocks::MANGROVE_FENCE_GATE());
784 $result->registerBlock("mangrove_leaves", fn() => Blocks::MANGROVE_LEAVES());
785 $result->registerBlock("mangrove_log", fn() => Blocks::MANGROVE_LOG()->setStripped(false));
786 $result->registerBlock("mangrove_planks", fn() => Blocks::MANGROVE_PLANKS());
787 $result->registerBlock("mangrove_pressure_plate", fn() => Blocks::MANGROVE_PRESSURE_PLATE());
788 $result->registerBlock("mangrove_roots", fn() => Blocks::MANGROVE_ROOTS());
789 $result->registerBlock("mangrove_sign", fn() => Blocks::MANGROVE_SIGN());
790 $result->registerBlock("mangrove_slab", fn() => Blocks::MANGROVE_SLAB());
791 $result->registerBlock("mangrove_stairs", fn() => Blocks::MANGROVE_STAIRS());
792 $result->registerBlock("mangrove_trapdoor", fn() => Blocks::MANGROVE_TRAPDOOR());
793 $result->registerBlock("mangrove_wood", fn() => Blocks::MANGROVE_WOOD()->setStripped(false));
794 $result->registerBlock("material_reducer", fn() => Blocks::MATERIAL_REDUCER());
795 $result->registerBlock("medium_amethyst_bud", fn() => Blocks::AMETHYST_CLUSTER()->setStage(AmethystCluster::STAGE_MEDIUM_BUD));
796 $result->registerBlock("melon_block", fn() => Blocks::MELON());
797 $result->registerBlock("melon_stem", fn() => Blocks::MELON_STEM());
798 $result->registerBlock("mob_head", fn() => Blocks::MOB_HEAD());
799 $result->registerBlock("mob_head_block", fn() => Blocks::MOB_HEAD());
800 $result->registerBlock("mob_spawner", fn() => Blocks::MONSTER_SPAWNER());
801 $result->registerBlock("monster_egg", fn() => Blocks::INFESTED_STONE());
802 $result->registerBlock("monster_egg_block", fn() => Blocks::INFESTED_STONE());
803 $result->registerBlock("monster_spawner", fn() => Blocks::MONSTER_SPAWNER());
804 $result->registerBlock("moss_stone", fn() => Blocks::MOSSY_COBBLESTONE());
805 $result->registerBlock("mossy_cobblestone", fn() => Blocks::MOSSY_COBBLESTONE());
806 $result->registerBlock("mossy_cobblestone_slab", fn() => Blocks::MOSSY_COBBLESTONE_SLAB());
807 $result->registerBlock("mossy_cobblestone_stairs", fn() => Blocks::MOSSY_COBBLESTONE_STAIRS());
808 $result->registerBlock("mossy_cobblestone_wall", fn() => Blocks::MOSSY_COBBLESTONE_WALL());
809 $result->registerBlock("mossy_stone", fn() => Blocks::MOSSY_COBBLESTONE());
810 $result->registerBlock("mossy_stone_brick_slab", fn() => Blocks::MOSSY_STONE_BRICK_SLAB());
811 $result->registerBlock("mossy_stone_brick_stairs", fn() => Blocks::MOSSY_STONE_BRICK_STAIRS());
812 $result->registerBlock("mossy_stone_brick_wall", fn() => Blocks::MOSSY_STONE_BRICK_WALL());
813 $result->registerBlock("mossy_stone_bricks", fn() => Blocks::MOSSY_STONE_BRICKS());
814 $result->registerBlock("mud", fn() => Blocks::MUD());
815 $result->registerBlock("mud_bricks", fn() => Blocks::MUD_BRICKS());
816 $result->registerBlock("mud_brick_slab", fn() => Blocks::MUD_BRICK_SLAB());
817 $result->registerBlock("mud_brick_stairs", fn() => Blocks::MUD_BRICK_STAIRS());
818 $result->registerBlock("mud_brick_wall", fn() => Blocks::MUD_BRICK_WALL());
819 $result->registerBlock("muddy_mangrove_roots", fn() => Blocks::MUDDY_MANGROVE_ROOTS());
820 $result->registerBlock("mushroom_stem", fn() => Blocks::MUSHROOM_STEM());
821 $result->registerBlock("mycelium", fn() => Blocks::MYCELIUM());
822 $result->registerBlock("nether_brick_block", fn() => Blocks::NETHER_BRICKS());
823 $result->registerBlock("nether_brick_fence", fn() => Blocks::NETHER_BRICK_FENCE());
824 $result->registerBlock("nether_brick_slab", fn() => Blocks::NETHER_BRICK_SLAB());
825 $result->registerBlock("nether_brick_stairs", fn() => Blocks::NETHER_BRICK_STAIRS());
826 $result->registerBlock("nether_brick_wall", fn() => Blocks::NETHER_BRICK_WALL());
827 $result->registerBlock("nether_bricks", fn() => Blocks::NETHER_BRICKS());
828 $result->registerBlock("nether_bricks_stairs", fn() => Blocks::NETHER_BRICK_STAIRS());
829 $result->registerBlock("nether_gold_ore", fn() => Blocks::NETHER_GOLD_ORE());
830 $result->registerBlock("nether_portal", fn() => Blocks::NETHER_PORTAL());
831 $result->registerBlock("nether_quartz_ore", fn() => Blocks::NETHER_QUARTZ_ORE());
832 $result->registerBlock("nether_reactor", fn() => Blocks::NETHER_REACTOR_CORE());
833 $result->registerBlock("nether_reactor_core", fn() => Blocks::NETHER_REACTOR_CORE());
834 $result->registerBlock("nether_wart", fn() => Blocks::NETHER_WART());
835 $result->registerBlock("nether_wart_block", fn() => Blocks::NETHER_WART_BLOCK());
836 $result->registerBlock("nether_wart_plant", fn() => Blocks::NETHER_WART());
837 $result->registerBlock("netherite_block", fn() => Blocks::NETHERITE());
838 $result->registerBlock("netherrack", fn() => Blocks::NETHERRACK());
839 $result->registerBlock("netherreactor", fn() => Blocks::NETHER_REACTOR_CORE());
840 $result->registerBlock("normal_stone_stairs", fn() => Blocks::STONE_STAIRS());
841 $result->registerBlock("note_block", fn() => Blocks::NOTE_BLOCK());
842 $result->registerBlock("noteblock", fn() => Blocks::NOTE_BLOCK());
843 $result->registerBlock("oak_button", fn() => Blocks::OAK_BUTTON());
844 $result->registerBlock("oak_door", fn() => Blocks::OAK_DOOR());
845 $result->registerBlock("oak_door_block", fn() => Blocks::OAK_DOOR());
846 $result->registerBlock("oak_fence", fn() => Blocks::OAK_FENCE());
847 $result->registerBlock("oak_fence_gate", fn() => Blocks::OAK_FENCE_GATE());
848 $result->registerBlock("oak_leaves", fn() => Blocks::OAK_LEAVES());
849 $result->registerBlock("oak_log", fn() => Blocks::OAK_LOG()->setStripped(false));
850 $result->registerBlock("oak_planks", fn() => Blocks::OAK_PLANKS());
851 $result->registerBlock("oak_pressure_plate", fn() => Blocks::OAK_PRESSURE_PLATE());
852 $result->registerBlock("oak_sapling", fn() => Blocks::OAK_SAPLING());
853 $result->registerBlock("oak_sign", fn() => Blocks::OAK_SIGN());
854 $result->registerBlock("oak_slab", fn() => Blocks::OAK_SLAB());
855 $result->registerBlock("oak_stairs", fn() => Blocks::OAK_STAIRS());
856 $result->registerBlock("oak_standing_sign", fn() => Blocks::OAK_SIGN());
857 $result->registerBlock("oak_trapdoor", fn() => Blocks::OAK_TRAPDOOR());
858 $result->registerBlock("oak_wall_sign", fn() => Blocks::OAK_WALL_SIGN());
859 $result->registerBlock("oak_wood", fn() => Blocks::OAK_WOOD()->setStripped(false));
860 $result->registerBlock("oak_wood_stairs", fn() => Blocks::OAK_STAIRS());
861 $result->registerBlock("oak_wooden_stairs", fn() => Blocks::OAK_STAIRS());
862 $result->registerBlock("obsidian", fn() => Blocks::OBSIDIAN());
863 $result->registerBlock("orange_tulip", fn() => Blocks::ORANGE_TULIP());
864 $result->registerBlock("oxeye_daisy", fn() => Blocks::OXEYE_DAISY());
865 $result->registerBlock("packed_ice", fn() => Blocks::PACKED_ICE());
866 $result->registerBlock("packed_mud", fn() => Blocks::PACKED_MUD());
867 $result->registerBlock("peony", fn() => Blocks::PEONY());
868 $result->registerBlock("pink_petals", fn() => Blocks::PINK_PETALS());
869 $result->registerBlock("pink_tulip", fn() => Blocks::PINK_TULIP());
870 $result->registerBlock("piglin_head", fn() => Blocks::MOB_HEAD()->setMobHeadType(MobHeadType::PIGLIN));
871 $result->registerBlock("pitcher_plant", fn() => Blocks::PITCHER_PLANT());
872 $result->registerBlock("plank", fn() => Blocks::OAK_PLANKS());
873 $result->registerBlock("planks", fn() => Blocks::OAK_PLANKS());
874 $result->registerBlock("player_head", fn() => Blocks::MOB_HEAD()->setMobHeadType(MobHeadType::PLAYER));
875 $result->registerBlock("podzol", fn() => Blocks::PODZOL());
876 $result->registerBlock("polished_andesite", fn() => Blocks::POLISHED_ANDESITE());
877 $result->registerBlock("polished_andesite_slab", fn() => Blocks::POLISHED_ANDESITE_SLAB());
878 $result->registerBlock("polished_andesite_stairs", fn() => Blocks::POLISHED_ANDESITE_STAIRS());
879 $result->registerBlock("polished_basalt", fn() => Blocks::POLISHED_BASALT());
880 $result->registerBlock("polished_blackstone", fn() => Blocks::POLISHED_BLACKSTONE());
881 $result->registerBlock("polished_blackstone_brick_slab", fn() => Blocks::POLISHED_BLACKSTONE_BRICK_SLAB());
882 $result->registerBlock("polished_blackstone_brick_stairs", fn() => Blocks::POLISHED_BLACKSTONE_BRICK_STAIRS());
883 $result->registerBlock("polished_blackstone_brick_wall", fn() => Blocks::POLISHED_BLACKSTONE_BRICK_WALL());
884 $result->registerBlock("polished_blackstone_bricks", fn() => Blocks::POLISHED_BLACKSTONE_BRICKS());
885 $result->registerBlock("polished_blackstone_button", fn() => Blocks::POLISHED_BLACKSTONE_BUTTON());
886 $result->registerBlock("polished_blackstone_pressure_plate", fn() => Blocks::POLISHED_BLACKSTONE_PRESSURE_PLATE());
887 $result->registerBlock("polished_blackstone_slab", fn() => Blocks::POLISHED_BLACKSTONE_SLAB());
888 $result->registerBlock("polished_blackstone_stairs", fn() => Blocks::POLISHED_BLACKSTONE_STAIRS());
889 $result->registerBlock("polished_blackstone_wall", fn() => Blocks::POLISHED_BLACKSTONE_WALL());
890 $result->registerBlock("polished_deepslate", fn() => Blocks::POLISHED_DEEPSLATE());
891 $result->registerBlock("polished_deepslate_slab", fn() => Blocks::POLISHED_DEEPSLATE_SLAB());
892 $result->registerBlock("polished_deepslate_stairs", fn() => Blocks::POLISHED_DEEPSLATE_STAIRS());
893 $result->registerBlock("polished_deepslate_wall", fn() => Blocks::POLISHED_DEEPSLATE_WALL());
894 $result->registerBlock("polished_diorite", fn() => Blocks::POLISHED_DIORITE());
895 $result->registerBlock("polished_diorite_slab", fn() => Blocks::POLISHED_DIORITE_SLAB());
896 $result->registerBlock("polished_diorite_stairs", fn() => Blocks::POLISHED_DIORITE_STAIRS());
897 $result->registerBlock("polished_granite", fn() => Blocks::POLISHED_GRANITE());
898 $result->registerBlock("polished_granite_slab", fn() => Blocks::POLISHED_GRANITE_SLAB());
899 $result->registerBlock("polished_granite_stairs", fn() => Blocks::POLISHED_GRANITE_STAIRS());
900 $result->registerBlock("poppy", fn() => Blocks::POPPY());
901 $result->registerBlock("portal", fn() => Blocks::NETHER_PORTAL());
902 $result->registerBlock("portal_block", fn() => Blocks::NETHER_PORTAL());
903 $result->registerBlock("potato_block", fn() => Blocks::POTATOES());
904 $result->registerBlock("potatoes", fn() => Blocks::POTATOES());
905 $result->registerBlock("powered_comparator", fn() => Blocks::REDSTONE_COMPARATOR());
906 $result->registerBlock("powered_comparator_block", fn() => Blocks::REDSTONE_COMPARATOR());
907 $result->registerBlock("powered_rail", fn() => Blocks::POWERED_RAIL());
908 $result->registerBlock("powered_repeater", fn() => Blocks::REDSTONE_REPEATER()->setPowered(true));
909 $result->registerBlock("powered_repeater_block", fn() => Blocks::REDSTONE_REPEATER()->setPowered(true));
910 $result->registerBlock("prismarine", fn() => Blocks::PRISMARINE());
911 $result->registerBlock("prismarine_bricks", fn() => Blocks::PRISMARINE_BRICKS());
912 $result->registerBlock("prismarine_bricks_slab", fn() => Blocks::PRISMARINE_BRICKS_SLAB());
913 $result->registerBlock("prismarine_bricks_stairs", fn() => Blocks::PRISMARINE_BRICKS_STAIRS());
914 $result->registerBlock("prismarine_slab", fn() => Blocks::PRISMARINE_SLAB());
915 $result->registerBlock("prismarine_stairs", fn() => Blocks::PRISMARINE_STAIRS());
916 $result->registerBlock("prismarine_wall", fn() => Blocks::PRISMARINE_WALL());
917 $result->registerBlock("pumpkin", fn() => Blocks::PUMPKIN());
918 $result->registerBlock("pumpkin_stem", fn() => Blocks::PUMPKIN_STEM());
919 $result->registerBlock("purple_torch", fn() => Blocks::PURPLE_TORCH());
920 $result->registerBlock("purpur", fn() => Blocks::PURPUR());
921 $result->registerBlock("purpur_block", fn() => Blocks::PURPUR());
922 $result->registerBlock("purpur_pillar", fn() => Blocks::PURPUR_PILLAR());
923 $result->registerBlock("purpur_slab", fn() => Blocks::PURPUR_SLAB());
924 $result->registerBlock("purpur_stairs", fn() => Blocks::PURPUR_STAIRS());
925 $result->registerBlock("quartz_block", fn() => Blocks::QUARTZ());
926 $result->registerBlock("quartz_bricks", fn() => Blocks::QUARTZ_BRICKS());
927 $result->registerBlock("quartz_ore", fn() => Blocks::NETHER_QUARTZ_ORE());
928 $result->registerBlock("quartz_pillar", fn() => Blocks::QUARTZ_PILLAR());
929 $result->registerBlock("quartz_slab", fn() => Blocks::QUARTZ_SLAB());
930 $result->registerBlock("quartz_stairs", fn() => Blocks::QUARTZ_STAIRS());
931 $result->registerBlock("rail", fn() => Blocks::RAIL());
932 $result->registerBlock("raw_copper_block", fn() => Blocks::RAW_COPPER());
933 $result->registerBlock("raw_gold_block", fn() => Blocks::RAW_GOLD());
934 $result->registerBlock("raw_iron_block", fn() => Blocks::RAW_IRON());
935 $result->registerBlock("red_flower", fn() => Blocks::POPPY());
936 $result->registerBlock("red_mushroom", fn() => Blocks::RED_MUSHROOM());
937 $result->registerBlock("red_mushroom_block", fn() => Blocks::RED_MUSHROOM_BLOCK());
938 $result->registerBlock("red_nether_brick", fn() => Blocks::RED_NETHER_BRICKS());
939 $result->registerBlock("red_nether_brick_slab", fn() => Blocks::RED_NETHER_BRICK_SLAB());
940 $result->registerBlock("red_nether_brick_stairs", fn() => Blocks::RED_NETHER_BRICK_STAIRS());
941 $result->registerBlock("red_nether_brick_wall", fn() => Blocks::RED_NETHER_BRICK_WALL());
942 $result->registerBlock("red_nether_bricks", fn() => Blocks::RED_NETHER_BRICKS());
943 $result->registerBlock("red_sand", fn() => Blocks::RED_SAND());
944 $result->registerBlock("red_sandstone", fn() => Blocks::RED_SANDSTONE());
945 $result->registerBlock("red_sandstone_slab", fn() => Blocks::RED_SANDSTONE_SLAB());
946 $result->registerBlock("red_sandstone_stairs", fn() => Blocks::RED_SANDSTONE_STAIRS());
947 $result->registerBlock("red_sandstone_wall", fn() => Blocks::RED_SANDSTONE_WALL());
948 $result->registerBlock("red_torch", fn() => Blocks::RED_TORCH());
949 $result->registerBlock("red_tulip", fn() => Blocks::RED_TULIP());
950 $result->registerBlock("redstone_block", fn() => Blocks::REDSTONE());
951 $result->registerBlock("redstone_comparator", fn() => Blocks::REDSTONE_COMPARATOR());
952 $result->registerBlock("redstone_lamp", fn() => Blocks::REDSTONE_LAMP());
953 $result->registerBlock("redstone_ore", fn() => Blocks::REDSTONE_ORE());
954 $result->registerBlock("redstone_repeater", fn() => Blocks::REDSTONE_REPEATER());
955 $result->registerBlock("redstone_torch", fn() => Blocks::REDSTONE_TORCH());
956 $result->registerBlock("redstone_wire", fn() => Blocks::REDSTONE_WIRE());
957 $result->registerBlock("reeds", fn() => Blocks::SUGARCANE());
958 $result->registerBlock("reeds_block", fn() => Blocks::SUGARCANE());
959 $result->registerBlock("reinforced_deepslate", fn() => Blocks::REINFORCED_DEEPSLATE());
960 $result->registerBlock("repeater", fn() => Blocks::REDSTONE_REPEATER());
961 $result->registerBlock("repeater_block", fn() => Blocks::REDSTONE_REPEATER());
962 $result->registerBlock("reserved6", fn() => Blocks::RESERVED6());
963 $result->registerBlock("rooted_dirt", fn() => Blocks::DIRT()->setDirtType(DirtType::ROOTED));
964 $result->registerBlock("rose", fn() => Blocks::POPPY());
965 $result->registerBlock("rose_bush", fn() => Blocks::ROSE_BUSH());
966 $result->registerBlock("sand", fn() => Blocks::SAND());
967 $result->registerBlock("sandstone", fn() => Blocks::SANDSTONE());
968 $result->registerBlock("sandstone_slab", fn() => Blocks::SANDSTONE_SLAB());
969 $result->registerBlock("sandstone_stairs", fn() => Blocks::SANDSTONE_STAIRS());
970 $result->registerBlock("sandstone_wall", fn() => Blocks::SANDSTONE_WALL());
971 $result->registerBlock("sapling", fn() => Blocks::OAK_SAPLING());
972 $result->registerBlock("sculk", fn() => Blocks::SCULK());
973 $result->registerBlock("sea_lantern", fn() => Blocks::SEA_LANTERN());
974 $result->registerBlock("sea_pickle", fn() => Blocks::SEA_PICKLE());
975 $result->registerBlock("sealantern", fn() => Blocks::SEA_LANTERN());
976 $result->registerBlock("shroomlight", fn() => Blocks::SHROOMLIGHT());
977 $result->registerBlock("shulker_box", fn() => Blocks::SHULKER_BOX());
978 $result->registerBlock("sign", fn() => Blocks::OAK_SIGN());
979 $result->registerBlock("sign_post", fn() => Blocks::OAK_SIGN());
980 $result->registerBlock("skeleton_skull", fn() => Blocks::MOB_HEAD()->setMobHeadType(MobHeadType::SKELETON));
981 $result->registerBlock("skull", fn() => Blocks::MOB_HEAD()->setMobHeadType(MobHeadType::SKELETON));
982 $result->registerBlock("skull_block", fn() => Blocks::MOB_HEAD());
983 $result->registerBlock("slab", fn() => Blocks::SMOOTH_STONE_SLAB());
984 $result->registerBlock("slabs", fn() => Blocks::SMOOTH_STONE_SLAB());
985 $result->registerBlock("slime", fn() => Blocks::SLIME());
986 $result->registerBlock("slime_block", fn() => Blocks::SLIME());
987 $result->registerBlock("small_amethyst_bud", fn() => Blocks::AMETHYST_CLUSTER()->setStage(AmethystCluster::STAGE_SMALL_BUD));
988 $result->registerBlock("small_dripleaf", fn() => Blocks::SMALL_DRIPLEAF());
989 $result->registerBlock("smithing_table", fn() => Blocks::SMITHING_TABLE());
990 $result->registerBlock("smoker", fn() => Blocks::SMOKER());
991 $result->registerBlock("smooth_basalt", fn() => Blocks::SMOOTH_BASALT());
992 $result->registerBlock("smooth_quartz", fn() => Blocks::SMOOTH_QUARTZ());
993 $result->registerBlock("smooth_quartz_slab", fn() => Blocks::SMOOTH_QUARTZ_SLAB());
994 $result->registerBlock("smooth_quartz_stairs", fn() => Blocks::SMOOTH_QUARTZ_STAIRS());
995 $result->registerBlock("smooth_red_sandstone", fn() => Blocks::SMOOTH_RED_SANDSTONE());
996 $result->registerBlock("smooth_red_sandstone_slab", fn() => Blocks::SMOOTH_RED_SANDSTONE_SLAB());
997 $result->registerBlock("smooth_red_sandstone_stairs", fn() => Blocks::SMOOTH_RED_SANDSTONE_STAIRS());
998 $result->registerBlock("smooth_sandstone", fn() => Blocks::SMOOTH_SANDSTONE());
999 $result->registerBlock("smooth_sandstone_slab", fn() => Blocks::SMOOTH_SANDSTONE_SLAB());
1000 $result->registerBlock("smooth_sandstone_stairs", fn() => Blocks::SMOOTH_SANDSTONE_STAIRS());
1001 $result->registerBlock("smooth_stone", fn() => Blocks::SMOOTH_STONE());
1002 $result->registerBlock("smooth_stone_slab", fn() => Blocks::SMOOTH_STONE_SLAB());
1003 $result->registerBlock("snow", fn() => Blocks::SNOW());
1004 $result->registerBlock("snow_block", fn() => Blocks::SNOW());
1005 $result->registerBlock("snow_layer", fn() => Blocks::SNOW_LAYER());
1006 $result->registerBlock("soul_lantern", fn() => Blocks::SOUL_LANTERN());
1007 $result->registerBlock("soul_sand", fn() => Blocks::SOUL_SAND());
1008 $result->registerBlock("soul_soil", fn() => Blocks::SOUL_SOIL());
1009 $result->registerBlock("soul_torch", fn() => Blocks::SOUL_TORCH());
1010 $result->registerBlock("sponge", fn() => Blocks::SPONGE());
1011 $result->registerBlock("spore_blossom", fn() => Blocks::SPORE_BLOSSOM());
1012 $result->registerBlock("spruce_button", fn() => Blocks::SPRUCE_BUTTON());
1013 $result->registerBlock("spruce_door", fn() => Blocks::SPRUCE_DOOR());
1014 $result->registerBlock("spruce_door_block", fn() => Blocks::SPRUCE_DOOR());
1015 $result->registerBlock("spruce_fence", fn() => Blocks::SPRUCE_FENCE());
1016 $result->registerBlock("spruce_fence_gate", fn() => Blocks::SPRUCE_FENCE_GATE());
1017 $result->registerBlock("spruce_leaves", fn() => Blocks::SPRUCE_LEAVES());
1018 $result->registerBlock("spruce_log", fn() => Blocks::SPRUCE_LOG()->setStripped(false));
1019 $result->registerBlock("spruce_planks", fn() => Blocks::SPRUCE_PLANKS());
1020 $result->registerBlock("spruce_pressure_plate", fn() => Blocks::SPRUCE_PRESSURE_PLATE());
1021 $result->registerBlock("spruce_sapling", fn() => Blocks::SPRUCE_SAPLING());
1022 $result->registerBlock("spruce_sign", fn() => Blocks::SPRUCE_SIGN());
1023 $result->registerBlock("spruce_slab", fn() => Blocks::SPRUCE_SLAB());
1024 $result->registerBlock("spruce_stairs", fn() => Blocks::SPRUCE_STAIRS());
1025 $result->registerBlock("spruce_standing_sign", fn() => Blocks::SPRUCE_SIGN());
1026 $result->registerBlock("spruce_trapdoor", fn() => Blocks::SPRUCE_TRAPDOOR());
1027 $result->registerBlock("spruce_wall_sign", fn() => Blocks::SPRUCE_WALL_SIGN());
1028 $result->registerBlock("spruce_wood", fn() => Blocks::SPRUCE_WOOD()->setStripped(false));
1029 $result->registerBlock("spruce_wood_stairs", fn() => Blocks::SPRUCE_STAIRS());
1030 $result->registerBlock("spruce_wooden_stairs", fn() => Blocks::SPRUCE_STAIRS());
1031 $result->registerBlock("stained_clay", fn() => Blocks::STAINED_CLAY());
1032 $result->registerBlock("stained_glass", fn() => Blocks::STAINED_GLASS());
1033 $result->registerBlock("stained_glass_pane", fn() => Blocks::STAINED_GLASS_PANE());
1034 $result->registerBlock("stained_hardened_clay", fn() => Blocks::STAINED_CLAY());
1035 $result->registerBlock("stained_hardened_glass", fn() => Blocks::STAINED_HARDENED_GLASS());
1036 $result->registerBlock("stained_hardened_glass_pane", fn() => Blocks::STAINED_HARDENED_GLASS_PANE());
1037 $result->registerBlock("standing_banner", fn() => Blocks::BANNER());
1038 $result->registerBlock("standing_sign", fn() => Blocks::OAK_SIGN());
1039 $result->registerBlock("still_lava", fn() => Blocks::LAVA()->setStill(true));
1040 $result->registerBlock("still_water", fn() => Blocks::WATER()->setStill(true));
1041 $result->registerBlock("stone", fn() => Blocks::STONE());
1042 $result->registerBlock("stone_brick", fn() => Blocks::STONE_BRICKS());
1043 $result->registerBlock("stone_brick_slab", fn() => Blocks::STONE_BRICK_SLAB());
1044 $result->registerBlock("stone_brick_stairs", fn() => Blocks::STONE_BRICK_STAIRS());
1045 $result->registerBlock("stone_brick_wall", fn() => Blocks::STONE_BRICK_WALL());
1046 $result->registerBlock("stone_bricks", fn() => Blocks::STONE_BRICKS());
1047 $result->registerBlock("stone_button", fn() => Blocks::STONE_BUTTON());
1048 $result->registerBlock("stone_pressure_plate", fn() => Blocks::STONE_PRESSURE_PLATE());
1049 $result->registerBlock("stone_slab", fn() => Blocks::STONE_SLAB());
1050 $result->registerBlock("stone_slab2", fn() => Blocks::RED_SANDSTONE_SLAB());
1051 $result->registerBlock("stone_slab3", fn() => Blocks::END_STONE_BRICK_SLAB());
1052 $result->registerBlock("stone_slab4", fn() => Blocks::MOSSY_STONE_BRICK_SLAB());
1053 $result->registerBlock("stone_stairs", fn() => Blocks::STONE_STAIRS());
1054 $result->registerBlock("stone_wall", fn() => Blocks::COBBLESTONE_WALL());
1055 $result->registerBlock("stonebrick", fn() => Blocks::STONE_BRICKS());
1056 $result->registerBlock("stonecutter", fn() => Blocks::STONECUTTER());
1057 $result->registerBlock("stonecutter_block", fn() => Blocks::STONECUTTER());
1058 $result->registerBlock("stripped_acacia_log", fn() => Blocks::ACACIA_LOG()->setStripped(true));
1059 $result->registerBlock("stripped_acacia_wood", fn() => Blocks::ACACIA_WOOD()->setStripped(true));
1060 $result->registerBlock("stripped_birch_log", fn() => Blocks::BIRCH_LOG()->setStripped(true));
1061 $result->registerBlock("stripped_birch_wood", fn() => Blocks::BIRCH_WOOD()->setStripped(true));
1062 $result->registerBlock("stripped_cherry_log", fn() => Blocks::CHERRY_LOG()->setStripped(true));
1063 $result->registerBlock("stripped_cherry_wood", fn() => Blocks::CHERRY_WOOD()->setStripped(true));
1064 $result->registerBlock("stripped_crimson_hyphae", fn() => Blocks::CRIMSON_HYPHAE()->setStripped(true));
1065 $result->registerBlock("stripped_crimson_stem", fn() => Blocks::CRIMSON_STEM()->setStripped(true));
1066 $result->registerBlock("stripped_dark_oak_log", fn() => Blocks::DARK_OAK_LOG()->setStripped(true));
1067 $result->registerBlock("stripped_dark_oak_wood", fn() => Blocks::DARK_OAK_WOOD()->setStripped(true));
1068 $result->registerBlock("stripped_jungle_log", fn() => Blocks::JUNGLE_LOG()->setStripped(true));
1069 $result->registerBlock("stripped_jungle_wood", fn() => Blocks::JUNGLE_WOOD()->setStripped(true));
1070 $result->registerBlock("stripped_mangrove_log", fn() => Blocks::MANGROVE_LOG()->setStripped(true));
1071 $result->registerBlock("stripped_mangrove_wood", fn() => Blocks::MANGROVE_WOOD()->setStripped(true));
1072 $result->registerBlock("stripped_oak_log", fn() => Blocks::OAK_LOG()->setStripped(true));
1073 $result->registerBlock("stripped_oak_wood", fn() => Blocks::OAK_WOOD()->setStripped(true));
1074 $result->registerBlock("stripped_spruce_log", fn() => Blocks::SPRUCE_LOG()->setStripped(true));
1075 $result->registerBlock("stripped_spruce_wood", fn() => Blocks::SPRUCE_WOOD()->setStripped(true));
1076 $result->registerBlock("stripped_warped_hyphae", fn() => Blocks::WARPED_HYPHAE()->setStripped(true));
1077 $result->registerBlock("stripped_warped_stem", fn() => Blocks::WARPED_STEM()->setStripped(true));
1078 $result->registerBlock("sugar_cane", fn() => Blocks::SUGARCANE());
1079 $result->registerBlock("sugar_canes", fn() => Blocks::SUGARCANE());
1080 $result->registerBlock("sugarcane", fn() => Blocks::SUGARCANE());
1081 $result->registerBlock("sugarcane_block", fn() => Blocks::SUGARCANE());
1082 $result->registerBlock("sunflower", fn() => Blocks::SUNFLOWER());
1083 $result->registerBlock("sweet_berry_bush", fn() => Blocks::SWEET_BERRY_BUSH());
1084 $result->registerBlock("tall_grass", fn() => Blocks::TALL_GRASS());
1085 $result->registerBlock("tallgrass", fn() => Blocks::FERN());
1086 $result->registerBlock("terracotta", fn() => Blocks::STAINED_CLAY());
1087 $result->registerBlock("tinted_glass", fn() => Blocks::TINTED_GLASS());
1088 $result->registerBlock("tnt", fn() => Blocks::TNT());
1089 $result->registerBlock("torch", fn() => Blocks::TORCH());
1090 $result->registerBlock("torchflower", fn() => Blocks::TORCHFLOWER());
1091 $result->registerBlock("trapdoor", fn() => Blocks::OAK_TRAPDOOR());
1092 $result->registerBlock("trapped_chest", fn() => Blocks::TRAPPED_CHEST());
1093 $result->registerBlock("trip_wire", fn() => Blocks::TRIPWIRE());
1094 $result->registerBlock("tripwire", fn() => Blocks::TRIPWIRE());
1095 $result->registerBlock("tripwire_hook", fn() => Blocks::TRIPWIRE_HOOK());
1096 $result->registerBlock("trunk", fn() => Blocks::OAK_PLANKS());
1097 $result->registerBlock("trunk2", fn() => Blocks::ACACIA_LOG()->setStripped(false));
1098 $result->registerBlock("tuff", fn() => Blocks::TUFF());
1099 $result->registerBlock("twisting_vines", fn() => Blocks::TWISTING_VINES());
1100 $result->registerBlock("underwater_tnt", fn() => Blocks::TNT()->setWorksUnderwater(true));
1101 $result->registerBlock("underwater_torch", fn() => Blocks::UNDERWATER_TORCH());
1102 $result->registerBlock("undyed_shulker_box", fn() => Blocks::SHULKER_BOX());
1103 $result->registerBlock("unlit_redstone_torch", fn() => Blocks::REDSTONE_TORCH());
1104 $result->registerBlock("unpowered_comparator", fn() => Blocks::REDSTONE_COMPARATOR());
1105 $result->registerBlock("unpowered_comparator_block", fn() => Blocks::REDSTONE_COMPARATOR());
1106 $result->registerBlock("unpowered_repeater", fn() => Blocks::REDSTONE_REPEATER());
1107 $result->registerBlock("unpowered_repeater_block", fn() => Blocks::REDSTONE_REPEATER());
1108 $result->registerBlock("update_block", fn() => Blocks::INFO_UPDATE());
1109 $result->registerBlock("vine", fn() => Blocks::VINES());
1110 $result->registerBlock("vines", fn() => Blocks::VINES());
1111 $result->registerBlock("wall_banner", fn() => Blocks::WALL_BANNER());
1112 $result->registerBlock("wall_coral_fan", fn() => Blocks::WALL_CORAL_FAN());
1113 $result->registerBlock("wall_sign", fn() => Blocks::OAK_WALL_SIGN());
1114 $result->registerBlock("warped_button", fn() => Blocks::WARPED_BUTTON());
1115 $result->registerBlock("warped_door", fn() => Blocks::WARPED_DOOR());
1116 $result->registerBlock("warped_fence", fn() => Blocks::WARPED_FENCE());
1117 $result->registerBlock("warped_fence_gate", fn() => Blocks::WARPED_FENCE_GATE());
1118 $result->registerBlock("warped_hyphae", fn() => Blocks::WARPED_HYPHAE()->setStripped(false));
1119 $result->registerBlock("warped_planks", fn() => Blocks::WARPED_PLANKS());
1120 $result->registerBlock("warped_pressure_plate", fn() => Blocks::WARPED_PRESSURE_PLATE());
1121 $result->registerBlock("warped_roots", fn() => Blocks::WARPED_ROOTS());
1122 $result->registerBlock("warped_sign", fn() => Blocks::WARPED_SIGN());
1123 $result->registerBlock("warped_slab", fn() => Blocks::WARPED_SLAB());
1124 $result->registerBlock("warped_stairs", fn() => Blocks::WARPED_STAIRS());
1125 $result->registerBlock("warped_stem", fn() => Blocks::WARPED_STEM()->setStripped(false));
1126 $result->registerBlock("warped_trapdoor", fn() => Blocks::WARPED_TRAPDOOR());
1127 $result->registerBlock("warped_wart_block", fn() => Blocks::WARPED_WART_BLOCK());
1128 $result->registerBlock("water", fn() => Blocks::WATER());
1129 $result->registerBlock("water_lily", fn() => Blocks::LILY_PAD());
1130 $result->registerBlock("waterlily", fn() => Blocks::LILY_PAD());
1131 $result->registerBlock("web", fn() => Blocks::COBWEB());
1132 $result->registerBlock("weeping_vines", fn() => Blocks::WEEPING_VINES());
1133 $result->registerBlock("weighted_pressure_plate_heavy", fn() => Blocks::WEIGHTED_PRESSURE_PLATE_HEAVY());
1134 $result->registerBlock("weighted_pressure_plate_light", fn() => Blocks::WEIGHTED_PRESSURE_PLATE_LIGHT());
1135 $result->registerBlock("wheat_block", fn() => Blocks::WHEAT());
1136 $result->registerBlock("white_tulip", fn() => Blocks::WHITE_TULIP());
1137 $result->registerBlock("wither_rose", fn() => Blocks::WITHER_ROSE());
1138 $result->registerBlock("wither_skeleton_skull", fn() => Blocks::MOB_HEAD()->setMobHeadType(MobHeadType::WITHER_SKELETON));
1139 $result->registerBlock("wood", fn() => Blocks::OAK_LOG()->setStripped(false));
1140 $result->registerBlock("wood2", fn() => Blocks::ACACIA_LOG()->setStripped(false));
1141 $result->registerBlock("wood_door_block", fn() => Blocks::OAK_DOOR());
1142 $result->registerBlock("wood_slab", fn() => Blocks::OAK_SLAB());
1143 $result->registerBlock("wood_slabs", fn() => Blocks::OAK_SLAB());
1144 $result->registerBlock("wood_stairs", fn() => Blocks::OAK_STAIRS());
1145 $result->registerBlock("wooden_button", fn() => Blocks::OAK_BUTTON());
1146 $result->registerBlock("wooden_door", fn() => Blocks::OAK_DOOR());
1147 $result->registerBlock("wooden_door_block", fn() => Blocks::OAK_DOOR());
1148 $result->registerBlock("wooden_plank", fn() => Blocks::OAK_PLANKS());
1149 $result->registerBlock("wooden_planks", fn() => Blocks::OAK_PLANKS());
1150 $result->registerBlock("wooden_pressure_plate", fn() => Blocks::OAK_PRESSURE_PLATE());
1151 $result->registerBlock("wooden_slab", fn() => Blocks::OAK_SLAB());
1152 $result->registerBlock("wooden_slabs", fn() => Blocks::OAK_SLAB());
1153 $result->registerBlock("wooden_stairs", fn() => Blocks::OAK_STAIRS());
1154 $result->registerBlock("wooden_trapdoor", fn() => Blocks::OAK_TRAPDOOR());
1155 $result->registerBlock("wool", fn() => Blocks::WOOL());
1156 $result->registerBlock("workbench", fn() => Blocks::CRAFTING_TABLE());
1157 $result->registerBlock("yellow_flower", fn() => Blocks::DANDELION());
1158 $result->registerBlock("zombie_head", fn() => Blocks::MOB_HEAD()->setMobHeadType(MobHeadType::ZOMBIE));
1159 }
1160
1161 private static function registerDynamicItems(self $result) : void{
1162 foreach(DyeColor::cases() as $color){
1163 $prefix = fn(string $name) => strtolower($color->name) . "_" . $name;
1164
1165 $result->register($prefix("dye"), fn() => Items::DYE()->setColor($color));
1166 }
1167 foreach(SuspiciousStewType::cases() as $suspiciousStewType){
1168 $prefix = fn(string $name) => strtolower($suspiciousStewType->name) . "_" . $name;
1169
1170 $result->register($prefix("suspicious_stew"), fn() => Items::SUSPICIOUS_STEW()->setType($suspiciousStewType));
1171 }
1172
1173 foreach(PotionType::cases() as $potionType){
1174 $prefix = fn(string $name) => strtolower($potionType->name) . "_" . $name;
1175
1176 $result->register($prefix("potion"), fn() => Items::POTION()->setType($potionType));
1177 $result->register($prefix("splash_potion"), fn() => Items::SPLASH_POTION()->setType($potionType));
1178 }
1179 }
1180
1181 private static function registerItems(self $result) : void{
1182
1183 $result->register("acacia_boat", fn() => Items::ACACIA_BOAT());
1184 $result->register("amethyst_shard", fn() => Items::AMETHYST_SHARD());
1185 $result->register("antidote", fn() => Items::MEDICINE()->setType(MedicineType::ANTIDOTE));
1186 $result->register("apple", fn() => Items::APPLE());
1187 $result->register("apple_enchanted", fn() => Items::ENCHANTED_GOLDEN_APPLE());
1188 $result->register("appleenchanted", fn() => Items::ENCHANTED_GOLDEN_APPLE());
1189 $result->register("arrow", fn() => Items::ARROW());
1190 $result->register("baked_potato", fn() => Items::BAKED_POTATO());
1191 $result->register("baked_potatoes", fn() => Items::BAKED_POTATO());
1192 $result->register("beef", fn() => Items::RAW_BEEF());
1193 $result->register("beetroot", fn() => Items::BEETROOT());
1194 $result->register("beetroot_seed", fn() => Items::BEETROOT_SEEDS());
1195 $result->register("beetroot_seeds", fn() => Items::BEETROOT_SEEDS());
1196 $result->register("beetroot_soup", fn() => Items::BEETROOT_SOUP());
1197 $result->register("birch_boat", fn() => Items::BIRCH_BOAT());
1198 $result->register("blaze_powder", fn() => Items::BLAZE_POWDER());
1199 $result->register("blaze_rod", fn() => Items::BLAZE_ROD());
1200 $result->register("bleach", fn() => Items::BLEACH());
1201 $result->register("boat", fn() => Items::OAK_BOAT());
1202 $result->register("bone", fn() => Items::BONE());
1203 $result->register("bone_meal", fn() => Items::BONE_MEAL());
1204 $result->register("book", fn() => Items::BOOK());
1205 $result->register("bottle_o_enchanting", fn() => Items::EXPERIENCE_BOTTLE());
1206 $result->register("bow", fn() => Items::BOW());
1207 $result->register("bowl", fn() => Items::BOWL());
1208 $result->register("bread", fn() => Items::BREAD());
1209 $result->register("brick", fn() => Items::BRICK());
1210 $result->register("bucket", fn() => Items::BUCKET());
1211 $result->register("carrot", fn() => Items::CARROT());
1212 $result->register("chain_boots", fn() => Items::CHAINMAIL_BOOTS());
1213 $result->register("chain_chestplate", fn() => Items::CHAINMAIL_CHESTPLATE());
1214 $result->register("chain_helmet", fn() => Items::CHAINMAIL_HELMET());
1215 $result->register("chain_leggings", fn() => Items::CHAINMAIL_LEGGINGS());
1216 $result->register("chainmail_boots", fn() => Items::CHAINMAIL_BOOTS());
1217 $result->register("chainmail_chestplate", fn() => Items::CHAINMAIL_CHESTPLATE());
1218 $result->register("chainmail_helmet", fn() => Items::CHAINMAIL_HELMET());
1219 $result->register("chainmail_leggings", fn() => Items::CHAINMAIL_LEGGINGS());
1220 $result->register("charcoal", fn() => Items::CHARCOAL());
1221 $result->register("chemical_aluminium_oxide", fn() => Items::CHEMICAL_ALUMINIUM_OXIDE());
1222 $result->register("chemical_ammonia", fn() => Items::CHEMICAL_AMMONIA());
1223 $result->register("chemical_barium_sulphate", fn() => Items::CHEMICAL_BARIUM_SULPHATE());
1224 $result->register("chemical_benzene", fn() => Items::CHEMICAL_BENZENE());
1225 $result->register("chemical_boron_trioxide", fn() => Items::CHEMICAL_BORON_TRIOXIDE());
1226 $result->register("chemical_calcium_bromide", fn() => Items::CHEMICAL_CALCIUM_BROMIDE());
1227 $result->register("chemical_calcium_chloride", fn() => Items::CHEMICAL_CALCIUM_CHLORIDE());
1228 $result->register("chemical_cerium_chloride", fn() => Items::CHEMICAL_CERIUM_CHLORIDE());
1229 $result->register("chemical_charcoal", fn() => Items::CHEMICAL_CHARCOAL());
1230 $result->register("chemical_crude_oil", fn() => Items::CHEMICAL_CRUDE_OIL());
1231 $result->register("chemical_glue", fn() => Items::CHEMICAL_GLUE());
1232 $result->register("chemical_hydrogen_peroxide", fn() => Items::CHEMICAL_HYDROGEN_PEROXIDE());
1233 $result->register("chemical_hypochlorite", fn() => Items::CHEMICAL_HYPOCHLORITE());
1234 $result->register("chemical_ink", fn() => Items::CHEMICAL_INK());
1235 $result->register("chemical_iron_sulphide", fn() => Items::CHEMICAL_IRON_SULPHIDE());
1236 $result->register("chemical_latex", fn() => Items::CHEMICAL_LATEX());
1237 $result->register("chemical_lithium_hydride", fn() => Items::CHEMICAL_LITHIUM_HYDRIDE());
1238 $result->register("chemical_luminol", fn() => Items::CHEMICAL_LUMINOL());
1239 $result->register("chemical_magnesium_nitrate", fn() => Items::CHEMICAL_MAGNESIUM_NITRATE());
1240 $result->register("chemical_magnesium_oxide", fn() => Items::CHEMICAL_MAGNESIUM_OXIDE());
1241 $result->register("chemical_magnesium_salts", fn() => Items::CHEMICAL_MAGNESIUM_SALTS());
1242 $result->register("chemical_mercuric_chloride", fn() => Items::CHEMICAL_MERCURIC_CHLORIDE());
1243 $result->register("chemical_polyethylene", fn() => Items::CHEMICAL_POLYETHYLENE());
1244 $result->register("chemical_potassium_chloride", fn() => Items::CHEMICAL_POTASSIUM_CHLORIDE());
1245 $result->register("chemical_potassium_iodide", fn() => Items::CHEMICAL_POTASSIUM_IODIDE());
1246 $result->register("chemical_rubbish", fn() => Items::CHEMICAL_RUBBISH());
1247 $result->register("chemical_salt", fn() => Items::CHEMICAL_SALT());
1248 $result->register("chemical_soap", fn() => Items::CHEMICAL_SOAP());
1249 $result->register("chemical_sodium_acetate", fn() => Items::CHEMICAL_SODIUM_ACETATE());
1250 $result->register("chemical_sodium_fluoride", fn() => Items::CHEMICAL_SODIUM_FLUORIDE());
1251 $result->register("chemical_sodium_hydride", fn() => Items::CHEMICAL_SODIUM_HYDRIDE());
1252 $result->register("chemical_sodium_hydroxide", fn() => Items::CHEMICAL_SODIUM_HYDROXIDE());
1253 $result->register("chemical_sodium_hypochlorite", fn() => Items::CHEMICAL_SODIUM_HYPOCHLORITE());
1254 $result->register("chemical_sodium_oxide", fn() => Items::CHEMICAL_SODIUM_OXIDE());
1255 $result->register("chemical_sugar", fn() => Items::CHEMICAL_SUGAR());
1256 $result->register("chemical_sulphate", fn() => Items::CHEMICAL_SULPHATE());
1257 $result->register("chemical_tungsten_chloride", fn() => Items::CHEMICAL_TUNGSTEN_CHLORIDE());
1258 $result->register("chemical_water", fn() => Items::CHEMICAL_WATER());
1259 $result->register("chicken", fn() => Items::RAW_CHICKEN());
1260 $result->register("chorus_fruit", fn() => Items::CHORUS_FRUIT());
1261 $result->register("chorus_fruit_popped", fn() => Items::POPPED_CHORUS_FRUIT());
1262 $result->register("clay", fn() => Items::CLAY());
1263 $result->register("clay_ball", fn() => Items::CLAY());
1264 $result->register("clock", fn() => Items::CLOCK());
1265 $result->register("clown_fish", fn() => Items::CLOWNFISH());
1266 $result->register("clownfish", fn() => Items::CLOWNFISH());
1267 $result->register("coal", fn() => Items::COAL());
1268 $result->register("coast_armor_trim_smithing_template", fn() => Items::COAST_ARMOR_TRIM_SMITHING_TEMPLATE());
1269 $result->register("cocoa_beans", fn() => Items::COCOA_BEANS());
1270 $result->register("cod", fn() => Items::RAW_FISH());
1271 $result->register("compass", fn() => Items::COMPASS());
1272 $result->register("compound", fn() => Items::CHEMICAL_SALT());
1273 $result->register("cooked_beef", fn() => Items::STEAK());
1274 $result->register("cooked_chicken", fn() => Items::COOKED_CHICKEN());
1275 $result->register("cooked_cod", fn() => Items::COOKED_FISH());
1276 $result->register("cooked_fish", fn() => Items::COOKED_FISH());
1277 $result->register("cooked_mutton", fn() => Items::COOKED_MUTTON());
1278 $result->register("cooked_porkchop", fn() => Items::COOKED_PORKCHOP());
1279 $result->register("cooked_rabbit", fn() => Items::COOKED_RABBIT());
1280 $result->register("cooked_salmon", fn() => Items::COOKED_SALMON());
1281 $result->register("cookie", fn() => Items::COOKIE());
1282 $result->register("copper_ingot", fn() => Items::COPPER_INGOT());
1283 $result->register("dark_oak_boat", fn() => Items::DARK_OAK_BOAT());
1284 $result->register("diamond", fn() => Items::DIAMOND());
1285 $result->register("diamond_axe", fn() => Items::DIAMOND_AXE());
1286 $result->register("diamond_boots", fn() => Items::DIAMOND_BOOTS());
1287 $result->register("diamond_chestplate", fn() => Items::DIAMOND_CHESTPLATE());
1288 $result->register("diamond_helmet", fn() => Items::DIAMOND_HELMET());
1289 $result->register("diamond_hoe", fn() => Items::DIAMOND_HOE());
1290 $result->register("diamond_leggings", fn() => Items::DIAMOND_LEGGINGS());
1291 $result->register("diamond_pickaxe", fn() => Items::DIAMOND_PICKAXE());
1292 $result->register("diamond_shovel", fn() => Items::DIAMOND_SHOVEL());
1293 $result->register("diamond_sword", fn() => Items::DIAMOND_SWORD());
1294 $result->register("disc_fragment_5", fn() => Items::DISC_FRAGMENT_5());
1295 $result->register("dragon_breath", fn() => Items::DRAGON_BREATH());
1296 $result->register("dried_kelp", fn() => Items::DRIED_KELP());
1297 $result->register("dune_armor_trim_smithing_template", fn() => Items::DUNE_ARMOR_TRIM_SMITHING_TEMPLATE());
1298 $result->register("dye", fn() => Items::INK_SAC());
1299 $result->register("echo_shard", fn() => Items::ECHO_SHARD());
1300 $result->register("egg", fn() => Items::EGG());
1301 $result->register("elixir", fn() => Items::MEDICINE()->setType(MedicineType::ELIXIR));
1302 $result->register("emerald", fn() => Items::EMERALD());
1303 $result->register("enchanted_book", fn() => Items::ENCHANTED_BOOK());
1304 $result->register("enchanted_golden_apple", fn() => Items::ENCHANTED_GOLDEN_APPLE());
1305 $result->register("enchanting_bottle", fn() => Items::EXPERIENCE_BOTTLE());
1306 $result->register("ender_pearl", fn() => Items::ENDER_PEARL());
1307 $result->register("experience_bottle", fn() => Items::EXPERIENCE_BOTTLE());
1308 $result->register("eye_armor_trim_smithing_template", fn() => Items::EYE_ARMOR_TRIM_SMITHING_TEMPLATE());
1309 $result->register("eye_drops", fn() => Items::MEDICINE()->setType(MedicineType::EYE_DROPS));
1310 $result->register("feather", fn() => Items::FEATHER());
1311 $result->register("fermented_spider_eye", fn() => Items::FERMENTED_SPIDER_EYE());
1312 $result->register("fire_charge", fn() => Items::FIRE_CHARGE());
1313 $result->register("fish", fn() => Items::RAW_FISH());
1314 $result->register("fishing_rod", fn() => Items::FISHING_ROD());
1315 $result->register("flint", fn() => Items::FLINT());
1316 $result->register("flint_and_steel", fn() => Items::FLINT_AND_STEEL());
1317 $result->register("flint_steel", fn() => Items::FLINT_AND_STEEL());
1318 $result->register("ghast_tear", fn() => Items::GHAST_TEAR());
1319 $result->register("glass_bottle", fn() => Items::GLASS_BOTTLE());
1320 $result->register("glistering_melon", fn() => Items::GLISTERING_MELON());
1321 $result->register("glow_berries", fn() => Items::GLOW_BERRIES());
1322 $result->register("glow_ink_sac", fn() => Items::GLOW_INK_SAC());
1323 $result->register("glowstone_dust", fn() => Items::GLOWSTONE_DUST());
1324 $result->register("gold_axe", fn() => Items::GOLDEN_AXE());
1325 $result->register("gold_boots", fn() => Items::GOLDEN_BOOTS());
1326 $result->register("gold_chestplate", fn() => Items::GOLDEN_CHESTPLATE());
1327 $result->register("gold_helmet", fn() => Items::GOLDEN_HELMET());
1328 $result->register("gold_hoe", fn() => Items::GOLDEN_HOE());
1329 $result->register("gold_ingot", fn() => Items::GOLD_INGOT());
1330 $result->register("gold_leggings", fn() => Items::GOLDEN_LEGGINGS());
1331 $result->register("gold_nugget", fn() => Items::GOLD_NUGGET());
1332 $result->register("gold_pickaxe", fn() => Items::GOLDEN_PICKAXE());
1333 $result->register("gold_shovel", fn() => Items::GOLDEN_SHOVEL());
1334 $result->register("gold_sword", fn() => Items::GOLDEN_SWORD());
1335 $result->register("golden_apple", fn() => Items::GOLDEN_APPLE());
1336 $result->register("golden_axe", fn() => Items::GOLDEN_AXE());
1337 $result->register("golden_boots", fn() => Items::GOLDEN_BOOTS());
1338 $result->register("golden_carrot", fn() => Items::GOLDEN_CARROT());
1339 $result->register("golden_chestplate", fn() => Items::GOLDEN_CHESTPLATE());
1340 $result->register("golden_helmet", fn() => Items::GOLDEN_HELMET());
1341 $result->register("golden_hoe", fn() => Items::GOLDEN_HOE());
1342 $result->register("golden_leggings", fn() => Items::GOLDEN_LEGGINGS());
1343 $result->register("golden_nugget", fn() => Items::GOLD_NUGGET());
1344 $result->register("golden_pickaxe", fn() => Items::GOLDEN_PICKAXE());
1345 $result->register("golden_shovel", fn() => Items::GOLDEN_SHOVEL());
1346 $result->register("golden_sword", fn() => Items::GOLDEN_SWORD());
1347 $result->register("gunpowder", fn() => Items::GUNPOWDER());
1348 $result->register("heart_of_the_sea", fn() => Items::HEART_OF_THE_SEA());
1349 $result->register("honey_bottle", fn() => Items::HONEY_BOTTLE());
1350 $result->register("host_armor_trim_smithing_template", fn() => Items::HOST_ARMOR_TRIM_SMITHING_TEMPLATE());
1351 $result->register("honeycomb", fn() => Items::HONEYCOMB());
1352 $result->register("ink_sac", fn() => Items::INK_SAC());
1353 $result->register("iron_axe", fn() => Items::IRON_AXE());
1354 $result->register("iron_boots", fn() => Items::IRON_BOOTS());
1355 $result->register("iron_chestplate", fn() => Items::IRON_CHESTPLATE());
1356 $result->register("iron_helmet", fn() => Items::IRON_HELMET());
1357 $result->register("iron_hoe", fn() => Items::IRON_HOE());
1358 $result->register("iron_ingot", fn() => Items::IRON_INGOT());
1359 $result->register("iron_leggings", fn() => Items::IRON_LEGGINGS());
1360 $result->register("iron_nugget", fn() => Items::IRON_NUGGET());
1361 $result->register("iron_pickaxe", fn() => Items::IRON_PICKAXE());
1362 $result->register("iron_shovel", fn() => Items::IRON_SHOVEL());
1363 $result->register("iron_sword", fn() => Items::IRON_SWORD());
1364 $result->register("jungle_boat", fn() => Items::JUNGLE_BOAT());
1365 $result->register("lapis_lazuli", fn() => Items::LAPIS_LAZULI());
1366 $result->register("lava_bucket", fn() => Items::LAVA_BUCKET());
1367 $result->register("leather", fn() => Items::LEATHER());
1368 $result->register("leather_boots", fn() => Items::LEATHER_BOOTS());
1369 $result->register("leather_cap", fn() => Items::LEATHER_CAP());
1370 $result->register("leather_chestplate", fn() => Items::LEATHER_TUNIC());
1371 $result->register("leather_helmet", fn() => Items::LEATHER_CAP());
1372 $result->register("leather_leggings", fn() => Items::LEATHER_PANTS());
1373 $result->register("leather_pants", fn() => Items::LEATHER_PANTS());
1374 $result->register("leather_tunic", fn() => Items::LEATHER_TUNIC());
1375 $result->register("magma_cream", fn() => Items::MAGMA_CREAM());
1376 $result->register("melon", fn() => Items::MELON());
1377 $result->register("melon_seeds", fn() => Items::MELON_SEEDS());
1378 $result->register("melon_slice", fn() => Items::MELON());
1379 $result->register("milk_bucket", fn() => Items::MILK_BUCKET());
1380 $result->register("minecart", fn() => Items::MINECART());
1381 $result->register("mushroom_stew", fn() => Items::MUSHROOM_STEW());
1382 $result->register("mutton", fn() => Items::RAW_MUTTON());
1383 $result->register("mutton_cooked", fn() => Items::COOKED_MUTTON());
1384 $result->register("mutton_raw", fn() => Items::RAW_MUTTON());
1385 $result->register("muttoncooked", fn() => Items::COOKED_MUTTON());
1386 $result->register("muttonraw", fn() => Items::RAW_MUTTON());
1387 $result->register("name_tag", fn() => Items::NAME_TAG());
1388 $result->register("nautilus_shell", fn() => Items::NAUTILUS_SHELL());
1389 $result->register("nether_brick", fn() => Items::NETHER_BRICK());
1390 $result->register("nether_quartz", fn() => Items::NETHER_QUARTZ());
1391 $result->register("nether_star", fn() => Items::NETHER_STAR());
1392 $result->register("netherbrick", fn() => Items::NETHER_BRICK());
1393 $result->register("netherite_axe", fn() => Items::NETHERITE_AXE());
1394 $result->register("netherite_boots", fn() => Items::NETHERITE_BOOTS());
1395 $result->register("netherite_chestplate", fn() => Items::NETHERITE_CHESTPLATE());
1396 $result->register("netherite_helmet", fn() => Items::NETHERITE_HELMET());
1397 $result->register("netherite_hoe", fn() => Items::NETHERITE_HOE());
1398 $result->register("netherite_ingot", fn() => Items::NETHERITE_INGOT());
1399 $result->register("netherite_leggings", fn() => Items::NETHERITE_LEGGINGS());
1400 $result->register("netherite_pickaxe", fn() => Items::NETHERITE_PICKAXE());
1401 $result->register("netherite_scrap", fn() => Items::NETHERITE_SCRAP());
1402 $result->register("netherite_shovel", fn() => Items::NETHERITE_SHOVEL());
1403 $result->register("netherite_sword", fn() => Items::NETHERITE_SWORD());
1404 $result->register("netherstar", fn() => Items::NETHER_STAR());
1405 $result->register("netherite_upgrade_smithing_template", fn() => Items::NETHERITE_UPGRADE_SMITHING_TEMPLATE());
1406 $result->register("oak_boat", fn() => Items::OAK_BOAT());
1407 $result->register("painting", fn() => Items::PAINTING());
1408 $result->register("paper", fn() => Items::PAPER());
1409 $result->register("phantom_membrane", fn() => Items::PHANTOM_MEMBRANE());
1410 $result->register("pitcher_pod", fn() => Items::PITCHER_POD());
1411 $result->register("poisonous_potato", fn() => Items::POISONOUS_POTATO());
1412 $result->register("popped_chorus_fruit", fn() => Items::POPPED_CHORUS_FRUIT());
1413 $result->register("porkchop", fn() => Items::RAW_PORKCHOP());
1414 $result->register("potato", fn() => Items::POTATO());
1415 $result->register("potion", fn() => Items::POTION());
1416 $result->register("prismarine_crystals", fn() => Items::PRISMARINE_CRYSTALS());
1417 $result->register("prismarine_shard", fn() => Items::PRISMARINE_SHARD());
1418 $result->register("puffer_fish", fn() => Items::PUFFERFISH());
1419 $result->register("pufferfish", fn() => Items::PUFFERFISH());
1420 $result->register("pumpkin_pie", fn() => Items::PUMPKIN_PIE());
1421 $result->register("pumpkin_seeds", fn() => Items::PUMPKIN_SEEDS());
1422 $result->register("quartz", fn() => Items::NETHER_QUARTZ());
1423 $result->register("rabbit", fn() => Items::RAW_RABBIT());
1424 $result->register("rabbit_foot", fn() => Items::RABBIT_FOOT());
1425 $result->register("rabbit_hide", fn() => Items::RABBIT_HIDE());
1426 $result->register("rabbit_stew", fn() => Items::RABBIT_STEW());
1427 $result->register("raiser_armor_trim_smithing_template", fn() => Items::RAISER_ARMOR_TRIM_SMITHING_TEMPLATE());
1428 $result->register("raw_beef", fn() => Items::RAW_BEEF());
1429 $result->register("raw_cod", fn() => Items::RAW_FISH());
1430 $result->register("raw_copper", fn() => Items::RAW_COPPER());
1431 $result->register("raw_chicken", fn() => Items::RAW_CHICKEN());
1432 $result->register("raw_fish", fn() => Items::RAW_FISH());
1433 $result->register("raw_gold", fn() => Items::RAW_GOLD());
1434 $result->register("raw_iron", fn() => Items::RAW_IRON());
1435 $result->register("raw_mutton", fn() => Items::RAW_MUTTON());
1436 $result->register("raw_porkchop", fn() => Items::RAW_PORKCHOP());
1437 $result->register("raw_rabbit", fn() => Items::RAW_RABBIT());
1438 $result->register("raw_salmon", fn() => Items::RAW_SALMON());
1439 $result->register("record_11", fn() => Items::RECORD_11());
1440 $result->register("record_13", fn() => Items::RECORD_13());
1441 $result->register("record_5", fn() => Items::RECORD_5());
1442 $result->register("record_blocks", fn() => Items::RECORD_BLOCKS());
1443 $result->register("record_cat", fn() => Items::RECORD_CAT());
1444 $result->register("record_chirp", fn() => Items::RECORD_CHIRP());
1445 $result->register("record_far", fn() => Items::RECORD_FAR());
1446 $result->register("record_mall", fn() => Items::RECORD_MALL());
1447 $result->register("record_mellohi", fn() => Items::RECORD_MELLOHI());
1448 $result->register("record_otherside", fn() => Items::RECORD_OTHERSIDE());
1449 $result->register("record_pigstep", fn() => Items::RECORD_PIGSTEP());
1450 $result->register("record_stal", fn() => Items::RECORD_STAL());
1451 $result->register("record_strad", fn() => Items::RECORD_STRAD());
1452 $result->register("record_wait", fn() => Items::RECORD_WAIT());
1453 $result->register("record_ward", fn() => Items::RECORD_WARD());
1454 $result->register("redstone", fn() => Items::REDSTONE_DUST());
1455 $result->register("redstone_dust", fn() => Items::REDSTONE_DUST());
1456 $result->register("rib_armor_trim_smithing_template", fn() => Items::RIB_ARMOR_TRIM_SMITHING_TEMPLATE());
1457 $result->register("rotten_flesh", fn() => Items::ROTTEN_FLESH());
1458 $result->register("salmon", fn() => Items::RAW_SALMON());
1459 $result->register("scute", fn() => Items::SCUTE());
1460 $result->register("sentry_armor_trim_smithing_template", fn() => Items::SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE());
1461 $result->register("shaper_armor_trim_smithing_template", fn() => Items::SHAPER_ARMOR_TRIM_SMITHING_TEMPLATE());
1462 $result->register("seeds", fn() => Items::WHEAT_SEEDS());
1463 $result->register("shears", fn() => Items::SHEARS());
1464 $result->register("shulker_shell", fn() => Items::SHULKER_SHELL());
1465 $result->register("silence_armor_trim_smithing_template", fn() => Items::SILENCE_ARMOR_TRIM_SMITHING_TEMPLATE());
1466 $result->register("slime_ball", fn() => Items::SLIMEBALL());
1467 $result->register("snout_armor_trim_smithing_template", fn() => Items::SNOUT_ARMOR_TRIM_SMITHING_TEMPLATE());
1468 $result->register("slimeball", fn() => Items::SLIMEBALL());
1469 $result->register("snowball", fn() => Items::SNOWBALL());
1470 $result->register("speckled_melon", fn() => Items::GLISTERING_MELON());
1471 $result->register("spider_eye", fn() => Items::SPIDER_EYE());
1472 $result->register("spire_armor_trim_smithing_template", fn() => Items::SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE());
1473 $result->register("splash_potion", fn() => Items::SPLASH_POTION());
1474 $result->register("spruce_boat", fn() => Items::SPRUCE_BOAT());
1475 $result->register("spyglass", fn() => Items::SPYGLASS());
1476 $result->register("squid_spawn_egg", fn() => Items::SQUID_SPAWN_EGG());
1477 $result->register("steak", fn() => Items::STEAK());
1478 $result->register("stick", fn() => Items::STICK());
1479 $result->register("sticks", fn() => Items::STICK());
1480 $result->register("stone_axe", fn() => Items::STONE_AXE());
1481 $result->register("stone_hoe", fn() => Items::STONE_HOE());
1482 $result->register("stone_pickaxe", fn() => Items::STONE_PICKAXE());
1483 $result->register("stone_shovel", fn() => Items::STONE_SHOVEL());
1484 $result->register("stone_sword", fn() => Items::STONE_SWORD());
1485 $result->register("string", fn() => Items::STRING());
1486 $result->register("sugar", fn() => Items::SUGAR());
1487 $result->register("suspicious_stew", fn() => Items::SUSPICIOUS_STEW());
1488 $result->register("sweet_berries", fn() => Items::SWEET_BERRIES());
1489 $result->register("tonic", fn() => Items::MEDICINE()->setType(MedicineType::TONIC));
1490 $result->register("torchflower_seeds", fn() => Items::TORCHFLOWER_SEEDS());
1491 $result->register("tide_armor_trim_smithing_template", fn() => Items::TIDE_ARMOR_TRIM_SMITHING_TEMPLATE());
1492 $result->register("totem", fn() => Items::TOTEM());
1493 $result->register("turtle_helmet", fn() => Items::TURTLE_HELMET());
1494 $result->register("vex_armor_trim_smithing_template", fn() => Items::VEX_ARMOR_TRIM_SMITHING_TEMPLATE());
1495 $result->register("turtle_shell_piece", fn() => Items::SCUTE());
1496 $result->register("villager_spawn_egg", fn() => Items::VILLAGER_SPAWN_EGG());
1497 $result->register("ward_armor_trim_smithing_template", fn() => Items::WARD_ARMOR_TRIM_SMITHING_TEMPLATE());
1498 $result->register("water_bucket", fn() => Items::WATER_BUCKET());
1499 $result->register("wayfinder_armor_trim_smithing_template", fn() => Items::WAYFINDER_ARMOR_TRIM_SMITHING_TEMPLATE());
1500 $result->register("wheat", fn() => Items::WHEAT());
1501 $result->register("wheat_seeds", fn() => Items::WHEAT_SEEDS());
1502 $result->register("wild_armor_trim_smithing_template", fn() => Items::WILD_ARMOR_TRIM_SMITHING_TEMPLATE());
1503 $result->register("wooden_axe", fn() => Items::WOODEN_AXE());
1504 $result->register("wooden_hoe", fn() => Items::WOODEN_HOE());
1505 $result->register("wooden_pickaxe", fn() => Items::WOODEN_PICKAXE());
1506 $result->register("wooden_shovel", fn() => Items::WOODEN_SHOVEL());
1507 $result->register("wooden_sword", fn() => Items::WOODEN_SWORD());
1508 $result->register("writable_book", fn() => Items::WRITABLE_BOOK());
1509 $result->register("written_book", fn() => Items::WRITTEN_BOOK());
1510 $result->register("zombie_spawn_egg", fn() => Items::ZOMBIE_SPAWN_EGG());
1511 }
1512
1517 private array $reverseMap = [];
1518
1519 public function register(string $alias, \Closure $callback) : void{
1520 parent::register($alias, $callback);
1521 $item = $callback($alias);
1522 $this->reverseMap[$item->getStateId()][$alias] = true;
1523 }
1524
1526 public function registerBlock(string $alias, \Closure $callback) : void{
1527 $this->register($alias, fn(string $input) => $callback($input)->asItem());
1528 }
1529
1530 public function parse(string $input) : ?Item{
1531 return parent::parse($input);
1532 }
1533
1540 public function lookupAliases(Item $item) : array{
1541 $aliases = $this->reverseMap[$item->getStateId()] ?? [];
1542 return array_keys($aliases);
1543 }
1544
1551 public function lookupBlockAliases(Block $block) : array{
1552 return $this->lookupAliases($block->asItem());
1553 }
1554}
register(string $alias, \Closure $callback)
registerBlock(string $alias, \Closure $callback)