From 8a2ba584abb5abad46bce0b4681f90195cbc2c6c Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 25 May 2022 16:44:17 +0100 Subject: [PATCH 1/6] Release 4.4.0-BETA1 --- changelogs/4.4-beta.md | 77 ++++++++++++++++++++++++++++++++++++++++++ src/VersionInfo.php | 4 +-- 2 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 changelogs/4.4-beta.md diff --git a/changelogs/4.4-beta.md b/changelogs/4.4-beta.md new file mode 100644 index 000000000..063cc7b6d --- /dev/null +++ b/changelogs/4.4-beta.md @@ -0,0 +1,77 @@ +**For Minecraft: Bedrock Edition 1.18.30** + +### Note about API versions +Plugins which don't touch the protocol and compatible with any previous 4.x.y version will also run on these releases and do not need API bumps. +Plugin developers should **only** update their required API to this version if you need the changes in this build. + +**WARNING: If your plugin uses the protocol, you're not shielded by API change constraints.** You should consider using the `mcpe-protocol` directive in `plugin.yml` as a constraint if you do. + +# 4.4.0-BETA1 +Released 25th May 2022. + +## General +- The server will now shut itself down if any of the following errors occur during startup: + - Any plugin fails to load or enable (plugins loaded by other plugins post-startup are **not** affected by this change) (**PR [#4951](https://github.com/pmmp/PocketMine-MP/pull/4951)**) + - The motivation for this change is to prevent situations where plugins failing to load could result in adverse outcomes, such as a world protection plugin leaving a lobby unprotected from griefing. + - If you encounter this problem, remove the offending plugin(s) or prevent it from loading using `plugin_list.yml`. + - See **PR [#4951](https://github.com/pmmp/PocketMine-MP/pull/4951)** for more detail on this change. + - Any world mentioned in `server.properties` or `pocketmine.yml` fails to load (worlds loaded by plugins are **not** affected by this change) + - Any world mentioned in `server.properties` or `pocketmine.yml` fails to generate (e.g. due to invalid generator settings) +- Enabling the server whitelist while the server is running (e.g. using `/whitelist on`) will now kick any non-whitelisted players currently on the server (**PR [#4774](https://github.com/pmmp/PocketMine-MP/pull/4774)**). +- Help for commands (`/help `) now displays a list of aliases of that command. +- A CRITICIAL log message is now generated if a plugin disables itself when enabling, in case the plugin doesn't emit any error of its own. +- The `/give` command now shows the alias used to find the given item in the success message, instead of the item ID/meta. + +## Fixes +- Block placement has been fixed in many places where it previously didn't work correctly (**PR [#4886](https://github.com/pmmp/PocketMine-MP/pull/4886)**): + - torches on top of slabs, upside-down stairs + - torches on the back face of stairs + - flower pots on top of fences + - the list goes on and on ... +- Fixed backslash escapes not getting properly removed from commands in some cases. +- Fixed aliases defined in the `aliases` section of `pocketmine.yml` not being treated as quote-aware. + +## Gameplay +- Plants in flower pots can now be removed by right-clicking on the flower pot. +- Leaves now have a 2% chance of dropping sticks when destroyed by hand (**PR [#5019](https://github.com/pmmp/PocketMine-MP/pull/5019)**). +- Food exhaustion now matches Bedrock 1.18.30 (**PR [#5034](https://github.com/pmmp/PocketMine-MP/pull/5034)**). +- Implemented Stonecutter block (**PR [#4732](https://github.com/pmmp/PocketMine-MP/pull/4732)**). + +## API +### Block +- Added `Block->getSupportType(Facing) : SupportType` (**PR [#4886](https://github.com/pmmp/PocketMine-MP/pull/4886)**). + - This is used to determine the kind of support a block face can provide to a block (e.g. a torch) placed on it. +- Added `utils\SupportType` enum (**PR [#4886](https://github.com/pmmp/PocketMine-MP/pull/4886)**). +- `tile\Spawnable->isDirty()` and `tile\Spawnable->setDirty()` are now `@deprecated`. + +### Command +- Added `CommandStringHelper::parseQuoteAware()`. This static method contains the code used by `SimpleCommandMap` used to parse quoted command arguments. + +### Entity +- Added `Human::emote()` (**PR [#4610](https://github.com/pmmp/PocketMine-MP/pull/4610)**) + +### Event +- `PlayerCommandPreprocessEvent` is now `@deprecated`, since its functionality is entirely replaced by other, general-purpose events. + - Use `CommandEvent` to intercept commands. + - Use `PlayerChatEvent` to intercept chat messages. + - To convert a chat message into a command, pass it directly to `Server->dispatchCommand()` with the player as sender. +- Added `PlayerPostChunkSendEvent` (**PR [#4937](https://github.com/pmmp/PocketMine-MP/pull/4937)**). +- Added `PlayerDeathEvent->setKeepXp()` (**PR [#4015](https://github.com/pmmp/PocketMine-MP/pull/4015)**). +- `InventoryCloseEvent` is now called **after** the target window has been removed. This fixes various feedback loops caused by trying to open new windows to a player while there was one still active. + - As a side effect, this now means that `Player->getCurrentWindow()` will return `null` during `InventoryCloseEvent`. Use `InventoryCloseEvent->getInventory()` instead. + +### Item +- `StringToItemParser` now recognizes `cod`, `raw_cod` and `cooked_cod` aliases. + +### Plugin +- `DisablePluginException` may now be thrown from `Plugin::onEnable()` to make the server gracefully disable the plugin (without crashing) (**PR [#4780](https://github.com/pmmp/PocketMine-MP/pull/4780)**). +- `PluginManager->registerEvent()` now returns the `RegisteredListener` created for the handler, to permit unregistering it later. + +## Internals +- Private property declarations now use typed properties (PHP 7.4) and promoted constructor properties (PHP 8.0) wherever possible. + - Protected and public properties remain unchanged, since they can't be changed without breaking subclasses. +- Promoted constructor properties are only used when it's consistently possible to promote most or all properties in a class. +- Simplified and improved legibility of `FormattedCommandAlias`. +- Added unit tests for the quote-aware command parser used by `SimpleCommandMap`. +- Various hardcoded values in `block` package classes have been moved to private constants to improve readability. +- Added various constants used in the `LevelDB` world provider. diff --git a/src/VersionInfo.php b/src/VersionInfo.php index 7eec0a987..b0182b947 100644 --- a/src/VersionInfo.php +++ b/src/VersionInfo.php @@ -31,8 +31,8 @@ use function str_repeat; final class VersionInfo{ public const NAME = "PocketMine-MP"; - public const BASE_VERSION = "4.4.0"; - public const IS_DEVELOPMENT_BUILD = true; + public const BASE_VERSION = "4.4.0-BETA1"; + public const IS_DEVELOPMENT_BUILD = false; public const BUILD_CHANNEL = "beta"; private function __construct(){ From 8f1452acd14f2b14118d853895bf06fea33c65f2 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 25 May 2022 16:44:32 +0100 Subject: [PATCH 2/6] 4.4.0-BETA2 is next --- src/VersionInfo.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/VersionInfo.php b/src/VersionInfo.php index b0182b947..4293992d8 100644 --- a/src/VersionInfo.php +++ b/src/VersionInfo.php @@ -31,8 +31,8 @@ use function str_repeat; final class VersionInfo{ public const NAME = "PocketMine-MP"; - public const BASE_VERSION = "4.4.0-BETA1"; - public const IS_DEVELOPMENT_BUILD = false; + public const BASE_VERSION = "4.4.0-BETA2"; + public const IS_DEVELOPMENT_BUILD = true; public const BUILD_CHANNEL = "beta"; private function __construct(){ From c492352d50c64955f6df26b9663476d72ba530ed Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 25 May 2022 17:09:29 +0100 Subject: [PATCH 3/6] changelog: fix typo [ci skip] --- changelogs/4.4-beta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelogs/4.4-beta.md b/changelogs/4.4-beta.md index 063cc7b6d..76e97a57e 100644 --- a/changelogs/4.4-beta.md +++ b/changelogs/4.4-beta.md @@ -19,7 +19,7 @@ Released 25th May 2022. - Any world mentioned in `server.properties` or `pocketmine.yml` fails to generate (e.g. due to invalid generator settings) - Enabling the server whitelist while the server is running (e.g. using `/whitelist on`) will now kick any non-whitelisted players currently on the server (**PR [#4774](https://github.com/pmmp/PocketMine-MP/pull/4774)**). - Help for commands (`/help `) now displays a list of aliases of that command. -- A CRITICIAL log message is now generated if a plugin disables itself when enabling, in case the plugin doesn't emit any error of its own. +- A CRITICAL log message is now generated if a plugin disables itself when enabling, in case the plugin doesn't emit any error of its own. - The `/give` command now shows the alias used to find the given item in the success message, instead of the item ID/meta. ## Fixes From b36c6ea13b08617835fbf41edbef6c9e6c20ffba Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 26 May 2022 15:40:18 +0100 Subject: [PATCH 4/6] StringToItemParser: Use import aliases to reduce code width --- src/item/StringToItemParser.php | 2551 ++++++++++++++++--------------- 1 file changed, 1276 insertions(+), 1275 deletions(-) diff --git a/src/item/StringToItemParser.php b/src/item/StringToItemParser.php index 9d9b25fc8..b0b294a17 100644 --- a/src/item/StringToItemParser.php +++ b/src/item/StringToItemParser.php @@ -27,7 +27,8 @@ use pocketmine\block\Block; use pocketmine\block\utils\CoralType; use pocketmine\block\utils\DyeColor; use pocketmine\block\utils\SlabType; -use pocketmine\block\VanillaBlocks; +use pocketmine\block\VanillaBlocks as Blocks; +use pocketmine\item\VanillaItems as Items; use pocketmine\utils\SingletonTrait; use pocketmine\utils\StringToTParser; @@ -45,1287 +46,1287 @@ final class StringToItemParser extends StringToTParser{ foreach(DyeColor::getAll() as $color){ $prefix = fn(string $name) => $color->name() . "_" . $name; //wall and floor banner are the same item - $result->registerBlock($prefix("banner"), fn() => VanillaBlocks::BANNER()->setColor($color)); - $result->registerBlock($prefix("bed"), fn() => VanillaBlocks::BED()->setColor($color)); - $result->registerBlock($prefix("carpet"), fn() => VanillaBlocks::CARPET()->setColor($color)); - $result->registerBlock($prefix("concrete"), fn() => VanillaBlocks::CONCRETE()->setColor($color)); - $result->registerBlock($prefix("concrete_powder"), fn() => VanillaBlocks::CONCRETE_POWDER()->setColor($color)); - $result->registerBlock($prefix("stained_clay"), fn() => VanillaBlocks::STAINED_CLAY()->setColor($color)); - $result->registerBlock($prefix("stained_glass"), fn() => VanillaBlocks::STAINED_GLASS()->setColor($color)); - $result->registerBlock($prefix("stained_glass_pane"), fn() => VanillaBlocks::STAINED_GLASS_PANE()->setColor($color)); - $result->registerBlock($prefix("stained_hardened_glass"), fn() => VanillaBlocks::STAINED_HARDENED_GLASS()->setColor($color)); - $result->registerBlock($prefix("stained_hardened_glass_pane"), fn() => VanillaBlocks::STAINED_HARDENED_GLASS_PANE()->setColor($color)); - $result->registerBlock($prefix("wool"), fn() => VanillaBlocks::WOOL()->setColor($color)); - $result->registerBlock($prefix("shulker_box"), fn() => VanillaBlocks::DYED_SHULKER_BOX()->setColor($color)); + $result->registerBlock($prefix("banner"), fn() => Blocks::BANNER()->setColor($color)); + $result->registerBlock($prefix("bed"), fn() => Blocks::BED()->setColor($color)); + $result->registerBlock($prefix("carpet"), fn() => Blocks::CARPET()->setColor($color)); + $result->registerBlock($prefix("concrete"), fn() => Blocks::CONCRETE()->setColor($color)); + $result->registerBlock($prefix("concrete_powder"), fn() => Blocks::CONCRETE_POWDER()->setColor($color)); + $result->registerBlock($prefix("stained_clay"), fn() => Blocks::STAINED_CLAY()->setColor($color)); + $result->registerBlock($prefix("stained_glass"), fn() => Blocks::STAINED_GLASS()->setColor($color)); + $result->registerBlock($prefix("stained_glass_pane"), fn() => Blocks::STAINED_GLASS_PANE()->setColor($color)); + $result->registerBlock($prefix("stained_hardened_glass"), fn() => Blocks::STAINED_HARDENED_GLASS()->setColor($color)); + $result->registerBlock($prefix("stained_hardened_glass_pane"), fn() => Blocks::STAINED_HARDENED_GLASS_PANE()->setColor($color)); + $result->registerBlock($prefix("wool"), fn() => Blocks::WOOL()->setColor($color)); + $result->registerBlock($prefix("shulker_box"), fn() => Blocks::DYED_SHULKER_BOX()->setColor($color)); } foreach(CoralType::getAll() as $coralType){ $prefix = fn(string $name) => $coralType->name() . "_" . $name; - $result->registerBlock($prefix("coral"), fn() => VanillaBlocks::CORAL()->setCoralType($coralType)); - $result->registerBlock($prefix("coral_block"), fn() => VanillaBlocks::CORAL_BLOCK()->setCoralType($coralType)); + $result->registerBlock($prefix("coral"), fn() => Blocks::CORAL()->setCoralType($coralType)); + $result->registerBlock($prefix("coral_block"), fn() => Blocks::CORAL_BLOCK()->setCoralType($coralType)); //wall and floor coral fans are the same item - $result->registerBlock($prefix("coral_fan"), fn() => VanillaBlocks::CORAL_FAN()->setCoralType($coralType)); + $result->registerBlock($prefix("coral_fan"), fn() => Blocks::CORAL_FAN()->setCoralType($coralType)); } - $result->registerBlock("acacia_button", fn() => VanillaBlocks::ACACIA_BUTTON()); - $result->registerBlock("acacia_door", fn() => VanillaBlocks::ACACIA_DOOR()); - $result->registerBlock("acacia_door_block", fn() => VanillaBlocks::ACACIA_DOOR()); - $result->registerBlock("acacia_fence", fn() => VanillaBlocks::ACACIA_FENCE()); - $result->registerBlock("acacia_fence_gate", fn() => VanillaBlocks::ACACIA_FENCE_GATE()); - $result->registerBlock("acacia_leaves", fn() => VanillaBlocks::ACACIA_LEAVES()); - $result->registerBlock("acacia_log", fn() => VanillaBlocks::ACACIA_LOG()); - $result->registerBlock("acacia_planks", fn() => VanillaBlocks::ACACIA_PLANKS()); - $result->registerBlock("acacia_pressure_plate", fn() => VanillaBlocks::ACACIA_PRESSURE_PLATE()); - $result->registerBlock("acacia_sapling", fn() => VanillaBlocks::ACACIA_SAPLING()); - $result->registerBlock("acacia_sign", fn() => VanillaBlocks::ACACIA_SIGN()); - $result->registerBlock("acacia_slab", fn() => VanillaBlocks::ACACIA_SLAB()); - $result->registerBlock("acacia_stairs", fn() => VanillaBlocks::ACACIA_STAIRS()); - $result->registerBlock("acacia_standing_sign", fn() => VanillaBlocks::ACACIA_SIGN()); - $result->registerBlock("acacia_trapdoor", fn() => VanillaBlocks::ACACIA_TRAPDOOR()); - $result->registerBlock("acacia_wall_sign", fn() => VanillaBlocks::ACACIA_WALL_SIGN()); - $result->registerBlock("acacia_wood", fn() => VanillaBlocks::ACACIA_WOOD()); - $result->registerBlock("acacia_wood_stairs", fn() => VanillaBlocks::ACACIA_STAIRS()); - $result->registerBlock("acacia_wooden_stairs", fn() => VanillaBlocks::ACACIA_STAIRS()); - $result->registerBlock("activator_rail", fn() => VanillaBlocks::ACTIVATOR_RAIL()); - $result->registerBlock("active_redstone_lamp", fn() => VanillaBlocks::REDSTONE_LAMP()->setPowered(true)); - $result->registerBlock("air", fn() => VanillaBlocks::AIR()); - $result->registerBlock("all_sided_mushroom_stem", fn() => VanillaBlocks::ALL_SIDED_MUSHROOM_STEM()); - $result->registerBlock("allium", fn() => VanillaBlocks::ALLIUM()); - $result->registerBlock("andesite", fn() => VanillaBlocks::ANDESITE()); - $result->registerBlock("andesite_slab", fn() => VanillaBlocks::ANDESITE_SLAB()); - $result->registerBlock("andesite_stairs", fn() => VanillaBlocks::ANDESITE_STAIRS()); - $result->registerBlock("andesite_wall", fn() => VanillaBlocks::ANDESITE_WALL()); - $result->registerBlock("anvil", fn() => VanillaBlocks::ANVIL()); - $result->registerBlock("ateupd_block", fn() => VanillaBlocks::INFO_UPDATE2()); - $result->registerBlock("azure_bluet", fn() => VanillaBlocks::AZURE_BLUET()); - $result->registerBlock("bamboo", fn() => VanillaBlocks::BAMBOO()); - $result->registerBlock("bamboo_sapling", fn() => VanillaBlocks::BAMBOO_SAPLING()); - $result->registerBlock("banner", fn() => VanillaBlocks::BANNER()); - $result->registerBlock("barrel", fn() => VanillaBlocks::BARREL()); - $result->registerBlock("barrier", fn() => VanillaBlocks::BARRIER()); - $result->registerBlock("beacon", fn() => VanillaBlocks::BEACON()); - $result->registerBlock("bed_block", fn() => VanillaBlocks::BED()); - $result->registerBlock("bedrock", fn() => VanillaBlocks::BEDROCK()); - $result->registerBlock("beetroot_block", fn() => VanillaBlocks::BEETROOTS()); - $result->registerBlock("beetroots", fn() => VanillaBlocks::BEETROOTS()); - $result->registerBlock("bell", fn() => VanillaBlocks::BELL()); - $result->registerBlock("birch_button", fn() => VanillaBlocks::BIRCH_BUTTON()); - $result->registerBlock("birch_door", fn() => VanillaBlocks::BIRCH_DOOR()); - $result->registerBlock("birch_door_block", fn() => VanillaBlocks::BIRCH_DOOR()); - $result->registerBlock("birch_fence", fn() => VanillaBlocks::BIRCH_FENCE()); - $result->registerBlock("birch_fence_gate", fn() => VanillaBlocks::BIRCH_FENCE_GATE()); - $result->registerBlock("birch_leaves", fn() => VanillaBlocks::BIRCH_LEAVES()); - $result->registerBlock("birch_log", fn() => VanillaBlocks::BIRCH_LOG()); - $result->registerBlock("birch_planks", fn() => VanillaBlocks::BIRCH_PLANKS()); - $result->registerBlock("birch_pressure_plate", fn() => VanillaBlocks::BIRCH_PRESSURE_PLATE()); - $result->registerBlock("birch_sapling", fn() => VanillaBlocks::BIRCH_SAPLING()); - $result->registerBlock("birch_sign", fn() => VanillaBlocks::BIRCH_SIGN()); - $result->registerBlock("birch_slab", fn() => VanillaBlocks::BIRCH_SLAB()); - $result->registerBlock("birch_stairs", fn() => VanillaBlocks::BIRCH_STAIRS()); - $result->registerBlock("birch_standing_sign", fn() => VanillaBlocks::BIRCH_SIGN()); - $result->registerBlock("birch_trapdoor", fn() => VanillaBlocks::BIRCH_TRAPDOOR()); - $result->registerBlock("birch_wall_sign", fn() => VanillaBlocks::BIRCH_WALL_SIGN()); - $result->registerBlock("birch_wood", fn() => VanillaBlocks::BIRCH_WOOD()); - $result->registerBlock("birch_wood_stairs", fn() => VanillaBlocks::BIRCH_STAIRS()); - $result->registerBlock("birch_wooden_stairs", fn() => VanillaBlocks::BIRCH_STAIRS()); - $result->registerBlock("black_glazed_terracotta", fn() => VanillaBlocks::BLACK_GLAZED_TERRACOTTA()); - $result->registerBlock("blast_furnace", fn() => VanillaBlocks::BLAST_FURNACE()); - $result->registerBlock("blue_glazed_terracotta", fn() => VanillaBlocks::BLUE_GLAZED_TERRACOTTA()); - $result->registerBlock("blue_ice", fn() => VanillaBlocks::BLUE_ICE()); - $result->registerBlock("blue_orchid", fn() => VanillaBlocks::BLUE_ORCHID()); - $result->registerBlock("blue_torch", fn() => VanillaBlocks::BLUE_TORCH()); - $result->registerBlock("bone_block", fn() => VanillaBlocks::BONE_BLOCK()); - $result->registerBlock("bookshelf", fn() => VanillaBlocks::BOOKSHELF()); - $result->registerBlock("brewing_stand", fn() => VanillaBlocks::BREWING_STAND()); - $result->registerBlock("brewing_stand_block", fn() => VanillaBlocks::BREWING_STAND()); - $result->registerBlock("brick_block", fn() => VanillaBlocks::BRICKS()); - $result->registerBlock("brick_slab", fn() => VanillaBlocks::BRICK_SLAB()); - $result->registerBlock("brick_stairs", fn() => VanillaBlocks::BRICK_STAIRS()); - $result->registerBlock("brick_wall", fn() => VanillaBlocks::BRICK_WALL()); - $result->registerBlock("bricks", fn() => VanillaBlocks::BRICKS()); - $result->registerBlock("bricks_block", fn() => VanillaBlocks::BRICKS()); - $result->registerBlock("brown_glazed_terracotta", fn() => VanillaBlocks::BROWN_GLAZED_TERRACOTTA()); - $result->registerBlock("brown_mushroom", fn() => VanillaBlocks::BROWN_MUSHROOM()); - $result->registerBlock("brown_mushroom_block", fn() => VanillaBlocks::BROWN_MUSHROOM_BLOCK()); - $result->registerBlock("burning_furnace", fn() => VanillaBlocks::FURNACE()); - $result->registerBlock("bush", fn() => VanillaBlocks::DEAD_BUSH()); - $result->registerBlock("cactus", fn() => VanillaBlocks::CACTUS()); - $result->registerBlock("cake", fn() => VanillaBlocks::CAKE()); - $result->registerBlock("cake_block", fn() => VanillaBlocks::CAKE()); - $result->registerBlock("carpet", fn() => VanillaBlocks::CARPET()); - $result->registerBlock("carrot_block", fn() => VanillaBlocks::CARROTS()); - $result->registerBlock("carrots", fn() => VanillaBlocks::CARROTS()); - $result->registerBlock("carved_pumpkin", fn() => VanillaBlocks::CARVED_PUMPKIN()); - $result->registerBlock("chemical_heat", fn() => VanillaBlocks::CHEMICAL_HEAT()); - $result->registerBlock("chemistry_table", fn() => VanillaBlocks::COMPOUND_CREATOR()); - $result->registerBlock("chest", fn() => VanillaBlocks::CHEST()); - $result->registerBlock("chipped_anvil", fn() => VanillaBlocks::ANVIL()->setDamage(1)); - $result->registerBlock("chiseled_quartz", fn() => VanillaBlocks::CHISELED_QUARTZ()); - $result->registerBlock("chiseled_red_sandstone", fn() => VanillaBlocks::CHISELED_RED_SANDSTONE()); - $result->registerBlock("chiseled_sandstone", fn() => VanillaBlocks::CHISELED_SANDSTONE()); - $result->registerBlock("chiseled_stone_bricks", fn() => VanillaBlocks::CHISELED_STONE_BRICKS()); - $result->registerBlock("clay_block", fn() => VanillaBlocks::CLAY()); - $result->registerBlock("coal_block", fn() => VanillaBlocks::COAL()); - $result->registerBlock("coal_ore", fn() => VanillaBlocks::COAL_ORE()); - $result->registerBlock("coarse_dirt", fn() => VanillaBlocks::DIRT()->setCoarse(true)); - $result->registerBlock("cobble", fn() => VanillaBlocks::COBBLESTONE()); - $result->registerBlock("cobble_stairs", fn() => VanillaBlocks::COBBLESTONE_STAIRS()); - $result->registerBlock("cobble_wall", fn() => VanillaBlocks::COBBLESTONE_WALL()); - $result->registerBlock("cobblestone", fn() => VanillaBlocks::COBBLESTONE()); - $result->registerBlock("cobblestone_slab", fn() => VanillaBlocks::COBBLESTONE_SLAB()); - $result->registerBlock("cobblestone_stairs", fn() => VanillaBlocks::COBBLESTONE_STAIRS()); - $result->registerBlock("cobblestone_wall", fn() => VanillaBlocks::COBBLESTONE_WALL()); - $result->registerBlock("cobweb", fn() => VanillaBlocks::COBWEB()); - $result->registerBlock("cocoa", fn() => VanillaBlocks::COCOA_POD()); - $result->registerBlock("cocoa_block", fn() => VanillaBlocks::COCOA_POD()); - $result->registerBlock("cocoa_pod", fn() => VanillaBlocks::COCOA_POD()); - $result->registerBlock("cocoa_pods", fn() => VanillaBlocks::COCOA_POD()); - $result->registerBlock("colored_torch_bp", fn() => VanillaBlocks::BLUE_TORCH()); - $result->registerBlock("colored_torch_rg", fn() => VanillaBlocks::RED_TORCH()); - $result->registerBlock("comparator", fn() => VanillaBlocks::REDSTONE_COMPARATOR()); - $result->registerBlock("comparator_block", fn() => VanillaBlocks::REDSTONE_COMPARATOR()); - $result->registerBlock("compound_creator", fn() => VanillaBlocks::COMPOUND_CREATOR()); - $result->registerBlock("concrete", fn() => VanillaBlocks::CONCRETE()); - $result->registerBlock("concrete_powder", fn() => VanillaBlocks::CONCRETE_POWDER()); - $result->registerBlock("concretepowder", fn() => VanillaBlocks::CONCRETE_POWDER()); - $result->registerBlock("coral", fn() => VanillaBlocks::CORAL()); - $result->registerBlock("coral_block", fn() => VanillaBlocks::CORAL_BLOCK()); - $result->registerBlock("coral_fan", fn() => VanillaBlocks::CORAL_FAN()); - $result->registerBlock("coral_fan_dead", fn() => VanillaBlocks::CORAL_FAN()->setCoralType(CoralType::TUBE())->setDead(true)); - $result->registerBlock("coral_fan_hang", fn() => VanillaBlocks::WALL_CORAL_FAN()); - $result->registerBlock("coral_fan_hang2", fn() => VanillaBlocks::WALL_CORAL_FAN()->setCoralType(CoralType::BUBBLE())); - $result->registerBlock("coral_fan_hang3", fn() => VanillaBlocks::WALL_CORAL_FAN()->setCoralType(CoralType::HORN())); - $result->registerBlock("cornflower", fn() => VanillaBlocks::CORNFLOWER()); - $result->registerBlock("cracked_stone_bricks", fn() => VanillaBlocks::CRACKED_STONE_BRICKS()); - $result->registerBlock("crafting_table", fn() => VanillaBlocks::CRAFTING_TABLE()); - $result->registerBlock("cut_red_sandstone", fn() => VanillaBlocks::CUT_RED_SANDSTONE()); - $result->registerBlock("cut_red_sandstone_slab", fn() => VanillaBlocks::CUT_RED_SANDSTONE_SLAB()); - $result->registerBlock("cut_sandstone", fn() => VanillaBlocks::CUT_SANDSTONE()); - $result->registerBlock("cut_sandstone_slab", fn() => VanillaBlocks::CUT_SANDSTONE_SLAB()); - $result->registerBlock("cyan_glazed_terracotta", fn() => VanillaBlocks::CYAN_GLAZED_TERRACOTTA()); - $result->registerBlock("damaged_anvil", fn() => VanillaBlocks::ANVIL()->setDamage(2)); - $result->registerBlock("dandelion", fn() => VanillaBlocks::DANDELION()); - $result->registerBlock("dark_oak_button", fn() => VanillaBlocks::DARK_OAK_BUTTON()); - $result->registerBlock("dark_oak_door", fn() => VanillaBlocks::DARK_OAK_DOOR()); - $result->registerBlock("dark_oak_door_block", fn() => VanillaBlocks::DARK_OAK_DOOR()); - $result->registerBlock("dark_oak_fence", fn() => VanillaBlocks::DARK_OAK_FENCE()); - $result->registerBlock("dark_oak_fence_gate", fn() => VanillaBlocks::DARK_OAK_FENCE_GATE()); - $result->registerBlock("dark_oak_leaves", fn() => VanillaBlocks::DARK_OAK_LEAVES()); - $result->registerBlock("dark_oak_log", fn() => VanillaBlocks::DARK_OAK_LOG()); - $result->registerBlock("dark_oak_planks", fn() => VanillaBlocks::DARK_OAK_PLANKS()); - $result->registerBlock("dark_oak_pressure_plate", fn() => VanillaBlocks::DARK_OAK_PRESSURE_PLATE()); - $result->registerBlock("dark_oak_sapling", fn() => VanillaBlocks::DARK_OAK_SAPLING()); - $result->registerBlock("dark_oak_sign", fn() => VanillaBlocks::DARK_OAK_SIGN()); - $result->registerBlock("dark_oak_slab", fn() => VanillaBlocks::DARK_OAK_SLAB()); - $result->registerBlock("dark_oak_stairs", fn() => VanillaBlocks::DARK_OAK_STAIRS()); - $result->registerBlock("dark_oak_standing_sign", fn() => VanillaBlocks::DARK_OAK_SIGN()); - $result->registerBlock("dark_oak_trapdoor", fn() => VanillaBlocks::DARK_OAK_TRAPDOOR()); - $result->registerBlock("dark_oak_wall_sign", fn() => VanillaBlocks::DARK_OAK_WALL_SIGN()); - $result->registerBlock("dark_oak_wood", fn() => VanillaBlocks::DARK_OAK_WOOD()); - $result->registerBlock("dark_oak_wood_stairs", fn() => VanillaBlocks::DARK_OAK_STAIRS()); - $result->registerBlock("dark_oak_wooden_stairs", fn() => VanillaBlocks::DARK_OAK_STAIRS()); - $result->registerBlock("dark_prismarine", fn() => VanillaBlocks::DARK_PRISMARINE()); - $result->registerBlock("dark_prismarine_slab", fn() => VanillaBlocks::DARK_PRISMARINE_SLAB()); - $result->registerBlock("dark_prismarine_stairs", fn() => VanillaBlocks::DARK_PRISMARINE_STAIRS()); - $result->registerBlock("darkoak_sign", fn() => VanillaBlocks::DARK_OAK_SIGN()); - $result->registerBlock("darkoak_standing_sign", fn() => VanillaBlocks::DARK_OAK_SIGN()); - $result->registerBlock("darkoak_wall_sign", fn() => VanillaBlocks::DARK_OAK_WALL_SIGN()); - $result->registerBlock("daylight_detector", fn() => VanillaBlocks::DAYLIGHT_SENSOR()); - $result->registerBlock("daylight_detector_inverted", fn() => VanillaBlocks::DAYLIGHT_SENSOR()->setInverted(true)); - $result->registerBlock("daylight_sensor", fn() => VanillaBlocks::DAYLIGHT_SENSOR()); - $result->registerBlock("daylight_sensor_inverted", fn() => VanillaBlocks::DAYLIGHT_SENSOR()->setInverted(true)); - $result->registerBlock("dead_bush", fn() => VanillaBlocks::DEAD_BUSH()); - $result->registerBlock("deadbush", fn() => VanillaBlocks::DEAD_BUSH()); - $result->registerBlock("detector_rail", fn() => VanillaBlocks::DETECTOR_RAIL()); - $result->registerBlock("diamond_block", fn() => VanillaBlocks::DIAMOND()); - $result->registerBlock("diamond_ore", fn() => VanillaBlocks::DIAMOND_ORE()); - $result->registerBlock("diorite", fn() => VanillaBlocks::DIORITE()); - $result->registerBlock("diorite_slab", fn() => VanillaBlocks::DIORITE_SLAB()); - $result->registerBlock("diorite_stairs", fn() => VanillaBlocks::DIORITE_STAIRS()); - $result->registerBlock("diorite_wall", fn() => VanillaBlocks::DIORITE_WALL()); - $result->registerBlock("dirt", fn() => VanillaBlocks::DIRT()); - $result->registerBlock("door_block", fn() => VanillaBlocks::OAK_DOOR()); - $result->registerBlock("double_plant", fn() => VanillaBlocks::SUNFLOWER()); - $result->registerBlock("double_red_sandstone_slab", fn() => VanillaBlocks::RED_SANDSTONE_SLAB()->setSlabType(SlabType::DOUBLE())); - $result->registerBlock("double_slab", fn() => VanillaBlocks::STONE_SLAB()->setSlabType(SlabType::DOUBLE())); - $result->registerBlock("double_slabs", fn() => VanillaBlocks::STONE_SLAB()->setSlabType(SlabType::DOUBLE())); - $result->registerBlock("double_stone_slab", fn() => VanillaBlocks::STONE_SLAB()->setSlabType(SlabType::DOUBLE())); - $result->registerBlock("double_stone_slab2", fn() => VanillaBlocks::RED_SANDSTONE_SLAB()->setSlabType(SlabType::DOUBLE())); - $result->registerBlock("double_stone_slab3", fn() => VanillaBlocks::END_STONE_BRICK_SLAB()->setSlabType(SlabType::DOUBLE())); - $result->registerBlock("double_stone_slab4", fn() => VanillaBlocks::MOSSY_STONE_BRICK_SLAB()->setSlabType(SlabType::DOUBLE())); - $result->registerBlock("double_tallgrass", fn() => VanillaBlocks::DOUBLE_TALLGRASS()); - $result->registerBlock("double_wood_slab", fn() => VanillaBlocks::OAK_SLAB()->setSlabType(SlabType::DOUBLE())); - $result->registerBlock("double_wood_slabs", fn() => VanillaBlocks::OAK_SLAB()->setSlabType(SlabType::DOUBLE())); - $result->registerBlock("double_wooden_slab", fn() => VanillaBlocks::OAK_SLAB()->setSlabType(SlabType::DOUBLE())); - $result->registerBlock("double_wooden_slabs", fn() => VanillaBlocks::OAK_SLAB()->setSlabType(SlabType::DOUBLE())); - $result->registerBlock("dragon_egg", fn() => VanillaBlocks::DRAGON_EGG()); - $result->registerBlock("dried_kelp_block", fn() => VanillaBlocks::DRIED_KELP()); - $result->registerBlock("dyed_shulker_box", fn() => VanillaBlocks::DYED_SHULKER_BOX()); - $result->registerBlock("element_0", fn() => VanillaBlocks::ELEMENT_ZERO()); - $result->registerBlock("element_1", fn() => VanillaBlocks::ELEMENT_HYDROGEN()); - $result->registerBlock("element_10", fn() => VanillaBlocks::ELEMENT_NEON()); - $result->registerBlock("element_100", fn() => VanillaBlocks::ELEMENT_FERMIUM()); - $result->registerBlock("element_101", fn() => VanillaBlocks::ELEMENT_MENDELEVIUM()); - $result->registerBlock("element_102", fn() => VanillaBlocks::ELEMENT_NOBELIUM()); - $result->registerBlock("element_103", fn() => VanillaBlocks::ELEMENT_LAWRENCIUM()); - $result->registerBlock("element_104", fn() => VanillaBlocks::ELEMENT_RUTHERFORDIUM()); - $result->registerBlock("element_105", fn() => VanillaBlocks::ELEMENT_DUBNIUM()); - $result->registerBlock("element_106", fn() => VanillaBlocks::ELEMENT_SEABORGIUM()); - $result->registerBlock("element_107", fn() => VanillaBlocks::ELEMENT_BOHRIUM()); - $result->registerBlock("element_108", fn() => VanillaBlocks::ELEMENT_HASSIUM()); - $result->registerBlock("element_109", fn() => VanillaBlocks::ELEMENT_MEITNERIUM()); - $result->registerBlock("element_11", fn() => VanillaBlocks::ELEMENT_SODIUM()); - $result->registerBlock("element_110", fn() => VanillaBlocks::ELEMENT_DARMSTADTIUM()); - $result->registerBlock("element_111", fn() => VanillaBlocks::ELEMENT_ROENTGENIUM()); - $result->registerBlock("element_112", fn() => VanillaBlocks::ELEMENT_COPERNICIUM()); - $result->registerBlock("element_113", fn() => VanillaBlocks::ELEMENT_NIHONIUM()); - $result->registerBlock("element_114", fn() => VanillaBlocks::ELEMENT_FLEROVIUM()); - $result->registerBlock("element_115", fn() => VanillaBlocks::ELEMENT_MOSCOVIUM()); - $result->registerBlock("element_116", fn() => VanillaBlocks::ELEMENT_LIVERMORIUM()); - $result->registerBlock("element_117", fn() => VanillaBlocks::ELEMENT_TENNESSINE()); - $result->registerBlock("element_118", fn() => VanillaBlocks::ELEMENT_OGANESSON()); - $result->registerBlock("element_12", fn() => VanillaBlocks::ELEMENT_MAGNESIUM()); - $result->registerBlock("element_13", fn() => VanillaBlocks::ELEMENT_ALUMINUM()); - $result->registerBlock("element_14", fn() => VanillaBlocks::ELEMENT_SILICON()); - $result->registerBlock("element_15", fn() => VanillaBlocks::ELEMENT_PHOSPHORUS()); - $result->registerBlock("element_16", fn() => VanillaBlocks::ELEMENT_SULFUR()); - $result->registerBlock("element_17", fn() => VanillaBlocks::ELEMENT_CHLORINE()); - $result->registerBlock("element_18", fn() => VanillaBlocks::ELEMENT_ARGON()); - $result->registerBlock("element_19", fn() => VanillaBlocks::ELEMENT_POTASSIUM()); - $result->registerBlock("element_2", fn() => VanillaBlocks::ELEMENT_HELIUM()); - $result->registerBlock("element_20", fn() => VanillaBlocks::ELEMENT_CALCIUM()); - $result->registerBlock("element_21", fn() => VanillaBlocks::ELEMENT_SCANDIUM()); - $result->registerBlock("element_22", fn() => VanillaBlocks::ELEMENT_TITANIUM()); - $result->registerBlock("element_23", fn() => VanillaBlocks::ELEMENT_VANADIUM()); - $result->registerBlock("element_24", fn() => VanillaBlocks::ELEMENT_CHROMIUM()); - $result->registerBlock("element_25", fn() => VanillaBlocks::ELEMENT_MANGANESE()); - $result->registerBlock("element_26", fn() => VanillaBlocks::ELEMENT_IRON()); - $result->registerBlock("element_27", fn() => VanillaBlocks::ELEMENT_COBALT()); - $result->registerBlock("element_28", fn() => VanillaBlocks::ELEMENT_NICKEL()); - $result->registerBlock("element_29", fn() => VanillaBlocks::ELEMENT_COPPER()); - $result->registerBlock("element_3", fn() => VanillaBlocks::ELEMENT_LITHIUM()); - $result->registerBlock("element_30", fn() => VanillaBlocks::ELEMENT_ZINC()); - $result->registerBlock("element_31", fn() => VanillaBlocks::ELEMENT_GALLIUM()); - $result->registerBlock("element_32", fn() => VanillaBlocks::ELEMENT_GERMANIUM()); - $result->registerBlock("element_33", fn() => VanillaBlocks::ELEMENT_ARSENIC()); - $result->registerBlock("element_34", fn() => VanillaBlocks::ELEMENT_SELENIUM()); - $result->registerBlock("element_35", fn() => VanillaBlocks::ELEMENT_BROMINE()); - $result->registerBlock("element_36", fn() => VanillaBlocks::ELEMENT_KRYPTON()); - $result->registerBlock("element_37", fn() => VanillaBlocks::ELEMENT_RUBIDIUM()); - $result->registerBlock("element_38", fn() => VanillaBlocks::ELEMENT_STRONTIUM()); - $result->registerBlock("element_39", fn() => VanillaBlocks::ELEMENT_YTTRIUM()); - $result->registerBlock("element_4", fn() => VanillaBlocks::ELEMENT_BERYLLIUM()); - $result->registerBlock("element_40", fn() => VanillaBlocks::ELEMENT_ZIRCONIUM()); - $result->registerBlock("element_41", fn() => VanillaBlocks::ELEMENT_NIOBIUM()); - $result->registerBlock("element_42", fn() => VanillaBlocks::ELEMENT_MOLYBDENUM()); - $result->registerBlock("element_43", fn() => VanillaBlocks::ELEMENT_TECHNETIUM()); - $result->registerBlock("element_44", fn() => VanillaBlocks::ELEMENT_RUTHENIUM()); - $result->registerBlock("element_45", fn() => VanillaBlocks::ELEMENT_RHODIUM()); - $result->registerBlock("element_46", fn() => VanillaBlocks::ELEMENT_PALLADIUM()); - $result->registerBlock("element_47", fn() => VanillaBlocks::ELEMENT_SILVER()); - $result->registerBlock("element_48", fn() => VanillaBlocks::ELEMENT_CADMIUM()); - $result->registerBlock("element_49", fn() => VanillaBlocks::ELEMENT_INDIUM()); - $result->registerBlock("element_5", fn() => VanillaBlocks::ELEMENT_BORON()); - $result->registerBlock("element_50", fn() => VanillaBlocks::ELEMENT_TIN()); - $result->registerBlock("element_51", fn() => VanillaBlocks::ELEMENT_ANTIMONY()); - $result->registerBlock("element_52", fn() => VanillaBlocks::ELEMENT_TELLURIUM()); - $result->registerBlock("element_53", fn() => VanillaBlocks::ELEMENT_IODINE()); - $result->registerBlock("element_54", fn() => VanillaBlocks::ELEMENT_XENON()); - $result->registerBlock("element_55", fn() => VanillaBlocks::ELEMENT_CESIUM()); - $result->registerBlock("element_56", fn() => VanillaBlocks::ELEMENT_BARIUM()); - $result->registerBlock("element_57", fn() => VanillaBlocks::ELEMENT_LANTHANUM()); - $result->registerBlock("element_58", fn() => VanillaBlocks::ELEMENT_CERIUM()); - $result->registerBlock("element_59", fn() => VanillaBlocks::ELEMENT_PRASEODYMIUM()); - $result->registerBlock("element_6", fn() => VanillaBlocks::ELEMENT_CARBON()); - $result->registerBlock("element_60", fn() => VanillaBlocks::ELEMENT_NEODYMIUM()); - $result->registerBlock("element_61", fn() => VanillaBlocks::ELEMENT_PROMETHIUM()); - $result->registerBlock("element_62", fn() => VanillaBlocks::ELEMENT_SAMARIUM()); - $result->registerBlock("element_63", fn() => VanillaBlocks::ELEMENT_EUROPIUM()); - $result->registerBlock("element_64", fn() => VanillaBlocks::ELEMENT_GADOLINIUM()); - $result->registerBlock("element_65", fn() => VanillaBlocks::ELEMENT_TERBIUM()); - $result->registerBlock("element_66", fn() => VanillaBlocks::ELEMENT_DYSPROSIUM()); - $result->registerBlock("element_67", fn() => VanillaBlocks::ELEMENT_HOLMIUM()); - $result->registerBlock("element_68", fn() => VanillaBlocks::ELEMENT_ERBIUM()); - $result->registerBlock("element_69", fn() => VanillaBlocks::ELEMENT_THULIUM()); - $result->registerBlock("element_7", fn() => VanillaBlocks::ELEMENT_NITROGEN()); - $result->registerBlock("element_70", fn() => VanillaBlocks::ELEMENT_YTTERBIUM()); - $result->registerBlock("element_71", fn() => VanillaBlocks::ELEMENT_LUTETIUM()); - $result->registerBlock("element_72", fn() => VanillaBlocks::ELEMENT_HAFNIUM()); - $result->registerBlock("element_73", fn() => VanillaBlocks::ELEMENT_TANTALUM()); - $result->registerBlock("element_74", fn() => VanillaBlocks::ELEMENT_TUNGSTEN()); - $result->registerBlock("element_75", fn() => VanillaBlocks::ELEMENT_RHENIUM()); - $result->registerBlock("element_76", fn() => VanillaBlocks::ELEMENT_OSMIUM()); - $result->registerBlock("element_77", fn() => VanillaBlocks::ELEMENT_IRIDIUM()); - $result->registerBlock("element_78", fn() => VanillaBlocks::ELEMENT_PLATINUM()); - $result->registerBlock("element_79", fn() => VanillaBlocks::ELEMENT_GOLD()); - $result->registerBlock("element_8", fn() => VanillaBlocks::ELEMENT_OXYGEN()); - $result->registerBlock("element_80", fn() => VanillaBlocks::ELEMENT_MERCURY()); - $result->registerBlock("element_81", fn() => VanillaBlocks::ELEMENT_THALLIUM()); - $result->registerBlock("element_82", fn() => VanillaBlocks::ELEMENT_LEAD()); - $result->registerBlock("element_83", fn() => VanillaBlocks::ELEMENT_BISMUTH()); - $result->registerBlock("element_84", fn() => VanillaBlocks::ELEMENT_POLONIUM()); - $result->registerBlock("element_85", fn() => VanillaBlocks::ELEMENT_ASTATINE()); - $result->registerBlock("element_86", fn() => VanillaBlocks::ELEMENT_RADON()); - $result->registerBlock("element_87", fn() => VanillaBlocks::ELEMENT_FRANCIUM()); - $result->registerBlock("element_88", fn() => VanillaBlocks::ELEMENT_RADIUM()); - $result->registerBlock("element_89", fn() => VanillaBlocks::ELEMENT_ACTINIUM()); - $result->registerBlock("element_9", fn() => VanillaBlocks::ELEMENT_FLUORINE()); - $result->registerBlock("element_90", fn() => VanillaBlocks::ELEMENT_THORIUM()); - $result->registerBlock("element_91", fn() => VanillaBlocks::ELEMENT_PROTACTINIUM()); - $result->registerBlock("element_92", fn() => VanillaBlocks::ELEMENT_URANIUM()); - $result->registerBlock("element_93", fn() => VanillaBlocks::ELEMENT_NEPTUNIUM()); - $result->registerBlock("element_94", fn() => VanillaBlocks::ELEMENT_PLUTONIUM()); - $result->registerBlock("element_95", fn() => VanillaBlocks::ELEMENT_AMERICIUM()); - $result->registerBlock("element_96", fn() => VanillaBlocks::ELEMENT_CURIUM()); - $result->registerBlock("element_97", fn() => VanillaBlocks::ELEMENT_BERKELIUM()); - $result->registerBlock("element_98", fn() => VanillaBlocks::ELEMENT_CALIFORNIUM()); - $result->registerBlock("element_99", fn() => VanillaBlocks::ELEMENT_EINSTEINIUM()); - $result->registerBlock("element_actinium", fn() => VanillaBlocks::ELEMENT_ACTINIUM()); - $result->registerBlock("element_aluminum", fn() => VanillaBlocks::ELEMENT_ALUMINUM()); - $result->registerBlock("element_americium", fn() => VanillaBlocks::ELEMENT_AMERICIUM()); - $result->registerBlock("element_antimony", fn() => VanillaBlocks::ELEMENT_ANTIMONY()); - $result->registerBlock("element_argon", fn() => VanillaBlocks::ELEMENT_ARGON()); - $result->registerBlock("element_arsenic", fn() => VanillaBlocks::ELEMENT_ARSENIC()); - $result->registerBlock("element_astatine", fn() => VanillaBlocks::ELEMENT_ASTATINE()); - $result->registerBlock("element_barium", fn() => VanillaBlocks::ELEMENT_BARIUM()); - $result->registerBlock("element_berkelium", fn() => VanillaBlocks::ELEMENT_BERKELIUM()); - $result->registerBlock("element_beryllium", fn() => VanillaBlocks::ELEMENT_BERYLLIUM()); - $result->registerBlock("element_bismuth", fn() => VanillaBlocks::ELEMENT_BISMUTH()); - $result->registerBlock("element_bohrium", fn() => VanillaBlocks::ELEMENT_BOHRIUM()); - $result->registerBlock("element_boron", fn() => VanillaBlocks::ELEMENT_BORON()); - $result->registerBlock("element_bromine", fn() => VanillaBlocks::ELEMENT_BROMINE()); - $result->registerBlock("element_cadmium", fn() => VanillaBlocks::ELEMENT_CADMIUM()); - $result->registerBlock("element_calcium", fn() => VanillaBlocks::ELEMENT_CALCIUM()); - $result->registerBlock("element_californium", fn() => VanillaBlocks::ELEMENT_CALIFORNIUM()); - $result->registerBlock("element_carbon", fn() => VanillaBlocks::ELEMENT_CARBON()); - $result->registerBlock("element_cerium", fn() => VanillaBlocks::ELEMENT_CERIUM()); - $result->registerBlock("element_cesium", fn() => VanillaBlocks::ELEMENT_CESIUM()); - $result->registerBlock("element_chlorine", fn() => VanillaBlocks::ELEMENT_CHLORINE()); - $result->registerBlock("element_chromium", fn() => VanillaBlocks::ELEMENT_CHROMIUM()); - $result->registerBlock("element_cobalt", fn() => VanillaBlocks::ELEMENT_COBALT()); - $result->registerBlock("element_constructor", fn() => VanillaBlocks::ELEMENT_CONSTRUCTOR()); - $result->registerBlock("element_copernicium", fn() => VanillaBlocks::ELEMENT_COPERNICIUM()); - $result->registerBlock("element_copper", fn() => VanillaBlocks::ELEMENT_COPPER()); - $result->registerBlock("element_curium", fn() => VanillaBlocks::ELEMENT_CURIUM()); - $result->registerBlock("element_darmstadtium", fn() => VanillaBlocks::ELEMENT_DARMSTADTIUM()); - $result->registerBlock("element_dubnium", fn() => VanillaBlocks::ELEMENT_DUBNIUM()); - $result->registerBlock("element_dysprosium", fn() => VanillaBlocks::ELEMENT_DYSPROSIUM()); - $result->registerBlock("element_einsteinium", fn() => VanillaBlocks::ELEMENT_EINSTEINIUM()); - $result->registerBlock("element_erbium", fn() => VanillaBlocks::ELEMENT_ERBIUM()); - $result->registerBlock("element_europium", fn() => VanillaBlocks::ELEMENT_EUROPIUM()); - $result->registerBlock("element_fermium", fn() => VanillaBlocks::ELEMENT_FERMIUM()); - $result->registerBlock("element_flerovium", fn() => VanillaBlocks::ELEMENT_FLEROVIUM()); - $result->registerBlock("element_fluorine", fn() => VanillaBlocks::ELEMENT_FLUORINE()); - $result->registerBlock("element_francium", fn() => VanillaBlocks::ELEMENT_FRANCIUM()); - $result->registerBlock("element_gadolinium", fn() => VanillaBlocks::ELEMENT_GADOLINIUM()); - $result->registerBlock("element_gallium", fn() => VanillaBlocks::ELEMENT_GALLIUM()); - $result->registerBlock("element_germanium", fn() => VanillaBlocks::ELEMENT_GERMANIUM()); - $result->registerBlock("element_gold", fn() => VanillaBlocks::ELEMENT_GOLD()); - $result->registerBlock("element_hafnium", fn() => VanillaBlocks::ELEMENT_HAFNIUM()); - $result->registerBlock("element_hassium", fn() => VanillaBlocks::ELEMENT_HASSIUM()); - $result->registerBlock("element_helium", fn() => VanillaBlocks::ELEMENT_HELIUM()); - $result->registerBlock("element_holmium", fn() => VanillaBlocks::ELEMENT_HOLMIUM()); - $result->registerBlock("element_hydrogen", fn() => VanillaBlocks::ELEMENT_HYDROGEN()); - $result->registerBlock("element_indium", fn() => VanillaBlocks::ELEMENT_INDIUM()); - $result->registerBlock("element_iodine", fn() => VanillaBlocks::ELEMENT_IODINE()); - $result->registerBlock("element_iridium", fn() => VanillaBlocks::ELEMENT_IRIDIUM()); - $result->registerBlock("element_iron", fn() => VanillaBlocks::ELEMENT_IRON()); - $result->registerBlock("element_krypton", fn() => VanillaBlocks::ELEMENT_KRYPTON()); - $result->registerBlock("element_lanthanum", fn() => VanillaBlocks::ELEMENT_LANTHANUM()); - $result->registerBlock("element_lawrencium", fn() => VanillaBlocks::ELEMENT_LAWRENCIUM()); - $result->registerBlock("element_lead", fn() => VanillaBlocks::ELEMENT_LEAD()); - $result->registerBlock("element_lithium", fn() => VanillaBlocks::ELEMENT_LITHIUM()); - $result->registerBlock("element_livermorium", fn() => VanillaBlocks::ELEMENT_LIVERMORIUM()); - $result->registerBlock("element_lutetium", fn() => VanillaBlocks::ELEMENT_LUTETIUM()); - $result->registerBlock("element_magnesium", fn() => VanillaBlocks::ELEMENT_MAGNESIUM()); - $result->registerBlock("element_manganese", fn() => VanillaBlocks::ELEMENT_MANGANESE()); - $result->registerBlock("element_meitnerium", fn() => VanillaBlocks::ELEMENT_MEITNERIUM()); - $result->registerBlock("element_mendelevium", fn() => VanillaBlocks::ELEMENT_MENDELEVIUM()); - $result->registerBlock("element_mercury", fn() => VanillaBlocks::ELEMENT_MERCURY()); - $result->registerBlock("element_molybdenum", fn() => VanillaBlocks::ELEMENT_MOLYBDENUM()); - $result->registerBlock("element_moscovium", fn() => VanillaBlocks::ELEMENT_MOSCOVIUM()); - $result->registerBlock("element_neodymium", fn() => VanillaBlocks::ELEMENT_NEODYMIUM()); - $result->registerBlock("element_neon", fn() => VanillaBlocks::ELEMENT_NEON()); - $result->registerBlock("element_neptunium", fn() => VanillaBlocks::ELEMENT_NEPTUNIUM()); - $result->registerBlock("element_nickel", fn() => VanillaBlocks::ELEMENT_NICKEL()); - $result->registerBlock("element_nihonium", fn() => VanillaBlocks::ELEMENT_NIHONIUM()); - $result->registerBlock("element_niobium", fn() => VanillaBlocks::ELEMENT_NIOBIUM()); - $result->registerBlock("element_nitrogen", fn() => VanillaBlocks::ELEMENT_NITROGEN()); - $result->registerBlock("element_nobelium", fn() => VanillaBlocks::ELEMENT_NOBELIUM()); - $result->registerBlock("element_oganesson", fn() => VanillaBlocks::ELEMENT_OGANESSON()); - $result->registerBlock("element_osmium", fn() => VanillaBlocks::ELEMENT_OSMIUM()); - $result->registerBlock("element_oxygen", fn() => VanillaBlocks::ELEMENT_OXYGEN()); - $result->registerBlock("element_palladium", fn() => VanillaBlocks::ELEMENT_PALLADIUM()); - $result->registerBlock("element_phosphorus", fn() => VanillaBlocks::ELEMENT_PHOSPHORUS()); - $result->registerBlock("element_platinum", fn() => VanillaBlocks::ELEMENT_PLATINUM()); - $result->registerBlock("element_plutonium", fn() => VanillaBlocks::ELEMENT_PLUTONIUM()); - $result->registerBlock("element_polonium", fn() => VanillaBlocks::ELEMENT_POLONIUM()); - $result->registerBlock("element_potassium", fn() => VanillaBlocks::ELEMENT_POTASSIUM()); - $result->registerBlock("element_praseodymium", fn() => VanillaBlocks::ELEMENT_PRASEODYMIUM()); - $result->registerBlock("element_promethium", fn() => VanillaBlocks::ELEMENT_PROMETHIUM()); - $result->registerBlock("element_protactinium", fn() => VanillaBlocks::ELEMENT_PROTACTINIUM()); - $result->registerBlock("element_radium", fn() => VanillaBlocks::ELEMENT_RADIUM()); - $result->registerBlock("element_radon", fn() => VanillaBlocks::ELEMENT_RADON()); - $result->registerBlock("element_rhenium", fn() => VanillaBlocks::ELEMENT_RHENIUM()); - $result->registerBlock("element_rhodium", fn() => VanillaBlocks::ELEMENT_RHODIUM()); - $result->registerBlock("element_roentgenium", fn() => VanillaBlocks::ELEMENT_ROENTGENIUM()); - $result->registerBlock("element_rubidium", fn() => VanillaBlocks::ELEMENT_RUBIDIUM()); - $result->registerBlock("element_ruthenium", fn() => VanillaBlocks::ELEMENT_RUTHENIUM()); - $result->registerBlock("element_rutherfordium", fn() => VanillaBlocks::ELEMENT_RUTHERFORDIUM()); - $result->registerBlock("element_samarium", fn() => VanillaBlocks::ELEMENT_SAMARIUM()); - $result->registerBlock("element_scandium", fn() => VanillaBlocks::ELEMENT_SCANDIUM()); - $result->registerBlock("element_seaborgium", fn() => VanillaBlocks::ELEMENT_SEABORGIUM()); - $result->registerBlock("element_selenium", fn() => VanillaBlocks::ELEMENT_SELENIUM()); - $result->registerBlock("element_silicon", fn() => VanillaBlocks::ELEMENT_SILICON()); - $result->registerBlock("element_silver", fn() => VanillaBlocks::ELEMENT_SILVER()); - $result->registerBlock("element_sodium", fn() => VanillaBlocks::ELEMENT_SODIUM()); - $result->registerBlock("element_strontium", fn() => VanillaBlocks::ELEMENT_STRONTIUM()); - $result->registerBlock("element_sulfur", fn() => VanillaBlocks::ELEMENT_SULFUR()); - $result->registerBlock("element_tantalum", fn() => VanillaBlocks::ELEMENT_TANTALUM()); - $result->registerBlock("element_technetium", fn() => VanillaBlocks::ELEMENT_TECHNETIUM()); - $result->registerBlock("element_tellurium", fn() => VanillaBlocks::ELEMENT_TELLURIUM()); - $result->registerBlock("element_tennessine", fn() => VanillaBlocks::ELEMENT_TENNESSINE()); - $result->registerBlock("element_terbium", fn() => VanillaBlocks::ELEMENT_TERBIUM()); - $result->registerBlock("element_thallium", fn() => VanillaBlocks::ELEMENT_THALLIUM()); - $result->registerBlock("element_thorium", fn() => VanillaBlocks::ELEMENT_THORIUM()); - $result->registerBlock("element_thulium", fn() => VanillaBlocks::ELEMENT_THULIUM()); - $result->registerBlock("element_tin", fn() => VanillaBlocks::ELEMENT_TIN()); - $result->registerBlock("element_titanium", fn() => VanillaBlocks::ELEMENT_TITANIUM()); - $result->registerBlock("element_tungsten", fn() => VanillaBlocks::ELEMENT_TUNGSTEN()); - $result->registerBlock("element_uranium", fn() => VanillaBlocks::ELEMENT_URANIUM()); - $result->registerBlock("element_vanadium", fn() => VanillaBlocks::ELEMENT_VANADIUM()); - $result->registerBlock("element_xenon", fn() => VanillaBlocks::ELEMENT_XENON()); - $result->registerBlock("element_ytterbium", fn() => VanillaBlocks::ELEMENT_YTTERBIUM()); - $result->registerBlock("element_yttrium", fn() => VanillaBlocks::ELEMENT_YTTRIUM()); - $result->registerBlock("element_zero", fn() => VanillaBlocks::ELEMENT_ZERO()); - $result->registerBlock("element_zinc", fn() => VanillaBlocks::ELEMENT_ZINC()); - $result->registerBlock("element_zirconium", fn() => VanillaBlocks::ELEMENT_ZIRCONIUM()); - $result->registerBlock("emerald_block", fn() => VanillaBlocks::EMERALD()); - $result->registerBlock("emerald_ore", fn() => VanillaBlocks::EMERALD_ORE()); - $result->registerBlock("enchant_table", fn() => VanillaBlocks::ENCHANTING_TABLE()); - $result->registerBlock("enchanting_table", fn() => VanillaBlocks::ENCHANTING_TABLE()); - $result->registerBlock("enchantment_table", fn() => VanillaBlocks::ENCHANTING_TABLE()); - $result->registerBlock("end_brick_stairs", fn() => VanillaBlocks::END_STONE_BRICK_STAIRS()); - $result->registerBlock("end_bricks", fn() => VanillaBlocks::END_STONE_BRICKS()); - $result->registerBlock("end_portal_frame", fn() => VanillaBlocks::END_PORTAL_FRAME()); - $result->registerBlock("end_rod", fn() => VanillaBlocks::END_ROD()); - $result->registerBlock("end_stone", fn() => VanillaBlocks::END_STONE()); - $result->registerBlock("end_stone_brick_slab", fn() => VanillaBlocks::END_STONE_BRICK_SLAB()); - $result->registerBlock("end_stone_brick_stairs", fn() => VanillaBlocks::END_STONE_BRICK_STAIRS()); - $result->registerBlock("end_stone_brick_wall", fn() => VanillaBlocks::END_STONE_BRICK_WALL()); - $result->registerBlock("end_stone_bricks", fn() => VanillaBlocks::END_STONE_BRICKS()); - $result->registerBlock("ender_chest", fn() => VanillaBlocks::ENDER_CHEST()); - $result->registerBlock("fake_wooden_slab", fn() => VanillaBlocks::FAKE_WOODEN_SLAB()); - $result->registerBlock("farmland", fn() => VanillaBlocks::FARMLAND()); - $result->registerBlock("fence", fn() => VanillaBlocks::OAK_FENCE()); - $result->registerBlock("fence_gate", fn() => VanillaBlocks::OAK_FENCE_GATE()); - $result->registerBlock("fence_gate_acacia", fn() => VanillaBlocks::ACACIA_FENCE_GATE()); - $result->registerBlock("fence_gate_birch", fn() => VanillaBlocks::BIRCH_FENCE_GATE()); - $result->registerBlock("fence_gate_dark_oak", fn() => VanillaBlocks::DARK_OAK_FENCE_GATE()); - $result->registerBlock("fence_gate_jungle", fn() => VanillaBlocks::JUNGLE_FENCE_GATE()); - $result->registerBlock("fence_gate_spruce", fn() => VanillaBlocks::SPRUCE_FENCE_GATE()); - $result->registerBlock("fern", fn() => VanillaBlocks::FERN()); - $result->registerBlock("fire", fn() => VanillaBlocks::FIRE()); - $result->registerBlock("fletching_table", fn() => VanillaBlocks::FLETCHING_TABLE()); - $result->registerBlock("flower_pot", fn() => VanillaBlocks::FLOWER_POT()); - $result->registerBlock("flower_pot_block", fn() => VanillaBlocks::FLOWER_POT()); - $result->registerBlock("flowing_lava", fn() => VanillaBlocks::LAVA()); - $result->registerBlock("flowing_water", fn() => VanillaBlocks::WATER()); - $result->registerBlock("frame", fn() => VanillaBlocks::ITEM_FRAME()); - $result->registerBlock("frame_block", fn() => VanillaBlocks::ITEM_FRAME()); - $result->registerBlock("frosted_ice", fn() => VanillaBlocks::FROSTED_ICE()); - $result->registerBlock("furnace", fn() => VanillaBlocks::FURNACE()); - $result->registerBlock("glass", fn() => VanillaBlocks::GLASS()); - $result->registerBlock("glass_pane", fn() => VanillaBlocks::GLASS_PANE()); - $result->registerBlock("glass_panel", fn() => VanillaBlocks::GLASS_PANE()); - $result->registerBlock("glowing_obsidian", fn() => VanillaBlocks::GLOWING_OBSIDIAN()); - $result->registerBlock("glowing_redstone_ore", fn() => VanillaBlocks::REDSTONE_ORE()->setLit(true)); - $result->registerBlock("glowingobsidian", fn() => VanillaBlocks::GLOWING_OBSIDIAN()); - $result->registerBlock("glowstone", fn() => VanillaBlocks::GLOWSTONE()); - $result->registerBlock("glowstone_block", fn() => VanillaBlocks::GLOWSTONE()); - $result->registerBlock("gold", fn() => VanillaBlocks::GOLD()); - $result->registerBlock("gold_block", fn() => VanillaBlocks::GOLD()); - $result->registerBlock("gold_ore", fn() => VanillaBlocks::GOLD_ORE()); - $result->registerBlock("gold_pressure_plate", fn() => VanillaBlocks::WEIGHTED_PRESSURE_PLATE_LIGHT()); - $result->registerBlock("golden_rail", fn() => VanillaBlocks::POWERED_RAIL()); - $result->registerBlock("granite", fn() => VanillaBlocks::GRANITE()); - $result->registerBlock("granite_slab", fn() => VanillaBlocks::GRANITE_SLAB()); - $result->registerBlock("granite_stairs", fn() => VanillaBlocks::GRANITE_STAIRS()); - $result->registerBlock("granite_wall", fn() => VanillaBlocks::GRANITE_WALL()); - $result->registerBlock("grass", fn() => VanillaBlocks::GRASS()); - $result->registerBlock("grass_path", fn() => VanillaBlocks::GRASS_PATH()); - $result->registerBlock("gravel", fn() => VanillaBlocks::GRAVEL()); - $result->registerBlock("gray_glazed_terracotta", fn() => VanillaBlocks::GRAY_GLAZED_TERRACOTTA()); - $result->registerBlock("green_glazed_terracotta", fn() => VanillaBlocks::GREEN_GLAZED_TERRACOTTA()); - $result->registerBlock("green_torch", fn() => VanillaBlocks::GREEN_TORCH()); - $result->registerBlock("hard_glass", fn() => VanillaBlocks::HARDENED_GLASS()); - $result->registerBlock("hard_glass_pane", fn() => VanillaBlocks::HARDENED_GLASS_PANE()); - $result->registerBlock("hard_stained_glass", fn() => VanillaBlocks::STAINED_HARDENED_GLASS()); - $result->registerBlock("hard_stained_glass_pane", fn() => VanillaBlocks::STAINED_HARDENED_GLASS_PANE()); - $result->registerBlock("hardened_clay", fn() => VanillaBlocks::HARDENED_CLAY()); - $result->registerBlock("hardened_glass", fn() => VanillaBlocks::HARDENED_GLASS()); - $result->registerBlock("hardened_glass_pane", fn() => VanillaBlocks::HARDENED_GLASS_PANE()); - $result->registerBlock("hay_bale", fn() => VanillaBlocks::HAY_BALE()); - $result->registerBlock("hay_block", fn() => VanillaBlocks::HAY_BALE()); - $result->registerBlock("heavy_weighted_pressure_plate", fn() => VanillaBlocks::WEIGHTED_PRESSURE_PLATE_HEAVY()); - $result->registerBlock("hopper", fn() => VanillaBlocks::HOPPER()); - $result->registerBlock("hopper_block", fn() => VanillaBlocks::HOPPER()); - $result->registerBlock("ice", fn() => VanillaBlocks::ICE()); - $result->registerBlock("inactive_redstone_lamp", fn() => VanillaBlocks::REDSTONE_LAMP()); - $result->registerBlock("infested_chiseled_stone_brick", fn() => VanillaBlocks::INFESTED_CHISELED_STONE_BRICK()); - $result->registerBlock("infested_cobblestone", fn() => VanillaBlocks::INFESTED_COBBLESTONE()); - $result->registerBlock("infested_cracked_stone_brick", fn() => VanillaBlocks::INFESTED_CRACKED_STONE_BRICK()); - $result->registerBlock("infested_mossy_stone_brick", fn() => VanillaBlocks::INFESTED_MOSSY_STONE_BRICK()); - $result->registerBlock("infested_stone", fn() => VanillaBlocks::INFESTED_STONE()); - $result->registerBlock("infested_stone_brick", fn() => VanillaBlocks::INFESTED_STONE_BRICK()); - $result->registerBlock("info_reserved6", fn() => VanillaBlocks::RESERVED6()); - $result->registerBlock("info_update", fn() => VanillaBlocks::INFO_UPDATE()); - $result->registerBlock("info_update2", fn() => VanillaBlocks::INFO_UPDATE2()); - $result->registerBlock("inverted_daylight_sensor", fn() => VanillaBlocks::DAYLIGHT_SENSOR()->setInverted(true)); - $result->registerBlock("invisible_bedrock", fn() => VanillaBlocks::INVISIBLE_BEDROCK()); - $result->registerBlock("invisiblebedrock", fn() => VanillaBlocks::INVISIBLE_BEDROCK()); - $result->registerBlock("iron", fn() => VanillaBlocks::IRON()); - $result->registerBlock("iron_bar", fn() => VanillaBlocks::IRON_BARS()); - $result->registerBlock("iron_bars", fn() => VanillaBlocks::IRON_BARS()); - $result->registerBlock("iron_block", fn() => VanillaBlocks::IRON()); - $result->registerBlock("iron_door", fn() => VanillaBlocks::IRON_DOOR()); - $result->registerBlock("iron_door_block", fn() => VanillaBlocks::IRON_DOOR()); - $result->registerBlock("iron_ore", fn() => VanillaBlocks::IRON_ORE()); - $result->registerBlock("iron_pressure_plate", fn() => VanillaBlocks::WEIGHTED_PRESSURE_PLATE_HEAVY()); - $result->registerBlock("iron_trapdoor", fn() => VanillaBlocks::IRON_TRAPDOOR()); - $result->registerBlock("item_frame", fn() => VanillaBlocks::ITEM_FRAME()); - $result->registerBlock("item_frame_block", fn() => VanillaBlocks::ITEM_FRAME()); - $result->registerBlock("jack_o_lantern", fn() => VanillaBlocks::LIT_PUMPKIN()); - $result->registerBlock("jukebox", fn() => VanillaBlocks::JUKEBOX()); - $result->registerBlock("jungle_button", fn() => VanillaBlocks::JUNGLE_BUTTON()); - $result->registerBlock("jungle_door", fn() => VanillaBlocks::JUNGLE_DOOR()); - $result->registerBlock("jungle_door_block", fn() => VanillaBlocks::JUNGLE_DOOR()); - $result->registerBlock("jungle_fence", fn() => VanillaBlocks::JUNGLE_FENCE()); - $result->registerBlock("jungle_fence_gate", fn() => VanillaBlocks::JUNGLE_FENCE_GATE()); - $result->registerBlock("jungle_leaves", fn() => VanillaBlocks::JUNGLE_LEAVES()); - $result->registerBlock("jungle_log", fn() => VanillaBlocks::JUNGLE_LOG()); - $result->registerBlock("jungle_planks", fn() => VanillaBlocks::JUNGLE_PLANKS()); - $result->registerBlock("jungle_pressure_plate", fn() => VanillaBlocks::JUNGLE_PRESSURE_PLATE()); - $result->registerBlock("jungle_sapling", fn() => VanillaBlocks::JUNGLE_SAPLING()); - $result->registerBlock("jungle_sign", fn() => VanillaBlocks::JUNGLE_SIGN()); - $result->registerBlock("jungle_slab", fn() => VanillaBlocks::JUNGLE_SLAB()); - $result->registerBlock("jungle_stairs", fn() => VanillaBlocks::JUNGLE_STAIRS()); - $result->registerBlock("jungle_standing_sign", fn() => VanillaBlocks::JUNGLE_SIGN()); - $result->registerBlock("jungle_trapdoor", fn() => VanillaBlocks::JUNGLE_TRAPDOOR()); - $result->registerBlock("jungle_wall_sign", fn() => VanillaBlocks::JUNGLE_WALL_SIGN()); - $result->registerBlock("jungle_wood", fn() => VanillaBlocks::JUNGLE_WOOD()); - $result->registerBlock("jungle_wood_stairs", fn() => VanillaBlocks::JUNGLE_STAIRS()); - $result->registerBlock("jungle_wooden_stairs", fn() => VanillaBlocks::JUNGLE_STAIRS()); - $result->registerBlock("lab_table", fn() => VanillaBlocks::LAB_TABLE()); - $result->registerBlock("ladder", fn() => VanillaBlocks::LADDER()); - $result->registerBlock("lantern", fn() => VanillaBlocks::LANTERN()); - $result->registerBlock("lapis_block", fn() => VanillaBlocks::LAPIS_LAZULI()); - $result->registerBlock("lapis_lazuli_block", fn() => VanillaBlocks::LAPIS_LAZULI()); - $result->registerBlock("lapis_lazuli_ore", fn() => VanillaBlocks::LAPIS_LAZULI_ORE()); - $result->registerBlock("lapis_ore", fn() => VanillaBlocks::LAPIS_LAZULI_ORE()); - $result->registerBlock("large_fern", fn() => VanillaBlocks::LARGE_FERN()); - $result->registerBlock("lava", fn() => VanillaBlocks::LAVA()); - $result->registerBlock("leave", fn() => VanillaBlocks::OAK_LEAVES()); - $result->registerBlock("leave2", fn() => VanillaBlocks::ACACIA_LEAVES()); - $result->registerBlock("leaves", fn() => VanillaBlocks::OAK_LEAVES()); - $result->registerBlock("leaves2", fn() => VanillaBlocks::ACACIA_LEAVES()); - $result->registerBlock("lectern", fn() => VanillaBlocks::LECTERN()); - $result->registerBlock("legacy_stonecutter", fn() => VanillaBlocks::LEGACY_STONECUTTER()); - $result->registerBlock("lever", fn() => VanillaBlocks::LEVER()); - $result->registerBlock("light_blue_glazed_terracotta", fn() => VanillaBlocks::LIGHT_BLUE_GLAZED_TERRACOTTA()); - $result->registerBlock("light_gray_glazed_terracotta", fn() => VanillaBlocks::LIGHT_GRAY_GLAZED_TERRACOTTA()); - $result->registerBlock("light_weighted_pressure_plate", fn() => VanillaBlocks::WEIGHTED_PRESSURE_PLATE_LIGHT()); - $result->registerBlock("lilac", fn() => VanillaBlocks::LILAC()); - $result->registerBlock("lily_of_the_valley", fn() => VanillaBlocks::LILY_OF_THE_VALLEY()); - $result->registerBlock("lily_pad", fn() => VanillaBlocks::LILY_PAD()); - $result->registerBlock("lime_glazed_terracotta", fn() => VanillaBlocks::LIME_GLAZED_TERRACOTTA()); - $result->registerBlock("lit_blast_furnace", fn() => VanillaBlocks::BLAST_FURNACE()); - $result->registerBlock("lit_furnace", fn() => VanillaBlocks::FURNACE()); - $result->registerBlock("lit_pumpkin", fn() => VanillaBlocks::LIT_PUMPKIN()); - $result->registerBlock("lit_redstone_lamp", fn() => VanillaBlocks::REDSTONE_LAMP()->setPowered(true)); - $result->registerBlock("lit_redstone_ore", fn() => VanillaBlocks::REDSTONE_ORE()->setLit(true)); - $result->registerBlock("lit_redstone_torch", fn() => VanillaBlocks::REDSTONE_TORCH()); - $result->registerBlock("lit_smoker", fn() => VanillaBlocks::SMOKER()); - $result->registerBlock("log", fn() => VanillaBlocks::OAK_LOG()); - $result->registerBlock("log2", fn() => VanillaBlocks::ACACIA_LOG()); - $result->registerBlock("loom", fn() => VanillaBlocks::LOOM()); - $result->registerBlock("magenta_glazed_terracotta", fn() => VanillaBlocks::MAGENTA_GLAZED_TERRACOTTA()); - $result->registerBlock("magma", fn() => VanillaBlocks::MAGMA()); - $result->registerBlock("material_reducer", fn() => VanillaBlocks::MATERIAL_REDUCER()); - $result->registerBlock("melon_block", fn() => VanillaBlocks::MELON()); - $result->registerBlock("melon_stem", fn() => VanillaBlocks::MELON_STEM()); - $result->registerBlock("mob_head_block", fn() => VanillaBlocks::MOB_HEAD()); - $result->registerBlock("mob_spawner", fn() => VanillaBlocks::MONSTER_SPAWNER()); - $result->registerBlock("monster_egg", fn() => VanillaBlocks::INFESTED_STONE()); - $result->registerBlock("monster_egg_block", fn() => VanillaBlocks::INFESTED_STONE()); - $result->registerBlock("monster_spawner", fn() => VanillaBlocks::MONSTER_SPAWNER()); - $result->registerBlock("moss_stone", fn() => VanillaBlocks::MOSSY_COBBLESTONE()); - $result->registerBlock("mossy_cobblestone", fn() => VanillaBlocks::MOSSY_COBBLESTONE()); - $result->registerBlock("mossy_cobblestone_slab", fn() => VanillaBlocks::MOSSY_COBBLESTONE_SLAB()); - $result->registerBlock("mossy_cobblestone_stairs", fn() => VanillaBlocks::MOSSY_COBBLESTONE_STAIRS()); - $result->registerBlock("mossy_cobblestone_wall", fn() => VanillaBlocks::MOSSY_COBBLESTONE_WALL()); - $result->registerBlock("mossy_stone", fn() => VanillaBlocks::MOSSY_COBBLESTONE()); - $result->registerBlock("mossy_stone_brick_slab", fn() => VanillaBlocks::MOSSY_STONE_BRICK_SLAB()); - $result->registerBlock("mossy_stone_brick_stairs", fn() => VanillaBlocks::MOSSY_STONE_BRICK_STAIRS()); - $result->registerBlock("mossy_stone_brick_wall", fn() => VanillaBlocks::MOSSY_STONE_BRICK_WALL()); - $result->registerBlock("mossy_stone_bricks", fn() => VanillaBlocks::MOSSY_STONE_BRICKS()); - $result->registerBlock("mushroom_stem", fn() => VanillaBlocks::MUSHROOM_STEM()); - $result->registerBlock("mycelium", fn() => VanillaBlocks::MYCELIUM()); - $result->registerBlock("nether_brick_block", fn() => VanillaBlocks::NETHER_BRICKS()); - $result->registerBlock("nether_brick_fence", fn() => VanillaBlocks::NETHER_BRICK_FENCE()); - $result->registerBlock("nether_brick_slab", fn() => VanillaBlocks::NETHER_BRICK_SLAB()); - $result->registerBlock("nether_brick_stairs", fn() => VanillaBlocks::NETHER_BRICK_STAIRS()); - $result->registerBlock("nether_brick_wall", fn() => VanillaBlocks::NETHER_BRICK_WALL()); - $result->registerBlock("nether_bricks", fn() => VanillaBlocks::NETHER_BRICKS()); - $result->registerBlock("nether_bricks_stairs", fn() => VanillaBlocks::NETHER_BRICK_STAIRS()); - $result->registerBlock("nether_portal", fn() => VanillaBlocks::NETHER_PORTAL()); - $result->registerBlock("nether_quartz_ore", fn() => VanillaBlocks::NETHER_QUARTZ_ORE()); - $result->registerBlock("nether_reactor", fn() => VanillaBlocks::NETHER_REACTOR_CORE()); - $result->registerBlock("nether_reactor_core", fn() => VanillaBlocks::NETHER_REACTOR_CORE()); - $result->registerBlock("nether_wart", fn() => VanillaBlocks::NETHER_WART()); - $result->registerBlock("nether_wart_block", fn() => VanillaBlocks::NETHER_WART_BLOCK()); - $result->registerBlock("nether_wart_plant", fn() => VanillaBlocks::NETHER_WART()); - $result->registerBlock("netherrack", fn() => VanillaBlocks::NETHERRACK()); - $result->registerBlock("netherreactor", fn() => VanillaBlocks::NETHER_REACTOR_CORE()); - $result->registerBlock("normal_stone_stairs", fn() => VanillaBlocks::STONE_STAIRS()); - $result->registerBlock("note_block", fn() => VanillaBlocks::NOTE_BLOCK()); - $result->registerBlock("noteblock", fn() => VanillaBlocks::NOTE_BLOCK()); - $result->registerBlock("oak_button", fn() => VanillaBlocks::OAK_BUTTON()); - $result->registerBlock("oak_door", fn() => VanillaBlocks::OAK_DOOR()); - $result->registerBlock("oak_door_block", fn() => VanillaBlocks::OAK_DOOR()); - $result->registerBlock("oak_fence", fn() => VanillaBlocks::OAK_FENCE()); - $result->registerBlock("oak_fence_gate", fn() => VanillaBlocks::OAK_FENCE_GATE()); - $result->registerBlock("oak_leaves", fn() => VanillaBlocks::OAK_LEAVES()); - $result->registerBlock("oak_log", fn() => VanillaBlocks::OAK_LOG()); - $result->registerBlock("oak_planks", fn() => VanillaBlocks::OAK_PLANKS()); - $result->registerBlock("oak_pressure_plate", fn() => VanillaBlocks::OAK_PRESSURE_PLATE()); - $result->registerBlock("oak_sapling", fn() => VanillaBlocks::OAK_SAPLING()); - $result->registerBlock("oak_sign", fn() => VanillaBlocks::OAK_SIGN()); - $result->registerBlock("oak_slab", fn() => VanillaBlocks::OAK_SLAB()); - $result->registerBlock("oak_stairs", fn() => VanillaBlocks::OAK_STAIRS()); - $result->registerBlock("oak_standing_sign", fn() => VanillaBlocks::OAK_SIGN()); - $result->registerBlock("oak_trapdoor", fn() => VanillaBlocks::OAK_TRAPDOOR()); - $result->registerBlock("oak_wall_sign", fn() => VanillaBlocks::OAK_WALL_SIGN()); - $result->registerBlock("oak_wood", fn() => VanillaBlocks::OAK_WOOD()); - $result->registerBlock("oak_wood_stairs", fn() => VanillaBlocks::OAK_STAIRS()); - $result->registerBlock("oak_wooden_stairs", fn() => VanillaBlocks::OAK_STAIRS()); - $result->registerBlock("obsidian", fn() => VanillaBlocks::OBSIDIAN()); - $result->registerBlock("orange_glazed_terracotta", fn() => VanillaBlocks::ORANGE_GLAZED_TERRACOTTA()); - $result->registerBlock("orange_tulip", fn() => VanillaBlocks::ORANGE_TULIP()); - $result->registerBlock("oxeye_daisy", fn() => VanillaBlocks::OXEYE_DAISY()); - $result->registerBlock("packed_ice", fn() => VanillaBlocks::PACKED_ICE()); - $result->registerBlock("peony", fn() => VanillaBlocks::PEONY()); - $result->registerBlock("pink_glazed_terracotta", fn() => VanillaBlocks::PINK_GLAZED_TERRACOTTA()); - $result->registerBlock("pink_tulip", fn() => VanillaBlocks::PINK_TULIP()); - $result->registerBlock("plank", fn() => VanillaBlocks::OAK_PLANKS()); - $result->registerBlock("planks", fn() => VanillaBlocks::OAK_PLANKS()); - $result->registerBlock("podzol", fn() => VanillaBlocks::PODZOL()); - $result->registerBlock("polished_andesite", fn() => VanillaBlocks::POLISHED_ANDESITE()); - $result->registerBlock("polished_andesite_slab", fn() => VanillaBlocks::POLISHED_ANDESITE_SLAB()); - $result->registerBlock("polished_andesite_stairs", fn() => VanillaBlocks::POLISHED_ANDESITE_STAIRS()); - $result->registerBlock("polished_diorite", fn() => VanillaBlocks::POLISHED_DIORITE()); - $result->registerBlock("polished_diorite_slab", fn() => VanillaBlocks::POLISHED_DIORITE_SLAB()); - $result->registerBlock("polished_diorite_stairs", fn() => VanillaBlocks::POLISHED_DIORITE_STAIRS()); - $result->registerBlock("polished_granite", fn() => VanillaBlocks::POLISHED_GRANITE()); - $result->registerBlock("polished_granite_slab", fn() => VanillaBlocks::POLISHED_GRANITE_SLAB()); - $result->registerBlock("polished_granite_stairs", fn() => VanillaBlocks::POLISHED_GRANITE_STAIRS()); - $result->registerBlock("poppy", fn() => VanillaBlocks::POPPY()); - $result->registerBlock("portal", fn() => VanillaBlocks::NETHER_PORTAL()); - $result->registerBlock("portal_block", fn() => VanillaBlocks::NETHER_PORTAL()); - $result->registerBlock("potato_block", fn() => VanillaBlocks::POTATOES()); - $result->registerBlock("potatoes", fn() => VanillaBlocks::POTATOES()); - $result->registerBlock("powered_comparator", fn() => VanillaBlocks::REDSTONE_COMPARATOR()); - $result->registerBlock("powered_comparator_block", fn() => VanillaBlocks::REDSTONE_COMPARATOR()); - $result->registerBlock("powered_rail", fn() => VanillaBlocks::POWERED_RAIL()); - $result->registerBlock("powered_repeater", fn() => VanillaBlocks::REDSTONE_REPEATER()->setPowered(true)); - $result->registerBlock("powered_repeater_block", fn() => VanillaBlocks::REDSTONE_REPEATER()->setPowered(true)); - $result->registerBlock("prismarine", fn() => VanillaBlocks::PRISMARINE()); - $result->registerBlock("prismarine_bricks", fn() => VanillaBlocks::PRISMARINE_BRICKS()); - $result->registerBlock("prismarine_bricks_slab", fn() => VanillaBlocks::PRISMARINE_BRICKS_SLAB()); - $result->registerBlock("prismarine_bricks_stairs", fn() => VanillaBlocks::PRISMARINE_BRICKS_STAIRS()); - $result->registerBlock("prismarine_slab", fn() => VanillaBlocks::PRISMARINE_SLAB()); - $result->registerBlock("prismarine_stairs", fn() => VanillaBlocks::PRISMARINE_STAIRS()); - $result->registerBlock("prismarine_wall", fn() => VanillaBlocks::PRISMARINE_WALL()); - $result->registerBlock("pumpkin", fn() => VanillaBlocks::PUMPKIN()); - $result->registerBlock("pumpkin_stem", fn() => VanillaBlocks::PUMPKIN_STEM()); - $result->registerBlock("purple_glazed_terracotta", fn() => VanillaBlocks::PURPLE_GLAZED_TERRACOTTA()); - $result->registerBlock("purple_torch", fn() => VanillaBlocks::PURPLE_TORCH()); - $result->registerBlock("purpur", fn() => VanillaBlocks::PURPUR()); - $result->registerBlock("purpur_block", fn() => VanillaBlocks::PURPUR()); - $result->registerBlock("purpur_pillar", fn() => VanillaBlocks::PURPUR_PILLAR()); - $result->registerBlock("purpur_slab", fn() => VanillaBlocks::PURPUR_SLAB()); - $result->registerBlock("purpur_stairs", fn() => VanillaBlocks::PURPUR_STAIRS()); - $result->registerBlock("quartz_block", fn() => VanillaBlocks::QUARTZ()); - $result->registerBlock("quartz_ore", fn() => VanillaBlocks::NETHER_QUARTZ_ORE()); - $result->registerBlock("quartz_pillar", fn() => VanillaBlocks::QUARTZ_PILLAR()); - $result->registerBlock("quartz_slab", fn() => VanillaBlocks::QUARTZ_SLAB()); - $result->registerBlock("quartz_stairs", fn() => VanillaBlocks::QUARTZ_STAIRS()); - $result->registerBlock("rail", fn() => VanillaBlocks::RAIL()); - $result->registerBlock("red_flower", fn() => VanillaBlocks::POPPY()); - $result->registerBlock("red_glazed_terracotta", fn() => VanillaBlocks::RED_GLAZED_TERRACOTTA()); - $result->registerBlock("red_mushroom", fn() => VanillaBlocks::RED_MUSHROOM()); - $result->registerBlock("red_mushroom_block", fn() => VanillaBlocks::RED_MUSHROOM_BLOCK()); - $result->registerBlock("red_nether_brick", fn() => VanillaBlocks::RED_NETHER_BRICKS()); - $result->registerBlock("red_nether_brick_slab", fn() => VanillaBlocks::RED_NETHER_BRICK_SLAB()); - $result->registerBlock("red_nether_brick_stairs", fn() => VanillaBlocks::RED_NETHER_BRICK_STAIRS()); - $result->registerBlock("red_nether_brick_wall", fn() => VanillaBlocks::RED_NETHER_BRICK_WALL()); - $result->registerBlock("red_nether_bricks", fn() => VanillaBlocks::RED_NETHER_BRICKS()); - $result->registerBlock("red_sand", fn() => VanillaBlocks::RED_SAND()); - $result->registerBlock("red_sandstone", fn() => VanillaBlocks::RED_SANDSTONE()); - $result->registerBlock("red_sandstone_slab", fn() => VanillaBlocks::RED_SANDSTONE_SLAB()); - $result->registerBlock("red_sandstone_stairs", fn() => VanillaBlocks::RED_SANDSTONE_STAIRS()); - $result->registerBlock("red_sandstone_wall", fn() => VanillaBlocks::RED_SANDSTONE_WALL()); - $result->registerBlock("red_torch", fn() => VanillaBlocks::RED_TORCH()); - $result->registerBlock("red_tulip", fn() => VanillaBlocks::RED_TULIP()); - $result->registerBlock("redstone_block", fn() => VanillaBlocks::REDSTONE()); - $result->registerBlock("redstone_comparator", fn() => VanillaBlocks::REDSTONE_COMPARATOR()); - $result->registerBlock("redstone_lamp", fn() => VanillaBlocks::REDSTONE_LAMP()); - $result->registerBlock("redstone_ore", fn() => VanillaBlocks::REDSTONE_ORE()); - $result->registerBlock("redstone_repeater", fn() => VanillaBlocks::REDSTONE_REPEATER()); - $result->registerBlock("redstone_torch", fn() => VanillaBlocks::REDSTONE_TORCH()); - $result->registerBlock("redstone_wire", fn() => VanillaBlocks::REDSTONE_WIRE()); - $result->registerBlock("reeds", fn() => VanillaBlocks::SUGARCANE()); - $result->registerBlock("reeds_block", fn() => VanillaBlocks::SUGARCANE()); - $result->registerBlock("repeater", fn() => VanillaBlocks::REDSTONE_REPEATER()); - $result->registerBlock("repeater_block", fn() => VanillaBlocks::REDSTONE_REPEATER()); - $result->registerBlock("reserved6", fn() => VanillaBlocks::RESERVED6()); - $result->registerBlock("rose", fn() => VanillaBlocks::POPPY()); - $result->registerBlock("rose_bush", fn() => VanillaBlocks::ROSE_BUSH()); - $result->registerBlock("sand", fn() => VanillaBlocks::SAND()); - $result->registerBlock("sandstone", fn() => VanillaBlocks::SANDSTONE()); - $result->registerBlock("sandstone_slab", fn() => VanillaBlocks::SANDSTONE_SLAB()); - $result->registerBlock("sandstone_stairs", fn() => VanillaBlocks::SANDSTONE_STAIRS()); - $result->registerBlock("sandstone_wall", fn() => VanillaBlocks::SANDSTONE_WALL()); - $result->registerBlock("sapling", fn() => VanillaBlocks::OAK_SAPLING()); - $result->registerBlock("sea_lantern", fn() => VanillaBlocks::SEA_LANTERN()); - $result->registerBlock("sea_pickle", fn() => VanillaBlocks::SEA_PICKLE()); - $result->registerBlock("sealantern", fn() => VanillaBlocks::SEA_LANTERN()); - $result->registerBlock("shulker_box", fn() => VanillaBlocks::SHULKER_BOX()); - $result->registerBlock("sign", fn() => VanillaBlocks::OAK_SIGN()); - $result->registerBlock("sign_post", fn() => VanillaBlocks::OAK_SIGN()); - $result->registerBlock("silver_glazed_terracotta", fn() => VanillaBlocks::LIGHT_GRAY_GLAZED_TERRACOTTA()); - $result->registerBlock("skull_block", fn() => VanillaBlocks::MOB_HEAD()); - $result->registerBlock("slab", fn() => VanillaBlocks::SMOOTH_STONE_SLAB()); - $result->registerBlock("slabs", fn() => VanillaBlocks::SMOOTH_STONE_SLAB()); - $result->registerBlock("slime", fn() => VanillaBlocks::SLIME()); - $result->registerBlock("slime_block", fn() => VanillaBlocks::SLIME()); - $result->registerBlock("smoker", fn() => VanillaBlocks::SMOKER()); - $result->registerBlock("smooth_quartz", fn() => VanillaBlocks::SMOOTH_QUARTZ()); - $result->registerBlock("smooth_quartz_slab", fn() => VanillaBlocks::SMOOTH_QUARTZ_SLAB()); - $result->registerBlock("smooth_quartz_stairs", fn() => VanillaBlocks::SMOOTH_QUARTZ_STAIRS()); - $result->registerBlock("smooth_red_sandstone", fn() => VanillaBlocks::SMOOTH_RED_SANDSTONE()); - $result->registerBlock("smooth_red_sandstone_slab", fn() => VanillaBlocks::SMOOTH_RED_SANDSTONE_SLAB()); - $result->registerBlock("smooth_red_sandstone_stairs", fn() => VanillaBlocks::SMOOTH_RED_SANDSTONE_STAIRS()); - $result->registerBlock("smooth_sandstone", fn() => VanillaBlocks::SMOOTH_SANDSTONE()); - $result->registerBlock("smooth_sandstone_slab", fn() => VanillaBlocks::SMOOTH_SANDSTONE_SLAB()); - $result->registerBlock("smooth_sandstone_stairs", fn() => VanillaBlocks::SMOOTH_SANDSTONE_STAIRS()); - $result->registerBlock("smooth_stone", fn() => VanillaBlocks::SMOOTH_STONE()); - $result->registerBlock("smooth_stone_slab", fn() => VanillaBlocks::SMOOTH_STONE_SLAB()); - $result->registerBlock("snow", fn() => VanillaBlocks::SNOW()); - $result->registerBlock("snow_block", fn() => VanillaBlocks::SNOW()); - $result->registerBlock("snow_layer", fn() => VanillaBlocks::SNOW_LAYER()); - $result->registerBlock("soul_sand", fn() => VanillaBlocks::SOUL_SAND()); - $result->registerBlock("sponge", fn() => VanillaBlocks::SPONGE()); - $result->registerBlock("spruce_button", fn() => VanillaBlocks::SPRUCE_BUTTON()); - $result->registerBlock("spruce_door", fn() => VanillaBlocks::SPRUCE_DOOR()); - $result->registerBlock("spruce_door_block", fn() => VanillaBlocks::SPRUCE_DOOR()); - $result->registerBlock("spruce_fence", fn() => VanillaBlocks::SPRUCE_FENCE()); - $result->registerBlock("spruce_fence_gate", fn() => VanillaBlocks::SPRUCE_FENCE_GATE()); - $result->registerBlock("spruce_leaves", fn() => VanillaBlocks::SPRUCE_LEAVES()); - $result->registerBlock("spruce_log", fn() => VanillaBlocks::SPRUCE_LOG()); - $result->registerBlock("spruce_planks", fn() => VanillaBlocks::SPRUCE_PLANKS()); - $result->registerBlock("spruce_pressure_plate", fn() => VanillaBlocks::SPRUCE_PRESSURE_PLATE()); - $result->registerBlock("spruce_sapling", fn() => VanillaBlocks::SPRUCE_SAPLING()); - $result->registerBlock("spruce_sign", fn() => VanillaBlocks::SPRUCE_SIGN()); - $result->registerBlock("spruce_slab", fn() => VanillaBlocks::SPRUCE_SLAB()); - $result->registerBlock("spruce_stairs", fn() => VanillaBlocks::SPRUCE_STAIRS()); - $result->registerBlock("spruce_standing_sign", fn() => VanillaBlocks::SPRUCE_SIGN()); - $result->registerBlock("spruce_trapdoor", fn() => VanillaBlocks::SPRUCE_TRAPDOOR()); - $result->registerBlock("spruce_wall_sign", fn() => VanillaBlocks::SPRUCE_WALL_SIGN()); - $result->registerBlock("spruce_wood", fn() => VanillaBlocks::SPRUCE_WOOD()); - $result->registerBlock("spruce_wood_stairs", fn() => VanillaBlocks::SPRUCE_STAIRS()); - $result->registerBlock("spruce_wooden_stairs", fn() => VanillaBlocks::SPRUCE_STAIRS()); - $result->registerBlock("stained_clay", fn() => VanillaBlocks::STAINED_CLAY()); - $result->registerBlock("stained_glass", fn() => VanillaBlocks::STAINED_GLASS()); - $result->registerBlock("stained_glass_pane", fn() => VanillaBlocks::STAINED_GLASS_PANE()); - $result->registerBlock("stained_hardened_clay", fn() => VanillaBlocks::STAINED_CLAY()); - $result->registerBlock("stained_hardened_glass", fn() => VanillaBlocks::STAINED_HARDENED_GLASS()); - $result->registerBlock("stained_hardened_glass_pane", fn() => VanillaBlocks::STAINED_HARDENED_GLASS_PANE()); - $result->registerBlock("standing_banner", fn() => VanillaBlocks::BANNER()); - $result->registerBlock("standing_sign", fn() => VanillaBlocks::OAK_SIGN()); - $result->registerBlock("still_lava", fn() => VanillaBlocks::LAVA()->setStill(true)); - $result->registerBlock("still_water", fn() => VanillaBlocks::WATER()->setStill(true)); - $result->registerBlock("stone", fn() => VanillaBlocks::STONE()); - $result->registerBlock("stone_brick", fn() => VanillaBlocks::STONE_BRICKS()); - $result->registerBlock("stone_brick_slab", fn() => VanillaBlocks::STONE_BRICK_SLAB()); - $result->registerBlock("stone_brick_stairs", fn() => VanillaBlocks::STONE_BRICK_STAIRS()); - $result->registerBlock("stone_brick_wall", fn() => VanillaBlocks::STONE_BRICK_WALL()); - $result->registerBlock("stone_bricks", fn() => VanillaBlocks::STONE_BRICKS()); - $result->registerBlock("stone_button", fn() => VanillaBlocks::STONE_BUTTON()); - $result->registerBlock("stone_pressure_plate", fn() => VanillaBlocks::STONE_PRESSURE_PLATE()); - $result->registerBlock("stone_slab", fn() => VanillaBlocks::STONE_SLAB()); - $result->registerBlock("stone_slab2", fn() => VanillaBlocks::RED_SANDSTONE_SLAB()); - $result->registerBlock("stone_slab3", fn() => VanillaBlocks::END_STONE_BRICK_SLAB()); - $result->registerBlock("stone_slab4", fn() => VanillaBlocks::MOSSY_STONE_BRICK_SLAB()); - $result->registerBlock("stone_stairs", fn() => VanillaBlocks::STONE_STAIRS()); - $result->registerBlock("stone_wall", fn() => VanillaBlocks::COBBLESTONE_WALL()); - $result->registerBlock("stonebrick", fn() => VanillaBlocks::STONE_BRICKS()); - $result->registerBlock("stonecutter", fn() => VanillaBlocks::STONECUTTER()); - $result->registerBlock("stonecutter_block", fn() => VanillaBlocks::STONECUTTER()); - $result->registerBlock("stripped_acacia_log", fn() => VanillaBlocks::STRIPPED_ACACIA_LOG()); - $result->registerBlock("stripped_acacia_wood", fn() => VanillaBlocks::STRIPPED_ACACIA_WOOD()); - $result->registerBlock("stripped_birch_log", fn() => VanillaBlocks::STRIPPED_BIRCH_LOG()); - $result->registerBlock("stripped_birch_wood", fn() => VanillaBlocks::STRIPPED_BIRCH_WOOD()); - $result->registerBlock("stripped_dark_oak_log", fn() => VanillaBlocks::STRIPPED_DARK_OAK_LOG()); - $result->registerBlock("stripped_dark_oak_wood", fn() => VanillaBlocks::STRIPPED_DARK_OAK_WOOD()); - $result->registerBlock("stripped_jungle_log", fn() => VanillaBlocks::STRIPPED_JUNGLE_LOG()); - $result->registerBlock("stripped_jungle_wood", fn() => VanillaBlocks::STRIPPED_JUNGLE_WOOD()); - $result->registerBlock("stripped_oak_log", fn() => VanillaBlocks::STRIPPED_OAK_LOG()); - $result->registerBlock("stripped_oak_wood", fn() => VanillaBlocks::STRIPPED_OAK_WOOD()); - $result->registerBlock("stripped_spruce_log", fn() => VanillaBlocks::STRIPPED_SPRUCE_LOG()); - $result->registerBlock("stripped_spruce_wood", fn() => VanillaBlocks::STRIPPED_SPRUCE_WOOD()); - $result->registerBlock("sugar_cane", fn() => VanillaBlocks::SUGARCANE()); - $result->registerBlock("sugar_canes", fn() => VanillaBlocks::SUGARCANE()); - $result->registerBlock("sugarcane", fn() => VanillaBlocks::SUGARCANE()); - $result->registerBlock("sugarcane_block", fn() => VanillaBlocks::SUGARCANE()); - $result->registerBlock("sunflower", fn() => VanillaBlocks::SUNFLOWER()); - $result->registerBlock("sweet_berry_bush", fn() => VanillaBlocks::SWEET_BERRY_BUSH()); - $result->registerBlock("tall_grass", fn() => VanillaBlocks::TALL_GRASS()); - $result->registerBlock("tallgrass", fn() => VanillaBlocks::FERN()); - $result->registerBlock("terracotta", fn() => VanillaBlocks::STAINED_CLAY()); - $result->registerBlock("tnt", fn() => VanillaBlocks::TNT()); - $result->registerBlock("torch", fn() => VanillaBlocks::TORCH()); - $result->registerBlock("trapdoor", fn() => VanillaBlocks::OAK_TRAPDOOR()); - $result->registerBlock("trapped_chest", fn() => VanillaBlocks::TRAPPED_CHEST()); - $result->registerBlock("trip_wire", fn() => VanillaBlocks::TRIPWIRE()); - $result->registerBlock("tripwire", fn() => VanillaBlocks::TRIPWIRE()); - $result->registerBlock("tripwire_hook", fn() => VanillaBlocks::TRIPWIRE_HOOK()); - $result->registerBlock("trunk", fn() => VanillaBlocks::OAK_PLANKS()); - $result->registerBlock("trunk2", fn() => VanillaBlocks::ACACIA_LOG()); - $result->registerBlock("underwater_torch", fn() => VanillaBlocks::UNDERWATER_TORCH()); - $result->registerBlock("undyed_shulker_box", fn() => VanillaBlocks::SHULKER_BOX()); - $result->registerBlock("unlit_redstone_torch", fn() => VanillaBlocks::REDSTONE_TORCH()); - $result->registerBlock("unpowered_comparator", fn() => VanillaBlocks::REDSTONE_COMPARATOR()); - $result->registerBlock("unpowered_comparator_block", fn() => VanillaBlocks::REDSTONE_COMPARATOR()); - $result->registerBlock("unpowered_repeater", fn() => VanillaBlocks::REDSTONE_REPEATER()); - $result->registerBlock("unpowered_repeater_block", fn() => VanillaBlocks::REDSTONE_REPEATER()); - $result->registerBlock("update_block", fn() => VanillaBlocks::INFO_UPDATE()); - $result->registerBlock("vine", fn() => VanillaBlocks::VINES()); - $result->registerBlock("vines", fn() => VanillaBlocks::VINES()); - $result->registerBlock("wall_banner", fn() => VanillaBlocks::WALL_BANNER()); - $result->registerBlock("wall_coral_fan", fn() => VanillaBlocks::WALL_CORAL_FAN()); - $result->registerBlock("wall_sign", fn() => VanillaBlocks::OAK_WALL_SIGN()); - $result->registerBlock("water", fn() => VanillaBlocks::WATER()); - $result->registerBlock("water_lily", fn() => VanillaBlocks::LILY_PAD()); - $result->registerBlock("waterlily", fn() => VanillaBlocks::LILY_PAD()); - $result->registerBlock("web", fn() => VanillaBlocks::COBWEB()); - $result->registerBlock("weighted_pressure_plate_heavy", fn() => VanillaBlocks::WEIGHTED_PRESSURE_PLATE_HEAVY()); - $result->registerBlock("weighted_pressure_plate_light", fn() => VanillaBlocks::WEIGHTED_PRESSURE_PLATE_LIGHT()); - $result->registerBlock("wheat_block", fn() => VanillaBlocks::WHEAT()); - $result->registerBlock("white_glazed_terracotta", fn() => VanillaBlocks::WHITE_GLAZED_TERRACOTTA()); - $result->registerBlock("white_tulip", fn() => VanillaBlocks::WHITE_TULIP()); - $result->registerBlock("wood", fn() => VanillaBlocks::OAK_LOG()); - $result->registerBlock("wood2", fn() => VanillaBlocks::ACACIA_LOG()); - $result->registerBlock("wood_door_block", fn() => VanillaBlocks::OAK_DOOR()); - $result->registerBlock("wood_slab", fn() => VanillaBlocks::OAK_SLAB()); - $result->registerBlock("wood_slabs", fn() => VanillaBlocks::OAK_SLAB()); - $result->registerBlock("wood_stairs", fn() => VanillaBlocks::OAK_STAIRS()); - $result->registerBlock("wooden_button", fn() => VanillaBlocks::OAK_BUTTON()); - $result->registerBlock("wooden_door", fn() => VanillaBlocks::OAK_DOOR()); - $result->registerBlock("wooden_door_block", fn() => VanillaBlocks::OAK_DOOR()); - $result->registerBlock("wooden_plank", fn() => VanillaBlocks::OAK_PLANKS()); - $result->registerBlock("wooden_planks", fn() => VanillaBlocks::OAK_PLANKS()); - $result->registerBlock("wooden_pressure_plate", fn() => VanillaBlocks::OAK_PRESSURE_PLATE()); - $result->registerBlock("wooden_slab", fn() => VanillaBlocks::OAK_SLAB()); - $result->registerBlock("wooden_slabs", fn() => VanillaBlocks::OAK_SLAB()); - $result->registerBlock("wooden_stairs", fn() => VanillaBlocks::OAK_STAIRS()); - $result->registerBlock("wooden_trapdoor", fn() => VanillaBlocks::OAK_TRAPDOOR()); - $result->registerBlock("wool", fn() => VanillaBlocks::WOOL()); - $result->registerBlock("workbench", fn() => VanillaBlocks::CRAFTING_TABLE()); - $result->registerBlock("yellow_flower", fn() => VanillaBlocks::DANDELION()); - $result->registerBlock("yellow_glazed_terracotta", fn() => VanillaBlocks::YELLOW_GLAZED_TERRACOTTA()); + $result->registerBlock("acacia_button", fn() => Blocks::ACACIA_BUTTON()); + $result->registerBlock("acacia_door", fn() => Blocks::ACACIA_DOOR()); + $result->registerBlock("acacia_door_block", fn() => Blocks::ACACIA_DOOR()); + $result->registerBlock("acacia_fence", fn() => Blocks::ACACIA_FENCE()); + $result->registerBlock("acacia_fence_gate", fn() => Blocks::ACACIA_FENCE_GATE()); + $result->registerBlock("acacia_leaves", fn() => Blocks::ACACIA_LEAVES()); + $result->registerBlock("acacia_log", fn() => Blocks::ACACIA_LOG()); + $result->registerBlock("acacia_planks", fn() => Blocks::ACACIA_PLANKS()); + $result->registerBlock("acacia_pressure_plate", fn() => Blocks::ACACIA_PRESSURE_PLATE()); + $result->registerBlock("acacia_sapling", fn() => Blocks::ACACIA_SAPLING()); + $result->registerBlock("acacia_sign", fn() => Blocks::ACACIA_SIGN()); + $result->registerBlock("acacia_slab", fn() => Blocks::ACACIA_SLAB()); + $result->registerBlock("acacia_stairs", fn() => Blocks::ACACIA_STAIRS()); + $result->registerBlock("acacia_standing_sign", fn() => Blocks::ACACIA_SIGN()); + $result->registerBlock("acacia_trapdoor", fn() => Blocks::ACACIA_TRAPDOOR()); + $result->registerBlock("acacia_wall_sign", fn() => Blocks::ACACIA_WALL_SIGN()); + $result->registerBlock("acacia_wood", fn() => Blocks::ACACIA_WOOD()); + $result->registerBlock("acacia_wood_stairs", fn() => Blocks::ACACIA_STAIRS()); + $result->registerBlock("acacia_wooden_stairs", fn() => Blocks::ACACIA_STAIRS()); + $result->registerBlock("activator_rail", fn() => Blocks::ACTIVATOR_RAIL()); + $result->registerBlock("active_redstone_lamp", fn() => Blocks::REDSTONE_LAMP()->setPowered(true)); + $result->registerBlock("air", fn() => Blocks::AIR()); + $result->registerBlock("all_sided_mushroom_stem", fn() => Blocks::ALL_SIDED_MUSHROOM_STEM()); + $result->registerBlock("allium", fn() => Blocks::ALLIUM()); + $result->registerBlock("andesite", fn() => Blocks::ANDESITE()); + $result->registerBlock("andesite_slab", fn() => Blocks::ANDESITE_SLAB()); + $result->registerBlock("andesite_stairs", fn() => Blocks::ANDESITE_STAIRS()); + $result->registerBlock("andesite_wall", fn() => Blocks::ANDESITE_WALL()); + $result->registerBlock("anvil", fn() => Blocks::ANVIL()); + $result->registerBlock("ateupd_block", fn() => Blocks::INFO_UPDATE2()); + $result->registerBlock("azure_bluet", fn() => Blocks::AZURE_BLUET()); + $result->registerBlock("bamboo", fn() => Blocks::BAMBOO()); + $result->registerBlock("bamboo_sapling", fn() => Blocks::BAMBOO_SAPLING()); + $result->registerBlock("banner", fn() => Blocks::BANNER()); + $result->registerBlock("barrel", fn() => Blocks::BARREL()); + $result->registerBlock("barrier", fn() => Blocks::BARRIER()); + $result->registerBlock("beacon", fn() => Blocks::BEACON()); + $result->registerBlock("bed_block", fn() => Blocks::BED()); + $result->registerBlock("bedrock", fn() => Blocks::BEDROCK()); + $result->registerBlock("beetroot_block", fn() => Blocks::BEETROOTS()); + $result->registerBlock("beetroots", fn() => Blocks::BEETROOTS()); + $result->registerBlock("bell", fn() => Blocks::BELL()); + $result->registerBlock("birch_button", fn() => Blocks::BIRCH_BUTTON()); + $result->registerBlock("birch_door", fn() => Blocks::BIRCH_DOOR()); + $result->registerBlock("birch_door_block", fn() => Blocks::BIRCH_DOOR()); + $result->registerBlock("birch_fence", fn() => Blocks::BIRCH_FENCE()); + $result->registerBlock("birch_fence_gate", fn() => Blocks::BIRCH_FENCE_GATE()); + $result->registerBlock("birch_leaves", fn() => Blocks::BIRCH_LEAVES()); + $result->registerBlock("birch_log", fn() => Blocks::BIRCH_LOG()); + $result->registerBlock("birch_planks", fn() => Blocks::BIRCH_PLANKS()); + $result->registerBlock("birch_pressure_plate", fn() => Blocks::BIRCH_PRESSURE_PLATE()); + $result->registerBlock("birch_sapling", fn() => Blocks::BIRCH_SAPLING()); + $result->registerBlock("birch_sign", fn() => Blocks::BIRCH_SIGN()); + $result->registerBlock("birch_slab", fn() => Blocks::BIRCH_SLAB()); + $result->registerBlock("birch_stairs", fn() => Blocks::BIRCH_STAIRS()); + $result->registerBlock("birch_standing_sign", fn() => Blocks::BIRCH_SIGN()); + $result->registerBlock("birch_trapdoor", fn() => Blocks::BIRCH_TRAPDOOR()); + $result->registerBlock("birch_wall_sign", fn() => Blocks::BIRCH_WALL_SIGN()); + $result->registerBlock("birch_wood", fn() => Blocks::BIRCH_WOOD()); + $result->registerBlock("birch_wood_stairs", fn() => Blocks::BIRCH_STAIRS()); + $result->registerBlock("birch_wooden_stairs", fn() => Blocks::BIRCH_STAIRS()); + $result->registerBlock("black_glazed_terracotta", fn() => Blocks::BLACK_GLAZED_TERRACOTTA()); + $result->registerBlock("blast_furnace", fn() => Blocks::BLAST_FURNACE()); + $result->registerBlock("blue_glazed_terracotta", fn() => Blocks::BLUE_GLAZED_TERRACOTTA()); + $result->registerBlock("blue_ice", fn() => Blocks::BLUE_ICE()); + $result->registerBlock("blue_orchid", fn() => Blocks::BLUE_ORCHID()); + $result->registerBlock("blue_torch", fn() => Blocks::BLUE_TORCH()); + $result->registerBlock("bone_block", fn() => Blocks::BONE_BLOCK()); + $result->registerBlock("bookshelf", fn() => Blocks::BOOKSHELF()); + $result->registerBlock("brewing_stand", fn() => Blocks::BREWING_STAND()); + $result->registerBlock("brewing_stand_block", fn() => Blocks::BREWING_STAND()); + $result->registerBlock("brick_block", fn() => Blocks::BRICKS()); + $result->registerBlock("brick_slab", fn() => Blocks::BRICK_SLAB()); + $result->registerBlock("brick_stairs", fn() => Blocks::BRICK_STAIRS()); + $result->registerBlock("brick_wall", fn() => Blocks::BRICK_WALL()); + $result->registerBlock("bricks", fn() => Blocks::BRICKS()); + $result->registerBlock("bricks_block", fn() => Blocks::BRICKS()); + $result->registerBlock("brown_glazed_terracotta", fn() => Blocks::BROWN_GLAZED_TERRACOTTA()); + $result->registerBlock("brown_mushroom", fn() => Blocks::BROWN_MUSHROOM()); + $result->registerBlock("brown_mushroom_block", fn() => Blocks::BROWN_MUSHROOM_BLOCK()); + $result->registerBlock("burning_furnace", fn() => Blocks::FURNACE()); + $result->registerBlock("bush", fn() => Blocks::DEAD_BUSH()); + $result->registerBlock("cactus", fn() => Blocks::CACTUS()); + $result->registerBlock("cake", fn() => Blocks::CAKE()); + $result->registerBlock("cake_block", fn() => Blocks::CAKE()); + $result->registerBlock("carpet", fn() => Blocks::CARPET()); + $result->registerBlock("carrot_block", fn() => Blocks::CARROTS()); + $result->registerBlock("carrots", fn() => Blocks::CARROTS()); + $result->registerBlock("carved_pumpkin", fn() => Blocks::CARVED_PUMPKIN()); + $result->registerBlock("chemical_heat", fn() => Blocks::CHEMICAL_HEAT()); + $result->registerBlock("chemistry_table", fn() => Blocks::COMPOUND_CREATOR()); + $result->registerBlock("chest", fn() => Blocks::CHEST()); + $result->registerBlock("chipped_anvil", fn() => Blocks::ANVIL()->setDamage(1)); + $result->registerBlock("chiseled_quartz", fn() => Blocks::CHISELED_QUARTZ()); + $result->registerBlock("chiseled_red_sandstone", fn() => Blocks::CHISELED_RED_SANDSTONE()); + $result->registerBlock("chiseled_sandstone", fn() => Blocks::CHISELED_SANDSTONE()); + $result->registerBlock("chiseled_stone_bricks", fn() => Blocks::CHISELED_STONE_BRICKS()); + $result->registerBlock("clay_block", fn() => Blocks::CLAY()); + $result->registerBlock("coal_block", fn() => Blocks::COAL()); + $result->registerBlock("coal_ore", fn() => Blocks::COAL_ORE()); + $result->registerBlock("coarse_dirt", fn() => Blocks::DIRT()->setCoarse(true)); + $result->registerBlock("cobble", fn() => Blocks::COBBLESTONE()); + $result->registerBlock("cobble_stairs", fn() => Blocks::COBBLESTONE_STAIRS()); + $result->registerBlock("cobble_wall", fn() => Blocks::COBBLESTONE_WALL()); + $result->registerBlock("cobblestone", fn() => Blocks::COBBLESTONE()); + $result->registerBlock("cobblestone_slab", fn() => Blocks::COBBLESTONE_SLAB()); + $result->registerBlock("cobblestone_stairs", fn() => Blocks::COBBLESTONE_STAIRS()); + $result->registerBlock("cobblestone_wall", fn() => Blocks::COBBLESTONE_WALL()); + $result->registerBlock("cobweb", fn() => Blocks::COBWEB()); + $result->registerBlock("cocoa", fn() => Blocks::COCOA_POD()); + $result->registerBlock("cocoa_block", fn() => Blocks::COCOA_POD()); + $result->registerBlock("cocoa_pod", fn() => Blocks::COCOA_POD()); + $result->registerBlock("cocoa_pods", fn() => Blocks::COCOA_POD()); + $result->registerBlock("colored_torch_bp", fn() => Blocks::BLUE_TORCH()); + $result->registerBlock("colored_torch_rg", fn() => Blocks::RED_TORCH()); + $result->registerBlock("comparator", fn() => Blocks::REDSTONE_COMPARATOR()); + $result->registerBlock("comparator_block", fn() => Blocks::REDSTONE_COMPARATOR()); + $result->registerBlock("compound_creator", fn() => Blocks::COMPOUND_CREATOR()); + $result->registerBlock("concrete", fn() => Blocks::CONCRETE()); + $result->registerBlock("concrete_powder", fn() => Blocks::CONCRETE_POWDER()); + $result->registerBlock("concretepowder", fn() => Blocks::CONCRETE_POWDER()); + $result->registerBlock("coral", fn() => Blocks::CORAL()); + $result->registerBlock("coral_block", fn() => Blocks::CORAL_BLOCK()); + $result->registerBlock("coral_fan", fn() => Blocks::CORAL_FAN()); + $result->registerBlock("coral_fan_dead", fn() => Blocks::CORAL_FAN()->setCoralType(CoralType::TUBE())->setDead(true)); + $result->registerBlock("coral_fan_hang", fn() => Blocks::WALL_CORAL_FAN()); + $result->registerBlock("coral_fan_hang2", fn() => Blocks::WALL_CORAL_FAN()->setCoralType(CoralType::BUBBLE())); + $result->registerBlock("coral_fan_hang3", fn() => Blocks::WALL_CORAL_FAN()->setCoralType(CoralType::HORN())); + $result->registerBlock("cornflower", fn() => Blocks::CORNFLOWER()); + $result->registerBlock("cracked_stone_bricks", fn() => Blocks::CRACKED_STONE_BRICKS()); + $result->registerBlock("crafting_table", fn() => Blocks::CRAFTING_TABLE()); + $result->registerBlock("cut_red_sandstone", fn() => Blocks::CUT_RED_SANDSTONE()); + $result->registerBlock("cut_red_sandstone_slab", fn() => Blocks::CUT_RED_SANDSTONE_SLAB()); + $result->registerBlock("cut_sandstone", fn() => Blocks::CUT_SANDSTONE()); + $result->registerBlock("cut_sandstone_slab", fn() => Blocks::CUT_SANDSTONE_SLAB()); + $result->registerBlock("cyan_glazed_terracotta", fn() => Blocks::CYAN_GLAZED_TERRACOTTA()); + $result->registerBlock("damaged_anvil", fn() => Blocks::ANVIL()->setDamage(2)); + $result->registerBlock("dandelion", fn() => Blocks::DANDELION()); + $result->registerBlock("dark_oak_button", fn() => Blocks::DARK_OAK_BUTTON()); + $result->registerBlock("dark_oak_door", fn() => Blocks::DARK_OAK_DOOR()); + $result->registerBlock("dark_oak_door_block", fn() => Blocks::DARK_OAK_DOOR()); + $result->registerBlock("dark_oak_fence", fn() => Blocks::DARK_OAK_FENCE()); + $result->registerBlock("dark_oak_fence_gate", fn() => Blocks::DARK_OAK_FENCE_GATE()); + $result->registerBlock("dark_oak_leaves", fn() => Blocks::DARK_OAK_LEAVES()); + $result->registerBlock("dark_oak_log", fn() => Blocks::DARK_OAK_LOG()); + $result->registerBlock("dark_oak_planks", fn() => Blocks::DARK_OAK_PLANKS()); + $result->registerBlock("dark_oak_pressure_plate", fn() => Blocks::DARK_OAK_PRESSURE_PLATE()); + $result->registerBlock("dark_oak_sapling", fn() => Blocks::DARK_OAK_SAPLING()); + $result->registerBlock("dark_oak_sign", fn() => Blocks::DARK_OAK_SIGN()); + $result->registerBlock("dark_oak_slab", fn() => Blocks::DARK_OAK_SLAB()); + $result->registerBlock("dark_oak_stairs", fn() => Blocks::DARK_OAK_STAIRS()); + $result->registerBlock("dark_oak_standing_sign", fn() => Blocks::DARK_OAK_SIGN()); + $result->registerBlock("dark_oak_trapdoor", fn() => Blocks::DARK_OAK_TRAPDOOR()); + $result->registerBlock("dark_oak_wall_sign", fn() => Blocks::DARK_OAK_WALL_SIGN()); + $result->registerBlock("dark_oak_wood", fn() => Blocks::DARK_OAK_WOOD()); + $result->registerBlock("dark_oak_wood_stairs", fn() => Blocks::DARK_OAK_STAIRS()); + $result->registerBlock("dark_oak_wooden_stairs", fn() => Blocks::DARK_OAK_STAIRS()); + $result->registerBlock("dark_prismarine", fn() => Blocks::DARK_PRISMARINE()); + $result->registerBlock("dark_prismarine_slab", fn() => Blocks::DARK_PRISMARINE_SLAB()); + $result->registerBlock("dark_prismarine_stairs", fn() => Blocks::DARK_PRISMARINE_STAIRS()); + $result->registerBlock("darkoak_sign", fn() => Blocks::DARK_OAK_SIGN()); + $result->registerBlock("darkoak_standing_sign", fn() => Blocks::DARK_OAK_SIGN()); + $result->registerBlock("darkoak_wall_sign", fn() => Blocks::DARK_OAK_WALL_SIGN()); + $result->registerBlock("daylight_detector", fn() => Blocks::DAYLIGHT_SENSOR()); + $result->registerBlock("daylight_detector_inverted", fn() => Blocks::DAYLIGHT_SENSOR()->setInverted(true)); + $result->registerBlock("daylight_sensor", fn() => Blocks::DAYLIGHT_SENSOR()); + $result->registerBlock("daylight_sensor_inverted", fn() => Blocks::DAYLIGHT_SENSOR()->setInverted(true)); + $result->registerBlock("dead_bush", fn() => Blocks::DEAD_BUSH()); + $result->registerBlock("deadbush", fn() => Blocks::DEAD_BUSH()); + $result->registerBlock("detector_rail", fn() => Blocks::DETECTOR_RAIL()); + $result->registerBlock("diamond_block", fn() => Blocks::DIAMOND()); + $result->registerBlock("diamond_ore", fn() => Blocks::DIAMOND_ORE()); + $result->registerBlock("diorite", fn() => Blocks::DIORITE()); + $result->registerBlock("diorite_slab", fn() => Blocks::DIORITE_SLAB()); + $result->registerBlock("diorite_stairs", fn() => Blocks::DIORITE_STAIRS()); + $result->registerBlock("diorite_wall", fn() => Blocks::DIORITE_WALL()); + $result->registerBlock("dirt", fn() => Blocks::DIRT()); + $result->registerBlock("door_block", fn() => Blocks::OAK_DOOR()); + $result->registerBlock("double_plant", fn() => Blocks::SUNFLOWER()); + $result->registerBlock("double_red_sandstone_slab", fn() => Blocks::RED_SANDSTONE_SLAB()->setSlabType(SlabType::DOUBLE())); + $result->registerBlock("double_slab", fn() => Blocks::STONE_SLAB()->setSlabType(SlabType::DOUBLE())); + $result->registerBlock("double_slabs", fn() => Blocks::STONE_SLAB()->setSlabType(SlabType::DOUBLE())); + $result->registerBlock("double_stone_slab", fn() => Blocks::STONE_SLAB()->setSlabType(SlabType::DOUBLE())); + $result->registerBlock("double_stone_slab2", fn() => Blocks::RED_SANDSTONE_SLAB()->setSlabType(SlabType::DOUBLE())); + $result->registerBlock("double_stone_slab3", fn() => Blocks::END_STONE_BRICK_SLAB()->setSlabType(SlabType::DOUBLE())); + $result->registerBlock("double_stone_slab4", fn() => Blocks::MOSSY_STONE_BRICK_SLAB()->setSlabType(SlabType::DOUBLE())); + $result->registerBlock("double_tallgrass", fn() => Blocks::DOUBLE_TALLGRASS()); + $result->registerBlock("double_wood_slab", fn() => Blocks::OAK_SLAB()->setSlabType(SlabType::DOUBLE())); + $result->registerBlock("double_wood_slabs", fn() => Blocks::OAK_SLAB()->setSlabType(SlabType::DOUBLE())); + $result->registerBlock("double_wooden_slab", fn() => Blocks::OAK_SLAB()->setSlabType(SlabType::DOUBLE())); + $result->registerBlock("double_wooden_slabs", fn() => Blocks::OAK_SLAB()->setSlabType(SlabType::DOUBLE())); + $result->registerBlock("dragon_egg", fn() => Blocks::DRAGON_EGG()); + $result->registerBlock("dried_kelp_block", fn() => Blocks::DRIED_KELP()); + $result->registerBlock("dyed_shulker_box", fn() => Blocks::DYED_SHULKER_BOX()); + $result->registerBlock("element_0", fn() => Blocks::ELEMENT_ZERO()); + $result->registerBlock("element_1", fn() => Blocks::ELEMENT_HYDROGEN()); + $result->registerBlock("element_10", fn() => Blocks::ELEMENT_NEON()); + $result->registerBlock("element_100", fn() => Blocks::ELEMENT_FERMIUM()); + $result->registerBlock("element_101", fn() => Blocks::ELEMENT_MENDELEVIUM()); + $result->registerBlock("element_102", fn() => Blocks::ELEMENT_NOBELIUM()); + $result->registerBlock("element_103", fn() => Blocks::ELEMENT_LAWRENCIUM()); + $result->registerBlock("element_104", fn() => Blocks::ELEMENT_RUTHERFORDIUM()); + $result->registerBlock("element_105", fn() => Blocks::ELEMENT_DUBNIUM()); + $result->registerBlock("element_106", fn() => Blocks::ELEMENT_SEABORGIUM()); + $result->registerBlock("element_107", fn() => Blocks::ELEMENT_BOHRIUM()); + $result->registerBlock("element_108", fn() => Blocks::ELEMENT_HASSIUM()); + $result->registerBlock("element_109", fn() => Blocks::ELEMENT_MEITNERIUM()); + $result->registerBlock("element_11", fn() => Blocks::ELEMENT_SODIUM()); + $result->registerBlock("element_110", fn() => Blocks::ELEMENT_DARMSTADTIUM()); + $result->registerBlock("element_111", fn() => Blocks::ELEMENT_ROENTGENIUM()); + $result->registerBlock("element_112", fn() => Blocks::ELEMENT_COPERNICIUM()); + $result->registerBlock("element_113", fn() => Blocks::ELEMENT_NIHONIUM()); + $result->registerBlock("element_114", fn() => Blocks::ELEMENT_FLEROVIUM()); + $result->registerBlock("element_115", fn() => Blocks::ELEMENT_MOSCOVIUM()); + $result->registerBlock("element_116", fn() => Blocks::ELEMENT_LIVERMORIUM()); + $result->registerBlock("element_117", fn() => Blocks::ELEMENT_TENNESSINE()); + $result->registerBlock("element_118", fn() => Blocks::ELEMENT_OGANESSON()); + $result->registerBlock("element_12", fn() => Blocks::ELEMENT_MAGNESIUM()); + $result->registerBlock("element_13", fn() => Blocks::ELEMENT_ALUMINUM()); + $result->registerBlock("element_14", fn() => Blocks::ELEMENT_SILICON()); + $result->registerBlock("element_15", fn() => Blocks::ELEMENT_PHOSPHORUS()); + $result->registerBlock("element_16", fn() => Blocks::ELEMENT_SULFUR()); + $result->registerBlock("element_17", fn() => Blocks::ELEMENT_CHLORINE()); + $result->registerBlock("element_18", fn() => Blocks::ELEMENT_ARGON()); + $result->registerBlock("element_19", fn() => Blocks::ELEMENT_POTASSIUM()); + $result->registerBlock("element_2", fn() => Blocks::ELEMENT_HELIUM()); + $result->registerBlock("element_20", fn() => Blocks::ELEMENT_CALCIUM()); + $result->registerBlock("element_21", fn() => Blocks::ELEMENT_SCANDIUM()); + $result->registerBlock("element_22", fn() => Blocks::ELEMENT_TITANIUM()); + $result->registerBlock("element_23", fn() => Blocks::ELEMENT_VANADIUM()); + $result->registerBlock("element_24", fn() => Blocks::ELEMENT_CHROMIUM()); + $result->registerBlock("element_25", fn() => Blocks::ELEMENT_MANGANESE()); + $result->registerBlock("element_26", fn() => Blocks::ELEMENT_IRON()); + $result->registerBlock("element_27", fn() => Blocks::ELEMENT_COBALT()); + $result->registerBlock("element_28", fn() => Blocks::ELEMENT_NICKEL()); + $result->registerBlock("element_29", fn() => Blocks::ELEMENT_COPPER()); + $result->registerBlock("element_3", fn() => Blocks::ELEMENT_LITHIUM()); + $result->registerBlock("element_30", fn() => Blocks::ELEMENT_ZINC()); + $result->registerBlock("element_31", fn() => Blocks::ELEMENT_GALLIUM()); + $result->registerBlock("element_32", fn() => Blocks::ELEMENT_GERMANIUM()); + $result->registerBlock("element_33", fn() => Blocks::ELEMENT_ARSENIC()); + $result->registerBlock("element_34", fn() => Blocks::ELEMENT_SELENIUM()); + $result->registerBlock("element_35", fn() => Blocks::ELEMENT_BROMINE()); + $result->registerBlock("element_36", fn() => Blocks::ELEMENT_KRYPTON()); + $result->registerBlock("element_37", fn() => Blocks::ELEMENT_RUBIDIUM()); + $result->registerBlock("element_38", fn() => Blocks::ELEMENT_STRONTIUM()); + $result->registerBlock("element_39", fn() => Blocks::ELEMENT_YTTRIUM()); + $result->registerBlock("element_4", fn() => Blocks::ELEMENT_BERYLLIUM()); + $result->registerBlock("element_40", fn() => Blocks::ELEMENT_ZIRCONIUM()); + $result->registerBlock("element_41", fn() => Blocks::ELEMENT_NIOBIUM()); + $result->registerBlock("element_42", fn() => Blocks::ELEMENT_MOLYBDENUM()); + $result->registerBlock("element_43", fn() => Blocks::ELEMENT_TECHNETIUM()); + $result->registerBlock("element_44", fn() => Blocks::ELEMENT_RUTHENIUM()); + $result->registerBlock("element_45", fn() => Blocks::ELEMENT_RHODIUM()); + $result->registerBlock("element_46", fn() => Blocks::ELEMENT_PALLADIUM()); + $result->registerBlock("element_47", fn() => Blocks::ELEMENT_SILVER()); + $result->registerBlock("element_48", fn() => Blocks::ELEMENT_CADMIUM()); + $result->registerBlock("element_49", fn() => Blocks::ELEMENT_INDIUM()); + $result->registerBlock("element_5", fn() => Blocks::ELEMENT_BORON()); + $result->registerBlock("element_50", fn() => Blocks::ELEMENT_TIN()); + $result->registerBlock("element_51", fn() => Blocks::ELEMENT_ANTIMONY()); + $result->registerBlock("element_52", fn() => Blocks::ELEMENT_TELLURIUM()); + $result->registerBlock("element_53", fn() => Blocks::ELEMENT_IODINE()); + $result->registerBlock("element_54", fn() => Blocks::ELEMENT_XENON()); + $result->registerBlock("element_55", fn() => Blocks::ELEMENT_CESIUM()); + $result->registerBlock("element_56", fn() => Blocks::ELEMENT_BARIUM()); + $result->registerBlock("element_57", fn() => Blocks::ELEMENT_LANTHANUM()); + $result->registerBlock("element_58", fn() => Blocks::ELEMENT_CERIUM()); + $result->registerBlock("element_59", fn() => Blocks::ELEMENT_PRASEODYMIUM()); + $result->registerBlock("element_6", fn() => Blocks::ELEMENT_CARBON()); + $result->registerBlock("element_60", fn() => Blocks::ELEMENT_NEODYMIUM()); + $result->registerBlock("element_61", fn() => Blocks::ELEMENT_PROMETHIUM()); + $result->registerBlock("element_62", fn() => Blocks::ELEMENT_SAMARIUM()); + $result->registerBlock("element_63", fn() => Blocks::ELEMENT_EUROPIUM()); + $result->registerBlock("element_64", fn() => Blocks::ELEMENT_GADOLINIUM()); + $result->registerBlock("element_65", fn() => Blocks::ELEMENT_TERBIUM()); + $result->registerBlock("element_66", fn() => Blocks::ELEMENT_DYSPROSIUM()); + $result->registerBlock("element_67", fn() => Blocks::ELEMENT_HOLMIUM()); + $result->registerBlock("element_68", fn() => Blocks::ELEMENT_ERBIUM()); + $result->registerBlock("element_69", fn() => Blocks::ELEMENT_THULIUM()); + $result->registerBlock("element_7", fn() => Blocks::ELEMENT_NITROGEN()); + $result->registerBlock("element_70", fn() => Blocks::ELEMENT_YTTERBIUM()); + $result->registerBlock("element_71", fn() => Blocks::ELEMENT_LUTETIUM()); + $result->registerBlock("element_72", fn() => Blocks::ELEMENT_HAFNIUM()); + $result->registerBlock("element_73", fn() => Blocks::ELEMENT_TANTALUM()); + $result->registerBlock("element_74", fn() => Blocks::ELEMENT_TUNGSTEN()); + $result->registerBlock("element_75", fn() => Blocks::ELEMENT_RHENIUM()); + $result->registerBlock("element_76", fn() => Blocks::ELEMENT_OSMIUM()); + $result->registerBlock("element_77", fn() => Blocks::ELEMENT_IRIDIUM()); + $result->registerBlock("element_78", fn() => Blocks::ELEMENT_PLATINUM()); + $result->registerBlock("element_79", fn() => Blocks::ELEMENT_GOLD()); + $result->registerBlock("element_8", fn() => Blocks::ELEMENT_OXYGEN()); + $result->registerBlock("element_80", fn() => Blocks::ELEMENT_MERCURY()); + $result->registerBlock("element_81", fn() => Blocks::ELEMENT_THALLIUM()); + $result->registerBlock("element_82", fn() => Blocks::ELEMENT_LEAD()); + $result->registerBlock("element_83", fn() => Blocks::ELEMENT_BISMUTH()); + $result->registerBlock("element_84", fn() => Blocks::ELEMENT_POLONIUM()); + $result->registerBlock("element_85", fn() => Blocks::ELEMENT_ASTATINE()); + $result->registerBlock("element_86", fn() => Blocks::ELEMENT_RADON()); + $result->registerBlock("element_87", fn() => Blocks::ELEMENT_FRANCIUM()); + $result->registerBlock("element_88", fn() => Blocks::ELEMENT_RADIUM()); + $result->registerBlock("element_89", fn() => Blocks::ELEMENT_ACTINIUM()); + $result->registerBlock("element_9", fn() => Blocks::ELEMENT_FLUORINE()); + $result->registerBlock("element_90", fn() => Blocks::ELEMENT_THORIUM()); + $result->registerBlock("element_91", fn() => Blocks::ELEMENT_PROTACTINIUM()); + $result->registerBlock("element_92", fn() => Blocks::ELEMENT_URANIUM()); + $result->registerBlock("element_93", fn() => Blocks::ELEMENT_NEPTUNIUM()); + $result->registerBlock("element_94", fn() => Blocks::ELEMENT_PLUTONIUM()); + $result->registerBlock("element_95", fn() => Blocks::ELEMENT_AMERICIUM()); + $result->registerBlock("element_96", fn() => Blocks::ELEMENT_CURIUM()); + $result->registerBlock("element_97", fn() => Blocks::ELEMENT_BERKELIUM()); + $result->registerBlock("element_98", fn() => Blocks::ELEMENT_CALIFORNIUM()); + $result->registerBlock("element_99", fn() => Blocks::ELEMENT_EINSTEINIUM()); + $result->registerBlock("element_actinium", fn() => Blocks::ELEMENT_ACTINIUM()); + $result->registerBlock("element_aluminum", fn() => Blocks::ELEMENT_ALUMINUM()); + $result->registerBlock("element_americium", fn() => Blocks::ELEMENT_AMERICIUM()); + $result->registerBlock("element_antimony", fn() => Blocks::ELEMENT_ANTIMONY()); + $result->registerBlock("element_argon", fn() => Blocks::ELEMENT_ARGON()); + $result->registerBlock("element_arsenic", fn() => Blocks::ELEMENT_ARSENIC()); + $result->registerBlock("element_astatine", fn() => Blocks::ELEMENT_ASTATINE()); + $result->registerBlock("element_barium", fn() => Blocks::ELEMENT_BARIUM()); + $result->registerBlock("element_berkelium", fn() => Blocks::ELEMENT_BERKELIUM()); + $result->registerBlock("element_beryllium", fn() => Blocks::ELEMENT_BERYLLIUM()); + $result->registerBlock("element_bismuth", fn() => Blocks::ELEMENT_BISMUTH()); + $result->registerBlock("element_bohrium", fn() => Blocks::ELEMENT_BOHRIUM()); + $result->registerBlock("element_boron", fn() => Blocks::ELEMENT_BORON()); + $result->registerBlock("element_bromine", fn() => Blocks::ELEMENT_BROMINE()); + $result->registerBlock("element_cadmium", fn() => Blocks::ELEMENT_CADMIUM()); + $result->registerBlock("element_calcium", fn() => Blocks::ELEMENT_CALCIUM()); + $result->registerBlock("element_californium", fn() => Blocks::ELEMENT_CALIFORNIUM()); + $result->registerBlock("element_carbon", fn() => Blocks::ELEMENT_CARBON()); + $result->registerBlock("element_cerium", fn() => Blocks::ELEMENT_CERIUM()); + $result->registerBlock("element_cesium", fn() => Blocks::ELEMENT_CESIUM()); + $result->registerBlock("element_chlorine", fn() => Blocks::ELEMENT_CHLORINE()); + $result->registerBlock("element_chromium", fn() => Blocks::ELEMENT_CHROMIUM()); + $result->registerBlock("element_cobalt", fn() => Blocks::ELEMENT_COBALT()); + $result->registerBlock("element_constructor", fn() => Blocks::ELEMENT_CONSTRUCTOR()); + $result->registerBlock("element_copernicium", fn() => Blocks::ELEMENT_COPERNICIUM()); + $result->registerBlock("element_copper", fn() => Blocks::ELEMENT_COPPER()); + $result->registerBlock("element_curium", fn() => Blocks::ELEMENT_CURIUM()); + $result->registerBlock("element_darmstadtium", fn() => Blocks::ELEMENT_DARMSTADTIUM()); + $result->registerBlock("element_dubnium", fn() => Blocks::ELEMENT_DUBNIUM()); + $result->registerBlock("element_dysprosium", fn() => Blocks::ELEMENT_DYSPROSIUM()); + $result->registerBlock("element_einsteinium", fn() => Blocks::ELEMENT_EINSTEINIUM()); + $result->registerBlock("element_erbium", fn() => Blocks::ELEMENT_ERBIUM()); + $result->registerBlock("element_europium", fn() => Blocks::ELEMENT_EUROPIUM()); + $result->registerBlock("element_fermium", fn() => Blocks::ELEMENT_FERMIUM()); + $result->registerBlock("element_flerovium", fn() => Blocks::ELEMENT_FLEROVIUM()); + $result->registerBlock("element_fluorine", fn() => Blocks::ELEMENT_FLUORINE()); + $result->registerBlock("element_francium", fn() => Blocks::ELEMENT_FRANCIUM()); + $result->registerBlock("element_gadolinium", fn() => Blocks::ELEMENT_GADOLINIUM()); + $result->registerBlock("element_gallium", fn() => Blocks::ELEMENT_GALLIUM()); + $result->registerBlock("element_germanium", fn() => Blocks::ELEMENT_GERMANIUM()); + $result->registerBlock("element_gold", fn() => Blocks::ELEMENT_GOLD()); + $result->registerBlock("element_hafnium", fn() => Blocks::ELEMENT_HAFNIUM()); + $result->registerBlock("element_hassium", fn() => Blocks::ELEMENT_HASSIUM()); + $result->registerBlock("element_helium", fn() => Blocks::ELEMENT_HELIUM()); + $result->registerBlock("element_holmium", fn() => Blocks::ELEMENT_HOLMIUM()); + $result->registerBlock("element_hydrogen", fn() => Blocks::ELEMENT_HYDROGEN()); + $result->registerBlock("element_indium", fn() => Blocks::ELEMENT_INDIUM()); + $result->registerBlock("element_iodine", fn() => Blocks::ELEMENT_IODINE()); + $result->registerBlock("element_iridium", fn() => Blocks::ELEMENT_IRIDIUM()); + $result->registerBlock("element_iron", fn() => Blocks::ELEMENT_IRON()); + $result->registerBlock("element_krypton", fn() => Blocks::ELEMENT_KRYPTON()); + $result->registerBlock("element_lanthanum", fn() => Blocks::ELEMENT_LANTHANUM()); + $result->registerBlock("element_lawrencium", fn() => Blocks::ELEMENT_LAWRENCIUM()); + $result->registerBlock("element_lead", fn() => Blocks::ELEMENT_LEAD()); + $result->registerBlock("element_lithium", fn() => Blocks::ELEMENT_LITHIUM()); + $result->registerBlock("element_livermorium", fn() => Blocks::ELEMENT_LIVERMORIUM()); + $result->registerBlock("element_lutetium", fn() => Blocks::ELEMENT_LUTETIUM()); + $result->registerBlock("element_magnesium", fn() => Blocks::ELEMENT_MAGNESIUM()); + $result->registerBlock("element_manganese", fn() => Blocks::ELEMENT_MANGANESE()); + $result->registerBlock("element_meitnerium", fn() => Blocks::ELEMENT_MEITNERIUM()); + $result->registerBlock("element_mendelevium", fn() => Blocks::ELEMENT_MENDELEVIUM()); + $result->registerBlock("element_mercury", fn() => Blocks::ELEMENT_MERCURY()); + $result->registerBlock("element_molybdenum", fn() => Blocks::ELEMENT_MOLYBDENUM()); + $result->registerBlock("element_moscovium", fn() => Blocks::ELEMENT_MOSCOVIUM()); + $result->registerBlock("element_neodymium", fn() => Blocks::ELEMENT_NEODYMIUM()); + $result->registerBlock("element_neon", fn() => Blocks::ELEMENT_NEON()); + $result->registerBlock("element_neptunium", fn() => Blocks::ELEMENT_NEPTUNIUM()); + $result->registerBlock("element_nickel", fn() => Blocks::ELEMENT_NICKEL()); + $result->registerBlock("element_nihonium", fn() => Blocks::ELEMENT_NIHONIUM()); + $result->registerBlock("element_niobium", fn() => Blocks::ELEMENT_NIOBIUM()); + $result->registerBlock("element_nitrogen", fn() => Blocks::ELEMENT_NITROGEN()); + $result->registerBlock("element_nobelium", fn() => Blocks::ELEMENT_NOBELIUM()); + $result->registerBlock("element_oganesson", fn() => Blocks::ELEMENT_OGANESSON()); + $result->registerBlock("element_osmium", fn() => Blocks::ELEMENT_OSMIUM()); + $result->registerBlock("element_oxygen", fn() => Blocks::ELEMENT_OXYGEN()); + $result->registerBlock("element_palladium", fn() => Blocks::ELEMENT_PALLADIUM()); + $result->registerBlock("element_phosphorus", fn() => Blocks::ELEMENT_PHOSPHORUS()); + $result->registerBlock("element_platinum", fn() => Blocks::ELEMENT_PLATINUM()); + $result->registerBlock("element_plutonium", fn() => Blocks::ELEMENT_PLUTONIUM()); + $result->registerBlock("element_polonium", fn() => Blocks::ELEMENT_POLONIUM()); + $result->registerBlock("element_potassium", fn() => Blocks::ELEMENT_POTASSIUM()); + $result->registerBlock("element_praseodymium", fn() => Blocks::ELEMENT_PRASEODYMIUM()); + $result->registerBlock("element_promethium", fn() => Blocks::ELEMENT_PROMETHIUM()); + $result->registerBlock("element_protactinium", fn() => Blocks::ELEMENT_PROTACTINIUM()); + $result->registerBlock("element_radium", fn() => Blocks::ELEMENT_RADIUM()); + $result->registerBlock("element_radon", fn() => Blocks::ELEMENT_RADON()); + $result->registerBlock("element_rhenium", fn() => Blocks::ELEMENT_RHENIUM()); + $result->registerBlock("element_rhodium", fn() => Blocks::ELEMENT_RHODIUM()); + $result->registerBlock("element_roentgenium", fn() => Blocks::ELEMENT_ROENTGENIUM()); + $result->registerBlock("element_rubidium", fn() => Blocks::ELEMENT_RUBIDIUM()); + $result->registerBlock("element_ruthenium", fn() => Blocks::ELEMENT_RUTHENIUM()); + $result->registerBlock("element_rutherfordium", fn() => Blocks::ELEMENT_RUTHERFORDIUM()); + $result->registerBlock("element_samarium", fn() => Blocks::ELEMENT_SAMARIUM()); + $result->registerBlock("element_scandium", fn() => Blocks::ELEMENT_SCANDIUM()); + $result->registerBlock("element_seaborgium", fn() => Blocks::ELEMENT_SEABORGIUM()); + $result->registerBlock("element_selenium", fn() => Blocks::ELEMENT_SELENIUM()); + $result->registerBlock("element_silicon", fn() => Blocks::ELEMENT_SILICON()); + $result->registerBlock("element_silver", fn() => Blocks::ELEMENT_SILVER()); + $result->registerBlock("element_sodium", fn() => Blocks::ELEMENT_SODIUM()); + $result->registerBlock("element_strontium", fn() => Blocks::ELEMENT_STRONTIUM()); + $result->registerBlock("element_sulfur", fn() => Blocks::ELEMENT_SULFUR()); + $result->registerBlock("element_tantalum", fn() => Blocks::ELEMENT_TANTALUM()); + $result->registerBlock("element_technetium", fn() => Blocks::ELEMENT_TECHNETIUM()); + $result->registerBlock("element_tellurium", fn() => Blocks::ELEMENT_TELLURIUM()); + $result->registerBlock("element_tennessine", fn() => Blocks::ELEMENT_TENNESSINE()); + $result->registerBlock("element_terbium", fn() => Blocks::ELEMENT_TERBIUM()); + $result->registerBlock("element_thallium", fn() => Blocks::ELEMENT_THALLIUM()); + $result->registerBlock("element_thorium", fn() => Blocks::ELEMENT_THORIUM()); + $result->registerBlock("element_thulium", fn() => Blocks::ELEMENT_THULIUM()); + $result->registerBlock("element_tin", fn() => Blocks::ELEMENT_TIN()); + $result->registerBlock("element_titanium", fn() => Blocks::ELEMENT_TITANIUM()); + $result->registerBlock("element_tungsten", fn() => Blocks::ELEMENT_TUNGSTEN()); + $result->registerBlock("element_uranium", fn() => Blocks::ELEMENT_URANIUM()); + $result->registerBlock("element_vanadium", fn() => Blocks::ELEMENT_VANADIUM()); + $result->registerBlock("element_xenon", fn() => Blocks::ELEMENT_XENON()); + $result->registerBlock("element_ytterbium", fn() => Blocks::ELEMENT_YTTERBIUM()); + $result->registerBlock("element_yttrium", fn() => Blocks::ELEMENT_YTTRIUM()); + $result->registerBlock("element_zero", fn() => Blocks::ELEMENT_ZERO()); + $result->registerBlock("element_zinc", fn() => Blocks::ELEMENT_ZINC()); + $result->registerBlock("element_zirconium", fn() => Blocks::ELEMENT_ZIRCONIUM()); + $result->registerBlock("emerald_block", fn() => Blocks::EMERALD()); + $result->registerBlock("emerald_ore", fn() => Blocks::EMERALD_ORE()); + $result->registerBlock("enchant_table", fn() => Blocks::ENCHANTING_TABLE()); + $result->registerBlock("enchanting_table", fn() => Blocks::ENCHANTING_TABLE()); + $result->registerBlock("enchantment_table", fn() => Blocks::ENCHANTING_TABLE()); + $result->registerBlock("end_brick_stairs", fn() => Blocks::END_STONE_BRICK_STAIRS()); + $result->registerBlock("end_bricks", fn() => Blocks::END_STONE_BRICKS()); + $result->registerBlock("end_portal_frame", fn() => Blocks::END_PORTAL_FRAME()); + $result->registerBlock("end_rod", fn() => Blocks::END_ROD()); + $result->registerBlock("end_stone", fn() => Blocks::END_STONE()); + $result->registerBlock("end_stone_brick_slab", fn() => Blocks::END_STONE_BRICK_SLAB()); + $result->registerBlock("end_stone_brick_stairs", fn() => Blocks::END_STONE_BRICK_STAIRS()); + $result->registerBlock("end_stone_brick_wall", fn() => Blocks::END_STONE_BRICK_WALL()); + $result->registerBlock("end_stone_bricks", fn() => Blocks::END_STONE_BRICKS()); + $result->registerBlock("ender_chest", fn() => Blocks::ENDER_CHEST()); + $result->registerBlock("fake_wooden_slab", fn() => Blocks::FAKE_WOODEN_SLAB()); + $result->registerBlock("farmland", fn() => Blocks::FARMLAND()); + $result->registerBlock("fence", fn() => Blocks::OAK_FENCE()); + $result->registerBlock("fence_gate", fn() => Blocks::OAK_FENCE_GATE()); + $result->registerBlock("fence_gate_acacia", fn() => Blocks::ACACIA_FENCE_GATE()); + $result->registerBlock("fence_gate_birch", fn() => Blocks::BIRCH_FENCE_GATE()); + $result->registerBlock("fence_gate_dark_oak", fn() => Blocks::DARK_OAK_FENCE_GATE()); + $result->registerBlock("fence_gate_jungle", fn() => Blocks::JUNGLE_FENCE_GATE()); + $result->registerBlock("fence_gate_spruce", fn() => Blocks::SPRUCE_FENCE_GATE()); + $result->registerBlock("fern", fn() => Blocks::FERN()); + $result->registerBlock("fire", fn() => Blocks::FIRE()); + $result->registerBlock("fletching_table", fn() => Blocks::FLETCHING_TABLE()); + $result->registerBlock("flower_pot", fn() => Blocks::FLOWER_POT()); + $result->registerBlock("flower_pot_block", fn() => Blocks::FLOWER_POT()); + $result->registerBlock("flowing_lava", fn() => Blocks::LAVA()); + $result->registerBlock("flowing_water", fn() => Blocks::WATER()); + $result->registerBlock("frame", fn() => Blocks::ITEM_FRAME()); + $result->registerBlock("frame_block", fn() => Blocks::ITEM_FRAME()); + $result->registerBlock("frosted_ice", fn() => Blocks::FROSTED_ICE()); + $result->registerBlock("furnace", fn() => Blocks::FURNACE()); + $result->registerBlock("glass", fn() => Blocks::GLASS()); + $result->registerBlock("glass_pane", fn() => Blocks::GLASS_PANE()); + $result->registerBlock("glass_panel", fn() => Blocks::GLASS_PANE()); + $result->registerBlock("glowing_obsidian", fn() => Blocks::GLOWING_OBSIDIAN()); + $result->registerBlock("glowing_redstone_ore", fn() => Blocks::REDSTONE_ORE()->setLit(true)); + $result->registerBlock("glowingobsidian", fn() => Blocks::GLOWING_OBSIDIAN()); + $result->registerBlock("glowstone", fn() => Blocks::GLOWSTONE()); + $result->registerBlock("glowstone_block", fn() => Blocks::GLOWSTONE()); + $result->registerBlock("gold", fn() => Blocks::GOLD()); + $result->registerBlock("gold_block", fn() => Blocks::GOLD()); + $result->registerBlock("gold_ore", fn() => Blocks::GOLD_ORE()); + $result->registerBlock("gold_pressure_plate", fn() => Blocks::WEIGHTED_PRESSURE_PLATE_LIGHT()); + $result->registerBlock("golden_rail", fn() => Blocks::POWERED_RAIL()); + $result->registerBlock("granite", fn() => Blocks::GRANITE()); + $result->registerBlock("granite_slab", fn() => Blocks::GRANITE_SLAB()); + $result->registerBlock("granite_stairs", fn() => Blocks::GRANITE_STAIRS()); + $result->registerBlock("granite_wall", fn() => Blocks::GRANITE_WALL()); + $result->registerBlock("grass", fn() => Blocks::GRASS()); + $result->registerBlock("grass_path", fn() => Blocks::GRASS_PATH()); + $result->registerBlock("gravel", fn() => Blocks::GRAVEL()); + $result->registerBlock("gray_glazed_terracotta", fn() => Blocks::GRAY_GLAZED_TERRACOTTA()); + $result->registerBlock("green_glazed_terracotta", fn() => Blocks::GREEN_GLAZED_TERRACOTTA()); + $result->registerBlock("green_torch", fn() => Blocks::GREEN_TORCH()); + $result->registerBlock("hard_glass", fn() => Blocks::HARDENED_GLASS()); + $result->registerBlock("hard_glass_pane", fn() => Blocks::HARDENED_GLASS_PANE()); + $result->registerBlock("hard_stained_glass", fn() => Blocks::STAINED_HARDENED_GLASS()); + $result->registerBlock("hard_stained_glass_pane", fn() => Blocks::STAINED_HARDENED_GLASS_PANE()); + $result->registerBlock("hardened_clay", fn() => Blocks::HARDENED_CLAY()); + $result->registerBlock("hardened_glass", fn() => Blocks::HARDENED_GLASS()); + $result->registerBlock("hardened_glass_pane", fn() => Blocks::HARDENED_GLASS_PANE()); + $result->registerBlock("hay_bale", fn() => Blocks::HAY_BALE()); + $result->registerBlock("hay_block", fn() => Blocks::HAY_BALE()); + $result->registerBlock("heavy_weighted_pressure_plate", fn() => Blocks::WEIGHTED_PRESSURE_PLATE_HEAVY()); + $result->registerBlock("hopper", fn() => Blocks::HOPPER()); + $result->registerBlock("hopper_block", fn() => Blocks::HOPPER()); + $result->registerBlock("ice", fn() => Blocks::ICE()); + $result->registerBlock("inactive_redstone_lamp", fn() => Blocks::REDSTONE_LAMP()); + $result->registerBlock("infested_chiseled_stone_brick", fn() => Blocks::INFESTED_CHISELED_STONE_BRICK()); + $result->registerBlock("infested_cobblestone", fn() => Blocks::INFESTED_COBBLESTONE()); + $result->registerBlock("infested_cracked_stone_brick", fn() => Blocks::INFESTED_CRACKED_STONE_BRICK()); + $result->registerBlock("infested_mossy_stone_brick", fn() => Blocks::INFESTED_MOSSY_STONE_BRICK()); + $result->registerBlock("infested_stone", fn() => Blocks::INFESTED_STONE()); + $result->registerBlock("infested_stone_brick", fn() => Blocks::INFESTED_STONE_BRICK()); + $result->registerBlock("info_reserved6", fn() => Blocks::RESERVED6()); + $result->registerBlock("info_update", fn() => Blocks::INFO_UPDATE()); + $result->registerBlock("info_update2", fn() => Blocks::INFO_UPDATE2()); + $result->registerBlock("inverted_daylight_sensor", fn() => Blocks::DAYLIGHT_SENSOR()->setInverted(true)); + $result->registerBlock("invisible_bedrock", fn() => Blocks::INVISIBLE_BEDROCK()); + $result->registerBlock("invisiblebedrock", fn() => Blocks::INVISIBLE_BEDROCK()); + $result->registerBlock("iron", fn() => Blocks::IRON()); + $result->registerBlock("iron_bar", fn() => Blocks::IRON_BARS()); + $result->registerBlock("iron_bars", fn() => Blocks::IRON_BARS()); + $result->registerBlock("iron_block", fn() => Blocks::IRON()); + $result->registerBlock("iron_door", fn() => Blocks::IRON_DOOR()); + $result->registerBlock("iron_door_block", fn() => Blocks::IRON_DOOR()); + $result->registerBlock("iron_ore", fn() => Blocks::IRON_ORE()); + $result->registerBlock("iron_pressure_plate", fn() => Blocks::WEIGHTED_PRESSURE_PLATE_HEAVY()); + $result->registerBlock("iron_trapdoor", fn() => Blocks::IRON_TRAPDOOR()); + $result->registerBlock("item_frame", fn() => Blocks::ITEM_FRAME()); + $result->registerBlock("item_frame_block", fn() => Blocks::ITEM_FRAME()); + $result->registerBlock("jack_o_lantern", fn() => Blocks::LIT_PUMPKIN()); + $result->registerBlock("jukebox", fn() => Blocks::JUKEBOX()); + $result->registerBlock("jungle_button", fn() => Blocks::JUNGLE_BUTTON()); + $result->registerBlock("jungle_door", fn() => Blocks::JUNGLE_DOOR()); + $result->registerBlock("jungle_door_block", fn() => Blocks::JUNGLE_DOOR()); + $result->registerBlock("jungle_fence", fn() => Blocks::JUNGLE_FENCE()); + $result->registerBlock("jungle_fence_gate", fn() => Blocks::JUNGLE_FENCE_GATE()); + $result->registerBlock("jungle_leaves", fn() => Blocks::JUNGLE_LEAVES()); + $result->registerBlock("jungle_log", fn() => Blocks::JUNGLE_LOG()); + $result->registerBlock("jungle_planks", fn() => Blocks::JUNGLE_PLANKS()); + $result->registerBlock("jungle_pressure_plate", fn() => Blocks::JUNGLE_PRESSURE_PLATE()); + $result->registerBlock("jungle_sapling", fn() => Blocks::JUNGLE_SAPLING()); + $result->registerBlock("jungle_sign", fn() => Blocks::JUNGLE_SIGN()); + $result->registerBlock("jungle_slab", fn() => Blocks::JUNGLE_SLAB()); + $result->registerBlock("jungle_stairs", fn() => Blocks::JUNGLE_STAIRS()); + $result->registerBlock("jungle_standing_sign", fn() => Blocks::JUNGLE_SIGN()); + $result->registerBlock("jungle_trapdoor", fn() => Blocks::JUNGLE_TRAPDOOR()); + $result->registerBlock("jungle_wall_sign", fn() => Blocks::JUNGLE_WALL_SIGN()); + $result->registerBlock("jungle_wood", fn() => Blocks::JUNGLE_WOOD()); + $result->registerBlock("jungle_wood_stairs", fn() => Blocks::JUNGLE_STAIRS()); + $result->registerBlock("jungle_wooden_stairs", fn() => Blocks::JUNGLE_STAIRS()); + $result->registerBlock("lab_table", fn() => Blocks::LAB_TABLE()); + $result->registerBlock("ladder", fn() => Blocks::LADDER()); + $result->registerBlock("lantern", fn() => Blocks::LANTERN()); + $result->registerBlock("lapis_block", fn() => Blocks::LAPIS_LAZULI()); + $result->registerBlock("lapis_lazuli_block", fn() => Blocks::LAPIS_LAZULI()); + $result->registerBlock("lapis_lazuli_ore", fn() => Blocks::LAPIS_LAZULI_ORE()); + $result->registerBlock("lapis_ore", fn() => Blocks::LAPIS_LAZULI_ORE()); + $result->registerBlock("large_fern", fn() => Blocks::LARGE_FERN()); + $result->registerBlock("lava", fn() => Blocks::LAVA()); + $result->registerBlock("leave", fn() => Blocks::OAK_LEAVES()); + $result->registerBlock("leave2", fn() => Blocks::ACACIA_LEAVES()); + $result->registerBlock("leaves", fn() => Blocks::OAK_LEAVES()); + $result->registerBlock("leaves2", fn() => Blocks::ACACIA_LEAVES()); + $result->registerBlock("lectern", fn() => Blocks::LECTERN()); + $result->registerBlock("legacy_stonecutter", fn() => Blocks::LEGACY_STONECUTTER()); + $result->registerBlock("lever", fn() => Blocks::LEVER()); + $result->registerBlock("light_blue_glazed_terracotta", fn() => Blocks::LIGHT_BLUE_GLAZED_TERRACOTTA()); + $result->registerBlock("light_gray_glazed_terracotta", fn() => Blocks::LIGHT_GRAY_GLAZED_TERRACOTTA()); + $result->registerBlock("light_weighted_pressure_plate", fn() => Blocks::WEIGHTED_PRESSURE_PLATE_LIGHT()); + $result->registerBlock("lilac", fn() => Blocks::LILAC()); + $result->registerBlock("lily_of_the_valley", fn() => Blocks::LILY_OF_THE_VALLEY()); + $result->registerBlock("lily_pad", fn() => Blocks::LILY_PAD()); + $result->registerBlock("lime_glazed_terracotta", fn() => Blocks::LIME_GLAZED_TERRACOTTA()); + $result->registerBlock("lit_blast_furnace", fn() => Blocks::BLAST_FURNACE()); + $result->registerBlock("lit_furnace", fn() => Blocks::FURNACE()); + $result->registerBlock("lit_pumpkin", fn() => Blocks::LIT_PUMPKIN()); + $result->registerBlock("lit_redstone_lamp", fn() => Blocks::REDSTONE_LAMP()->setPowered(true)); + $result->registerBlock("lit_redstone_ore", fn() => Blocks::REDSTONE_ORE()->setLit(true)); + $result->registerBlock("lit_redstone_torch", fn() => Blocks::REDSTONE_TORCH()); + $result->registerBlock("lit_smoker", fn() => Blocks::SMOKER()); + $result->registerBlock("log", fn() => Blocks::OAK_LOG()); + $result->registerBlock("log2", fn() => Blocks::ACACIA_LOG()); + $result->registerBlock("loom", fn() => Blocks::LOOM()); + $result->registerBlock("magenta_glazed_terracotta", fn() => Blocks::MAGENTA_GLAZED_TERRACOTTA()); + $result->registerBlock("magma", fn() => Blocks::MAGMA()); + $result->registerBlock("material_reducer", fn() => Blocks::MATERIAL_REDUCER()); + $result->registerBlock("melon_block", fn() => Blocks::MELON()); + $result->registerBlock("melon_stem", fn() => Blocks::MELON_STEM()); + $result->registerBlock("mob_head_block", fn() => Blocks::MOB_HEAD()); + $result->registerBlock("mob_spawner", fn() => Blocks::MONSTER_SPAWNER()); + $result->registerBlock("monster_egg", fn() => Blocks::INFESTED_STONE()); + $result->registerBlock("monster_egg_block", fn() => Blocks::INFESTED_STONE()); + $result->registerBlock("monster_spawner", fn() => Blocks::MONSTER_SPAWNER()); + $result->registerBlock("moss_stone", fn() => Blocks::MOSSY_COBBLESTONE()); + $result->registerBlock("mossy_cobblestone", fn() => Blocks::MOSSY_COBBLESTONE()); + $result->registerBlock("mossy_cobblestone_slab", fn() => Blocks::MOSSY_COBBLESTONE_SLAB()); + $result->registerBlock("mossy_cobblestone_stairs", fn() => Blocks::MOSSY_COBBLESTONE_STAIRS()); + $result->registerBlock("mossy_cobblestone_wall", fn() => Blocks::MOSSY_COBBLESTONE_WALL()); + $result->registerBlock("mossy_stone", fn() => Blocks::MOSSY_COBBLESTONE()); + $result->registerBlock("mossy_stone_brick_slab", fn() => Blocks::MOSSY_STONE_BRICK_SLAB()); + $result->registerBlock("mossy_stone_brick_stairs", fn() => Blocks::MOSSY_STONE_BRICK_STAIRS()); + $result->registerBlock("mossy_stone_brick_wall", fn() => Blocks::MOSSY_STONE_BRICK_WALL()); + $result->registerBlock("mossy_stone_bricks", fn() => Blocks::MOSSY_STONE_BRICKS()); + $result->registerBlock("mushroom_stem", fn() => Blocks::MUSHROOM_STEM()); + $result->registerBlock("mycelium", fn() => Blocks::MYCELIUM()); + $result->registerBlock("nether_brick_block", fn() => Blocks::NETHER_BRICKS()); + $result->registerBlock("nether_brick_fence", fn() => Blocks::NETHER_BRICK_FENCE()); + $result->registerBlock("nether_brick_slab", fn() => Blocks::NETHER_BRICK_SLAB()); + $result->registerBlock("nether_brick_stairs", fn() => Blocks::NETHER_BRICK_STAIRS()); + $result->registerBlock("nether_brick_wall", fn() => Blocks::NETHER_BRICK_WALL()); + $result->registerBlock("nether_bricks", fn() => Blocks::NETHER_BRICKS()); + $result->registerBlock("nether_bricks_stairs", fn() => Blocks::NETHER_BRICK_STAIRS()); + $result->registerBlock("nether_portal", fn() => Blocks::NETHER_PORTAL()); + $result->registerBlock("nether_quartz_ore", fn() => Blocks::NETHER_QUARTZ_ORE()); + $result->registerBlock("nether_reactor", fn() => Blocks::NETHER_REACTOR_CORE()); + $result->registerBlock("nether_reactor_core", fn() => Blocks::NETHER_REACTOR_CORE()); + $result->registerBlock("nether_wart", fn() => Blocks::NETHER_WART()); + $result->registerBlock("nether_wart_block", fn() => Blocks::NETHER_WART_BLOCK()); + $result->registerBlock("nether_wart_plant", fn() => Blocks::NETHER_WART()); + $result->registerBlock("netherrack", fn() => Blocks::NETHERRACK()); + $result->registerBlock("netherreactor", fn() => Blocks::NETHER_REACTOR_CORE()); + $result->registerBlock("normal_stone_stairs", fn() => Blocks::STONE_STAIRS()); + $result->registerBlock("note_block", fn() => Blocks::NOTE_BLOCK()); + $result->registerBlock("noteblock", fn() => Blocks::NOTE_BLOCK()); + $result->registerBlock("oak_button", fn() => Blocks::OAK_BUTTON()); + $result->registerBlock("oak_door", fn() => Blocks::OAK_DOOR()); + $result->registerBlock("oak_door_block", fn() => Blocks::OAK_DOOR()); + $result->registerBlock("oak_fence", fn() => Blocks::OAK_FENCE()); + $result->registerBlock("oak_fence_gate", fn() => Blocks::OAK_FENCE_GATE()); + $result->registerBlock("oak_leaves", fn() => Blocks::OAK_LEAVES()); + $result->registerBlock("oak_log", fn() => Blocks::OAK_LOG()); + $result->registerBlock("oak_planks", fn() => Blocks::OAK_PLANKS()); + $result->registerBlock("oak_pressure_plate", fn() => Blocks::OAK_PRESSURE_PLATE()); + $result->registerBlock("oak_sapling", fn() => Blocks::OAK_SAPLING()); + $result->registerBlock("oak_sign", fn() => Blocks::OAK_SIGN()); + $result->registerBlock("oak_slab", fn() => Blocks::OAK_SLAB()); + $result->registerBlock("oak_stairs", fn() => Blocks::OAK_STAIRS()); + $result->registerBlock("oak_standing_sign", fn() => Blocks::OAK_SIGN()); + $result->registerBlock("oak_trapdoor", fn() => Blocks::OAK_TRAPDOOR()); + $result->registerBlock("oak_wall_sign", fn() => Blocks::OAK_WALL_SIGN()); + $result->registerBlock("oak_wood", fn() => Blocks::OAK_WOOD()); + $result->registerBlock("oak_wood_stairs", fn() => Blocks::OAK_STAIRS()); + $result->registerBlock("oak_wooden_stairs", fn() => Blocks::OAK_STAIRS()); + $result->registerBlock("obsidian", fn() => Blocks::OBSIDIAN()); + $result->registerBlock("orange_glazed_terracotta", fn() => Blocks::ORANGE_GLAZED_TERRACOTTA()); + $result->registerBlock("orange_tulip", fn() => Blocks::ORANGE_TULIP()); + $result->registerBlock("oxeye_daisy", fn() => Blocks::OXEYE_DAISY()); + $result->registerBlock("packed_ice", fn() => Blocks::PACKED_ICE()); + $result->registerBlock("peony", fn() => Blocks::PEONY()); + $result->registerBlock("pink_glazed_terracotta", fn() => Blocks::PINK_GLAZED_TERRACOTTA()); + $result->registerBlock("pink_tulip", fn() => Blocks::PINK_TULIP()); + $result->registerBlock("plank", fn() => Blocks::OAK_PLANKS()); + $result->registerBlock("planks", fn() => Blocks::OAK_PLANKS()); + $result->registerBlock("podzol", fn() => Blocks::PODZOL()); + $result->registerBlock("polished_andesite", fn() => Blocks::POLISHED_ANDESITE()); + $result->registerBlock("polished_andesite_slab", fn() => Blocks::POLISHED_ANDESITE_SLAB()); + $result->registerBlock("polished_andesite_stairs", fn() => Blocks::POLISHED_ANDESITE_STAIRS()); + $result->registerBlock("polished_diorite", fn() => Blocks::POLISHED_DIORITE()); + $result->registerBlock("polished_diorite_slab", fn() => Blocks::POLISHED_DIORITE_SLAB()); + $result->registerBlock("polished_diorite_stairs", fn() => Blocks::POLISHED_DIORITE_STAIRS()); + $result->registerBlock("polished_granite", fn() => Blocks::POLISHED_GRANITE()); + $result->registerBlock("polished_granite_slab", fn() => Blocks::POLISHED_GRANITE_SLAB()); + $result->registerBlock("polished_granite_stairs", fn() => Blocks::POLISHED_GRANITE_STAIRS()); + $result->registerBlock("poppy", fn() => Blocks::POPPY()); + $result->registerBlock("portal", fn() => Blocks::NETHER_PORTAL()); + $result->registerBlock("portal_block", fn() => Blocks::NETHER_PORTAL()); + $result->registerBlock("potato_block", fn() => Blocks::POTATOES()); + $result->registerBlock("potatoes", fn() => Blocks::POTATOES()); + $result->registerBlock("powered_comparator", fn() => Blocks::REDSTONE_COMPARATOR()); + $result->registerBlock("powered_comparator_block", fn() => Blocks::REDSTONE_COMPARATOR()); + $result->registerBlock("powered_rail", fn() => Blocks::POWERED_RAIL()); + $result->registerBlock("powered_repeater", fn() => Blocks::REDSTONE_REPEATER()->setPowered(true)); + $result->registerBlock("powered_repeater_block", fn() => Blocks::REDSTONE_REPEATER()->setPowered(true)); + $result->registerBlock("prismarine", fn() => Blocks::PRISMARINE()); + $result->registerBlock("prismarine_bricks", fn() => Blocks::PRISMARINE_BRICKS()); + $result->registerBlock("prismarine_bricks_slab", fn() => Blocks::PRISMARINE_BRICKS_SLAB()); + $result->registerBlock("prismarine_bricks_stairs", fn() => Blocks::PRISMARINE_BRICKS_STAIRS()); + $result->registerBlock("prismarine_slab", fn() => Blocks::PRISMARINE_SLAB()); + $result->registerBlock("prismarine_stairs", fn() => Blocks::PRISMARINE_STAIRS()); + $result->registerBlock("prismarine_wall", fn() => Blocks::PRISMARINE_WALL()); + $result->registerBlock("pumpkin", fn() => Blocks::PUMPKIN()); + $result->registerBlock("pumpkin_stem", fn() => Blocks::PUMPKIN_STEM()); + $result->registerBlock("purple_glazed_terracotta", fn() => Blocks::PURPLE_GLAZED_TERRACOTTA()); + $result->registerBlock("purple_torch", fn() => Blocks::PURPLE_TORCH()); + $result->registerBlock("purpur", fn() => Blocks::PURPUR()); + $result->registerBlock("purpur_block", fn() => Blocks::PURPUR()); + $result->registerBlock("purpur_pillar", fn() => Blocks::PURPUR_PILLAR()); + $result->registerBlock("purpur_slab", fn() => Blocks::PURPUR_SLAB()); + $result->registerBlock("purpur_stairs", fn() => Blocks::PURPUR_STAIRS()); + $result->registerBlock("quartz_block", fn() => Blocks::QUARTZ()); + $result->registerBlock("quartz_ore", fn() => Blocks::NETHER_QUARTZ_ORE()); + $result->registerBlock("quartz_pillar", fn() => Blocks::QUARTZ_PILLAR()); + $result->registerBlock("quartz_slab", fn() => Blocks::QUARTZ_SLAB()); + $result->registerBlock("quartz_stairs", fn() => Blocks::QUARTZ_STAIRS()); + $result->registerBlock("rail", fn() => Blocks::RAIL()); + $result->registerBlock("red_flower", fn() => Blocks::POPPY()); + $result->registerBlock("red_glazed_terracotta", fn() => Blocks::RED_GLAZED_TERRACOTTA()); + $result->registerBlock("red_mushroom", fn() => Blocks::RED_MUSHROOM()); + $result->registerBlock("red_mushroom_block", fn() => Blocks::RED_MUSHROOM_BLOCK()); + $result->registerBlock("red_nether_brick", fn() => Blocks::RED_NETHER_BRICKS()); + $result->registerBlock("red_nether_brick_slab", fn() => Blocks::RED_NETHER_BRICK_SLAB()); + $result->registerBlock("red_nether_brick_stairs", fn() => Blocks::RED_NETHER_BRICK_STAIRS()); + $result->registerBlock("red_nether_brick_wall", fn() => Blocks::RED_NETHER_BRICK_WALL()); + $result->registerBlock("red_nether_bricks", fn() => Blocks::RED_NETHER_BRICKS()); + $result->registerBlock("red_sand", fn() => Blocks::RED_SAND()); + $result->registerBlock("red_sandstone", fn() => Blocks::RED_SANDSTONE()); + $result->registerBlock("red_sandstone_slab", fn() => Blocks::RED_SANDSTONE_SLAB()); + $result->registerBlock("red_sandstone_stairs", fn() => Blocks::RED_SANDSTONE_STAIRS()); + $result->registerBlock("red_sandstone_wall", fn() => Blocks::RED_SANDSTONE_WALL()); + $result->registerBlock("red_torch", fn() => Blocks::RED_TORCH()); + $result->registerBlock("red_tulip", fn() => Blocks::RED_TULIP()); + $result->registerBlock("redstone_block", fn() => Blocks::REDSTONE()); + $result->registerBlock("redstone_comparator", fn() => Blocks::REDSTONE_COMPARATOR()); + $result->registerBlock("redstone_lamp", fn() => Blocks::REDSTONE_LAMP()); + $result->registerBlock("redstone_ore", fn() => Blocks::REDSTONE_ORE()); + $result->registerBlock("redstone_repeater", fn() => Blocks::REDSTONE_REPEATER()); + $result->registerBlock("redstone_torch", fn() => Blocks::REDSTONE_TORCH()); + $result->registerBlock("redstone_wire", fn() => Blocks::REDSTONE_WIRE()); + $result->registerBlock("reeds", fn() => Blocks::SUGARCANE()); + $result->registerBlock("reeds_block", fn() => Blocks::SUGARCANE()); + $result->registerBlock("repeater", fn() => Blocks::REDSTONE_REPEATER()); + $result->registerBlock("repeater_block", fn() => Blocks::REDSTONE_REPEATER()); + $result->registerBlock("reserved6", fn() => Blocks::RESERVED6()); + $result->registerBlock("rose", fn() => Blocks::POPPY()); + $result->registerBlock("rose_bush", fn() => Blocks::ROSE_BUSH()); + $result->registerBlock("sand", fn() => Blocks::SAND()); + $result->registerBlock("sandstone", fn() => Blocks::SANDSTONE()); + $result->registerBlock("sandstone_slab", fn() => Blocks::SANDSTONE_SLAB()); + $result->registerBlock("sandstone_stairs", fn() => Blocks::SANDSTONE_STAIRS()); + $result->registerBlock("sandstone_wall", fn() => Blocks::SANDSTONE_WALL()); + $result->registerBlock("sapling", fn() => Blocks::OAK_SAPLING()); + $result->registerBlock("sea_lantern", fn() => Blocks::SEA_LANTERN()); + $result->registerBlock("sea_pickle", fn() => Blocks::SEA_PICKLE()); + $result->registerBlock("sealantern", fn() => Blocks::SEA_LANTERN()); + $result->registerBlock("shulker_box", fn() => Blocks::SHULKER_BOX()); + $result->registerBlock("sign", fn() => Blocks::OAK_SIGN()); + $result->registerBlock("sign_post", fn() => Blocks::OAK_SIGN()); + $result->registerBlock("silver_glazed_terracotta", fn() => Blocks::LIGHT_GRAY_GLAZED_TERRACOTTA()); + $result->registerBlock("skull_block", fn() => Blocks::MOB_HEAD()); + $result->registerBlock("slab", fn() => Blocks::SMOOTH_STONE_SLAB()); + $result->registerBlock("slabs", fn() => Blocks::SMOOTH_STONE_SLAB()); + $result->registerBlock("slime", fn() => Blocks::SLIME()); + $result->registerBlock("slime_block", fn() => Blocks::SLIME()); + $result->registerBlock("smoker", fn() => Blocks::SMOKER()); + $result->registerBlock("smooth_quartz", fn() => Blocks::SMOOTH_QUARTZ()); + $result->registerBlock("smooth_quartz_slab", fn() => Blocks::SMOOTH_QUARTZ_SLAB()); + $result->registerBlock("smooth_quartz_stairs", fn() => Blocks::SMOOTH_QUARTZ_STAIRS()); + $result->registerBlock("smooth_red_sandstone", fn() => Blocks::SMOOTH_RED_SANDSTONE()); + $result->registerBlock("smooth_red_sandstone_slab", fn() => Blocks::SMOOTH_RED_SANDSTONE_SLAB()); + $result->registerBlock("smooth_red_sandstone_stairs", fn() => Blocks::SMOOTH_RED_SANDSTONE_STAIRS()); + $result->registerBlock("smooth_sandstone", fn() => Blocks::SMOOTH_SANDSTONE()); + $result->registerBlock("smooth_sandstone_slab", fn() => Blocks::SMOOTH_SANDSTONE_SLAB()); + $result->registerBlock("smooth_sandstone_stairs", fn() => Blocks::SMOOTH_SANDSTONE_STAIRS()); + $result->registerBlock("smooth_stone", fn() => Blocks::SMOOTH_STONE()); + $result->registerBlock("smooth_stone_slab", fn() => Blocks::SMOOTH_STONE_SLAB()); + $result->registerBlock("snow", fn() => Blocks::SNOW()); + $result->registerBlock("snow_block", fn() => Blocks::SNOW()); + $result->registerBlock("snow_layer", fn() => Blocks::SNOW_LAYER()); + $result->registerBlock("soul_sand", fn() => Blocks::SOUL_SAND()); + $result->registerBlock("sponge", fn() => Blocks::SPONGE()); + $result->registerBlock("spruce_button", fn() => Blocks::SPRUCE_BUTTON()); + $result->registerBlock("spruce_door", fn() => Blocks::SPRUCE_DOOR()); + $result->registerBlock("spruce_door_block", fn() => Blocks::SPRUCE_DOOR()); + $result->registerBlock("spruce_fence", fn() => Blocks::SPRUCE_FENCE()); + $result->registerBlock("spruce_fence_gate", fn() => Blocks::SPRUCE_FENCE_GATE()); + $result->registerBlock("spruce_leaves", fn() => Blocks::SPRUCE_LEAVES()); + $result->registerBlock("spruce_log", fn() => Blocks::SPRUCE_LOG()); + $result->registerBlock("spruce_planks", fn() => Blocks::SPRUCE_PLANKS()); + $result->registerBlock("spruce_pressure_plate", fn() => Blocks::SPRUCE_PRESSURE_PLATE()); + $result->registerBlock("spruce_sapling", fn() => Blocks::SPRUCE_SAPLING()); + $result->registerBlock("spruce_sign", fn() => Blocks::SPRUCE_SIGN()); + $result->registerBlock("spruce_slab", fn() => Blocks::SPRUCE_SLAB()); + $result->registerBlock("spruce_stairs", fn() => Blocks::SPRUCE_STAIRS()); + $result->registerBlock("spruce_standing_sign", fn() => Blocks::SPRUCE_SIGN()); + $result->registerBlock("spruce_trapdoor", fn() => Blocks::SPRUCE_TRAPDOOR()); + $result->registerBlock("spruce_wall_sign", fn() => Blocks::SPRUCE_WALL_SIGN()); + $result->registerBlock("spruce_wood", fn() => Blocks::SPRUCE_WOOD()); + $result->registerBlock("spruce_wood_stairs", fn() => Blocks::SPRUCE_STAIRS()); + $result->registerBlock("spruce_wooden_stairs", fn() => Blocks::SPRUCE_STAIRS()); + $result->registerBlock("stained_clay", fn() => Blocks::STAINED_CLAY()); + $result->registerBlock("stained_glass", fn() => Blocks::STAINED_GLASS()); + $result->registerBlock("stained_glass_pane", fn() => Blocks::STAINED_GLASS_PANE()); + $result->registerBlock("stained_hardened_clay", fn() => Blocks::STAINED_CLAY()); + $result->registerBlock("stained_hardened_glass", fn() => Blocks::STAINED_HARDENED_GLASS()); + $result->registerBlock("stained_hardened_glass_pane", fn() => Blocks::STAINED_HARDENED_GLASS_PANE()); + $result->registerBlock("standing_banner", fn() => Blocks::BANNER()); + $result->registerBlock("standing_sign", fn() => Blocks::OAK_SIGN()); + $result->registerBlock("still_lava", fn() => Blocks::LAVA()->setStill(true)); + $result->registerBlock("still_water", fn() => Blocks::WATER()->setStill(true)); + $result->registerBlock("stone", fn() => Blocks::STONE()); + $result->registerBlock("stone_brick", fn() => Blocks::STONE_BRICKS()); + $result->registerBlock("stone_brick_slab", fn() => Blocks::STONE_BRICK_SLAB()); + $result->registerBlock("stone_brick_stairs", fn() => Blocks::STONE_BRICK_STAIRS()); + $result->registerBlock("stone_brick_wall", fn() => Blocks::STONE_BRICK_WALL()); + $result->registerBlock("stone_bricks", fn() => Blocks::STONE_BRICKS()); + $result->registerBlock("stone_button", fn() => Blocks::STONE_BUTTON()); + $result->registerBlock("stone_pressure_plate", fn() => Blocks::STONE_PRESSURE_PLATE()); + $result->registerBlock("stone_slab", fn() => Blocks::STONE_SLAB()); + $result->registerBlock("stone_slab2", fn() => Blocks::RED_SANDSTONE_SLAB()); + $result->registerBlock("stone_slab3", fn() => Blocks::END_STONE_BRICK_SLAB()); + $result->registerBlock("stone_slab4", fn() => Blocks::MOSSY_STONE_BRICK_SLAB()); + $result->registerBlock("stone_stairs", fn() => Blocks::STONE_STAIRS()); + $result->registerBlock("stone_wall", fn() => Blocks::COBBLESTONE_WALL()); + $result->registerBlock("stonebrick", fn() => Blocks::STONE_BRICKS()); + $result->registerBlock("stonecutter", fn() => Blocks::STONECUTTER()); + $result->registerBlock("stonecutter_block", fn() => Blocks::STONECUTTER()); + $result->registerBlock("stripped_acacia_log", fn() => Blocks::STRIPPED_ACACIA_LOG()); + $result->registerBlock("stripped_acacia_wood", fn() => Blocks::STRIPPED_ACACIA_WOOD()); + $result->registerBlock("stripped_birch_log", fn() => Blocks::STRIPPED_BIRCH_LOG()); + $result->registerBlock("stripped_birch_wood", fn() => Blocks::STRIPPED_BIRCH_WOOD()); + $result->registerBlock("stripped_dark_oak_log", fn() => Blocks::STRIPPED_DARK_OAK_LOG()); + $result->registerBlock("stripped_dark_oak_wood", fn() => Blocks::STRIPPED_DARK_OAK_WOOD()); + $result->registerBlock("stripped_jungle_log", fn() => Blocks::STRIPPED_JUNGLE_LOG()); + $result->registerBlock("stripped_jungle_wood", fn() => Blocks::STRIPPED_JUNGLE_WOOD()); + $result->registerBlock("stripped_oak_log", fn() => Blocks::STRIPPED_OAK_LOG()); + $result->registerBlock("stripped_oak_wood", fn() => Blocks::STRIPPED_OAK_WOOD()); + $result->registerBlock("stripped_spruce_log", fn() => Blocks::STRIPPED_SPRUCE_LOG()); + $result->registerBlock("stripped_spruce_wood", fn() => Blocks::STRIPPED_SPRUCE_WOOD()); + $result->registerBlock("sugar_cane", fn() => Blocks::SUGARCANE()); + $result->registerBlock("sugar_canes", fn() => Blocks::SUGARCANE()); + $result->registerBlock("sugarcane", fn() => Blocks::SUGARCANE()); + $result->registerBlock("sugarcane_block", fn() => Blocks::SUGARCANE()); + $result->registerBlock("sunflower", fn() => Blocks::SUNFLOWER()); + $result->registerBlock("sweet_berry_bush", fn() => Blocks::SWEET_BERRY_BUSH()); + $result->registerBlock("tall_grass", fn() => Blocks::TALL_GRASS()); + $result->registerBlock("tallgrass", fn() => Blocks::FERN()); + $result->registerBlock("terracotta", fn() => Blocks::STAINED_CLAY()); + $result->registerBlock("tnt", fn() => Blocks::TNT()); + $result->registerBlock("torch", fn() => Blocks::TORCH()); + $result->registerBlock("trapdoor", fn() => Blocks::OAK_TRAPDOOR()); + $result->registerBlock("trapped_chest", fn() => Blocks::TRAPPED_CHEST()); + $result->registerBlock("trip_wire", fn() => Blocks::TRIPWIRE()); + $result->registerBlock("tripwire", fn() => Blocks::TRIPWIRE()); + $result->registerBlock("tripwire_hook", fn() => Blocks::TRIPWIRE_HOOK()); + $result->registerBlock("trunk", fn() => Blocks::OAK_PLANKS()); + $result->registerBlock("trunk2", fn() => Blocks::ACACIA_LOG()); + $result->registerBlock("underwater_torch", fn() => Blocks::UNDERWATER_TORCH()); + $result->registerBlock("undyed_shulker_box", fn() => Blocks::SHULKER_BOX()); + $result->registerBlock("unlit_redstone_torch", fn() => Blocks::REDSTONE_TORCH()); + $result->registerBlock("unpowered_comparator", fn() => Blocks::REDSTONE_COMPARATOR()); + $result->registerBlock("unpowered_comparator_block", fn() => Blocks::REDSTONE_COMPARATOR()); + $result->registerBlock("unpowered_repeater", fn() => Blocks::REDSTONE_REPEATER()); + $result->registerBlock("unpowered_repeater_block", fn() => Blocks::REDSTONE_REPEATER()); + $result->registerBlock("update_block", fn() => Blocks::INFO_UPDATE()); + $result->registerBlock("vine", fn() => Blocks::VINES()); + $result->registerBlock("vines", fn() => Blocks::VINES()); + $result->registerBlock("wall_banner", fn() => Blocks::WALL_BANNER()); + $result->registerBlock("wall_coral_fan", fn() => Blocks::WALL_CORAL_FAN()); + $result->registerBlock("wall_sign", fn() => Blocks::OAK_WALL_SIGN()); + $result->registerBlock("water", fn() => Blocks::WATER()); + $result->registerBlock("water_lily", fn() => Blocks::LILY_PAD()); + $result->registerBlock("waterlily", fn() => Blocks::LILY_PAD()); + $result->registerBlock("web", fn() => Blocks::COBWEB()); + $result->registerBlock("weighted_pressure_plate_heavy", fn() => Blocks::WEIGHTED_PRESSURE_PLATE_HEAVY()); + $result->registerBlock("weighted_pressure_plate_light", fn() => Blocks::WEIGHTED_PRESSURE_PLATE_LIGHT()); + $result->registerBlock("wheat_block", fn() => Blocks::WHEAT()); + $result->registerBlock("white_glazed_terracotta", fn() => Blocks::WHITE_GLAZED_TERRACOTTA()); + $result->registerBlock("white_tulip", fn() => Blocks::WHITE_TULIP()); + $result->registerBlock("wood", fn() => Blocks::OAK_LOG()); + $result->registerBlock("wood2", fn() => Blocks::ACACIA_LOG()); + $result->registerBlock("wood_door_block", fn() => Blocks::OAK_DOOR()); + $result->registerBlock("wood_slab", fn() => Blocks::OAK_SLAB()); + $result->registerBlock("wood_slabs", fn() => Blocks::OAK_SLAB()); + $result->registerBlock("wood_stairs", fn() => Blocks::OAK_STAIRS()); + $result->registerBlock("wooden_button", fn() => Blocks::OAK_BUTTON()); + $result->registerBlock("wooden_door", fn() => Blocks::OAK_DOOR()); + $result->registerBlock("wooden_door_block", fn() => Blocks::OAK_DOOR()); + $result->registerBlock("wooden_plank", fn() => Blocks::OAK_PLANKS()); + $result->registerBlock("wooden_planks", fn() => Blocks::OAK_PLANKS()); + $result->registerBlock("wooden_pressure_plate", fn() => Blocks::OAK_PRESSURE_PLATE()); + $result->registerBlock("wooden_slab", fn() => Blocks::OAK_SLAB()); + $result->registerBlock("wooden_slabs", fn() => Blocks::OAK_SLAB()); + $result->registerBlock("wooden_stairs", fn() => Blocks::OAK_STAIRS()); + $result->registerBlock("wooden_trapdoor", fn() => Blocks::OAK_TRAPDOOR()); + $result->registerBlock("wool", fn() => Blocks::WOOL()); + $result->registerBlock("workbench", fn() => Blocks::CRAFTING_TABLE()); + $result->registerBlock("yellow_flower", fn() => Blocks::DANDELION()); + $result->registerBlock("yellow_glazed_terracotta", fn() => Blocks::YELLOW_GLAZED_TERRACOTTA()); - $result->register("acacia_boat", fn() => VanillaItems::ACACIA_BOAT()); - $result->register("apple", fn() => VanillaItems::APPLE()); - $result->register("apple_enchanted", fn() => VanillaItems::ENCHANTED_GOLDEN_APPLE()); - $result->register("appleenchanted", fn() => VanillaItems::ENCHANTED_GOLDEN_APPLE()); - $result->register("arrow", fn() => VanillaItems::ARROW()); - $result->register("awkward_potion", fn() => VanillaItems::AWKWARD_POTION()); - $result->register("awkward_splash_potion", fn() => VanillaItems::AWKWARD_SPLASH_POTION()); - $result->register("baked_potato", fn() => VanillaItems::BAKED_POTATO()); - $result->register("baked_potatoes", fn() => VanillaItems::BAKED_POTATO()); - $result->register("bed", fn() => VanillaItems::WHITE_BED()); - $result->register("beef", fn() => VanillaItems::RAW_BEEF()); - $result->register("beetroot", fn() => VanillaItems::BEETROOT()); - $result->register("beetroot_seed", fn() => VanillaItems::BEETROOT_SEEDS()); - $result->register("beetroot_seeds", fn() => VanillaItems::BEETROOT_SEEDS()); - $result->register("beetroot_soup", fn() => VanillaItems::BEETROOT_SOUP()); - $result->register("birch_boat", fn() => VanillaItems::BIRCH_BOAT()); - $result->register("black_dye", fn() => VanillaItems::BLACK_DYE()); - $result->register("blaze_powder", fn() => VanillaItems::BLAZE_POWDER()); - $result->register("blaze_rod", fn() => VanillaItems::BLAZE_ROD()); - $result->register("bleach", fn() => VanillaItems::BLEACH()); - $result->register("blue_dye", fn() => VanillaItems::BLUE_DYE()); - $result->register("boat", fn() => VanillaItems::OAK_BOAT()); - $result->register("bone", fn() => VanillaItems::BONE()); - $result->register("bone_meal", fn() => VanillaItems::BONE_MEAL()); - $result->register("book", fn() => VanillaItems::BOOK()); - $result->register("bottle_o_enchanting", fn() => VanillaItems::EXPERIENCE_BOTTLE()); - $result->register("bow", fn() => VanillaItems::BOW()); - $result->register("bowl", fn() => VanillaItems::BOWL()); - $result->register("bread", fn() => VanillaItems::BREAD()); - $result->register("brick", fn() => VanillaItems::BRICK()); - $result->register("brown_dye", fn() => VanillaItems::BROWN_DYE()); - $result->register("bucket", fn() => VanillaItems::BUCKET()); - $result->register("carrot", fn() => VanillaItems::CARROT()); - $result->register("chain_boots", fn() => VanillaItems::CHAINMAIL_BOOTS()); - $result->register("chain_chestplate", fn() => VanillaItems::CHAINMAIL_CHESTPLATE()); - $result->register("chain_helmet", fn() => VanillaItems::CHAINMAIL_HELMET()); - $result->register("chain_leggings", fn() => VanillaItems::CHAINMAIL_LEGGINGS()); - $result->register("chainmail_boots", fn() => VanillaItems::CHAINMAIL_BOOTS()); - $result->register("chainmail_chestplate", fn() => VanillaItems::CHAINMAIL_CHESTPLATE()); - $result->register("chainmail_helmet", fn() => VanillaItems::CHAINMAIL_HELMET()); - $result->register("chainmail_leggings", fn() => VanillaItems::CHAINMAIL_LEGGINGS()); - $result->register("charcoal", fn() => VanillaItems::CHARCOAL()); - $result->register("chemical_aluminium_oxide", fn() => VanillaItems::CHEMICAL_ALUMINIUM_OXIDE()); - $result->register("chemical_ammonia", fn() => VanillaItems::CHEMICAL_AMMONIA()); - $result->register("chemical_barium_sulphate", fn() => VanillaItems::CHEMICAL_BARIUM_SULPHATE()); - $result->register("chemical_benzene", fn() => VanillaItems::CHEMICAL_BENZENE()); - $result->register("chemical_boron_trioxide", fn() => VanillaItems::CHEMICAL_BORON_TRIOXIDE()); - $result->register("chemical_calcium_bromide", fn() => VanillaItems::CHEMICAL_CALCIUM_BROMIDE()); - $result->register("chemical_calcium_chloride", fn() => VanillaItems::CHEMICAL_CALCIUM_CHLORIDE()); - $result->register("chemical_cerium_chloride", fn() => VanillaItems::CHEMICAL_CERIUM_CHLORIDE()); - $result->register("chemical_charcoal", fn() => VanillaItems::CHEMICAL_CHARCOAL()); - $result->register("chemical_crude_oil", fn() => VanillaItems::CHEMICAL_CRUDE_OIL()); - $result->register("chemical_glue", fn() => VanillaItems::CHEMICAL_GLUE()); - $result->register("chemical_hydrogen_peroxide", fn() => VanillaItems::CHEMICAL_HYDROGEN_PEROXIDE()); - $result->register("chemical_hypochlorite", fn() => VanillaItems::CHEMICAL_HYPOCHLORITE()); - $result->register("chemical_ink", fn() => VanillaItems::CHEMICAL_INK()); - $result->register("chemical_iron_sulphide", fn() => VanillaItems::CHEMICAL_IRON_SULPHIDE()); - $result->register("chemical_latex", fn() => VanillaItems::CHEMICAL_LATEX()); - $result->register("chemical_lithium_hydride", fn() => VanillaItems::CHEMICAL_LITHIUM_HYDRIDE()); - $result->register("chemical_luminol", fn() => VanillaItems::CHEMICAL_LUMINOL()); - $result->register("chemical_magnesium_nitrate", fn() => VanillaItems::CHEMICAL_MAGNESIUM_NITRATE()); - $result->register("chemical_magnesium_oxide", fn() => VanillaItems::CHEMICAL_MAGNESIUM_OXIDE()); - $result->register("chemical_magnesium_salts", fn() => VanillaItems::CHEMICAL_MAGNESIUM_SALTS()); - $result->register("chemical_mercuric_chloride", fn() => VanillaItems::CHEMICAL_MERCURIC_CHLORIDE()); - $result->register("chemical_polyethylene", fn() => VanillaItems::CHEMICAL_POLYETHYLENE()); - $result->register("chemical_potassium_chloride", fn() => VanillaItems::CHEMICAL_POTASSIUM_CHLORIDE()); - $result->register("chemical_potassium_iodide", fn() => VanillaItems::CHEMICAL_POTASSIUM_IODIDE()); - $result->register("chemical_rubbish", fn() => VanillaItems::CHEMICAL_RUBBISH()); - $result->register("chemical_salt", fn() => VanillaItems::CHEMICAL_SALT()); - $result->register("chemical_soap", fn() => VanillaItems::CHEMICAL_SOAP()); - $result->register("chemical_sodium_acetate", fn() => VanillaItems::CHEMICAL_SODIUM_ACETATE()); - $result->register("chemical_sodium_fluoride", fn() => VanillaItems::CHEMICAL_SODIUM_FLUORIDE()); - $result->register("chemical_sodium_hydride", fn() => VanillaItems::CHEMICAL_SODIUM_HYDRIDE()); - $result->register("chemical_sodium_hydroxide", fn() => VanillaItems::CHEMICAL_SODIUM_HYDROXIDE()); - $result->register("chemical_sodium_hypochlorite", fn() => VanillaItems::CHEMICAL_SODIUM_HYPOCHLORITE()); - $result->register("chemical_sodium_oxide", fn() => VanillaItems::CHEMICAL_SODIUM_OXIDE()); - $result->register("chemical_sugar", fn() => VanillaItems::CHEMICAL_SUGAR()); - $result->register("chemical_sulphate", fn() => VanillaItems::CHEMICAL_SULPHATE()); - $result->register("chemical_tungsten_chloride", fn() => VanillaItems::CHEMICAL_TUNGSTEN_CHLORIDE()); - $result->register("chemical_water", fn() => VanillaItems::CHEMICAL_WATER()); - $result->register("chicken", fn() => VanillaItems::RAW_CHICKEN()); - $result->register("chorus_fruit", fn() => VanillaItems::CHORUS_FRUIT()); - $result->register("chorus_fruit_popped", fn() => VanillaItems::POPPED_CHORUS_FRUIT()); - $result->register("clay", fn() => VanillaItems::CLAY()); - $result->register("clay_ball", fn() => VanillaItems::CLAY()); - $result->register("clock", fn() => VanillaItems::CLOCK()); - $result->register("clown_fish", fn() => VanillaItems::CLOWNFISH()); - $result->register("clownfish", fn() => VanillaItems::CLOWNFISH()); - $result->register("coal", fn() => VanillaItems::COAL()); - $result->register("cocoa_beans", fn() => VanillaItems::COCOA_BEANS()); - $result->register("cod", fn() => VanillaItems::RAW_FISH()); - $result->register("compass", fn() => VanillaItems::COMPASS()); - $result->register("compound", fn() => VanillaItems::CHEMICAL_SALT()); - $result->register("cooked_beef", fn() => VanillaItems::STEAK()); - $result->register("cooked_chicken", fn() => VanillaItems::COOKED_CHICKEN()); - $result->register("cooked_cod", fn() => VanillaItems::COOKED_FISH()); - $result->register("cooked_fish", fn() => VanillaItems::COOKED_FISH()); - $result->register("cooked_mutton", fn() => VanillaItems::COOKED_MUTTON()); - $result->register("cooked_porkchop", fn() => VanillaItems::COOKED_PORKCHOP()); - $result->register("cooked_rabbit", fn() => VanillaItems::COOKED_RABBIT()); - $result->register("cooked_salmon", fn() => VanillaItems::COOKED_SALMON()); - $result->register("cookie", fn() => VanillaItems::COOKIE()); - $result->register("creeper_head", fn() => VanillaItems::CREEPER_HEAD()); - $result->register("cyan_dye", fn() => VanillaItems::CYAN_DYE()); - $result->register("dark_oak_boat", fn() => VanillaItems::DARK_OAK_BOAT()); - $result->register("diamond", fn() => VanillaItems::DIAMOND()); - $result->register("diamond_axe", fn() => VanillaItems::DIAMOND_AXE()); - $result->register("diamond_boots", fn() => VanillaItems::DIAMOND_BOOTS()); - $result->register("diamond_chestplate", fn() => VanillaItems::DIAMOND_CHESTPLATE()); - $result->register("diamond_helmet", fn() => VanillaItems::DIAMOND_HELMET()); - $result->register("diamond_hoe", fn() => VanillaItems::DIAMOND_HOE()); - $result->register("diamond_leggings", fn() => VanillaItems::DIAMOND_LEGGINGS()); - $result->register("diamond_pickaxe", fn() => VanillaItems::DIAMOND_PICKAXE()); - $result->register("diamond_shovel", fn() => VanillaItems::DIAMOND_SHOVEL()); - $result->register("diamond_sword", fn() => VanillaItems::DIAMOND_SWORD()); - $result->register("dragon_breath", fn() => VanillaItems::DRAGON_BREATH()); - $result->register("dragon_head", fn() => VanillaItems::DRAGON_HEAD()); - $result->register("dried_kelp", fn() => VanillaItems::DRIED_KELP()); - $result->register("dye", fn() => VanillaItems::INK_SAC()); - $result->register("egg", fn() => VanillaItems::EGG()); - $result->register("emerald", fn() => VanillaItems::EMERALD()); - $result->register("enchanted_golden_apple", fn() => VanillaItems::ENCHANTED_GOLDEN_APPLE()); - $result->register("enchanting_bottle", fn() => VanillaItems::EXPERIENCE_BOTTLE()); - $result->register("ender_pearl", fn() => VanillaItems::ENDER_PEARL()); - $result->register("experience_bottle", fn() => VanillaItems::EXPERIENCE_BOTTLE()); - $result->register("feather", fn() => VanillaItems::FEATHER()); - $result->register("fermented_spider_eye", fn() => VanillaItems::FERMENTED_SPIDER_EYE()); - $result->register("fire_resistance_potion", fn() => VanillaItems::FIRE_RESISTANCE_POTION()); - $result->register("fire_resistance_splash_potion", fn() => VanillaItems::FIRE_RESISTANCE_SPLASH_POTION()); - $result->register("fish", fn() => VanillaItems::RAW_FISH()); - $result->register("fishing_rod", fn() => VanillaItems::FISHING_ROD()); - $result->register("flint", fn() => VanillaItems::FLINT()); - $result->register("flint_and_steel", fn() => VanillaItems::FLINT_AND_STEEL()); - $result->register("flint_steel", fn() => VanillaItems::FLINT_AND_STEEL()); - $result->register("ghast_tear", fn() => VanillaItems::GHAST_TEAR()); - $result->register("glass_bottle", fn() => VanillaItems::GLASS_BOTTLE()); - $result->register("glistering_melon", fn() => VanillaItems::GLISTERING_MELON()); - $result->register("glowstone_dust", fn() => VanillaItems::GLOWSTONE_DUST()); - $result->register("gold_axe", fn() => VanillaItems::GOLDEN_AXE()); - $result->register("gold_boots", fn() => VanillaItems::GOLDEN_BOOTS()); - $result->register("gold_chestplate", fn() => VanillaItems::GOLDEN_CHESTPLATE()); - $result->register("gold_helmet", fn() => VanillaItems::GOLDEN_HELMET()); - $result->register("gold_hoe", fn() => VanillaItems::GOLDEN_HOE()); - $result->register("gold_ingot", fn() => VanillaItems::GOLD_INGOT()); - $result->register("gold_leggings", fn() => VanillaItems::GOLDEN_LEGGINGS()); - $result->register("gold_nugget", fn() => VanillaItems::GOLD_NUGGET()); - $result->register("gold_pickaxe", fn() => VanillaItems::GOLDEN_PICKAXE()); - $result->register("gold_shovel", fn() => VanillaItems::GOLDEN_SHOVEL()); - $result->register("gold_sword", fn() => VanillaItems::GOLDEN_SWORD()); - $result->register("golden_apple", fn() => VanillaItems::GOLDEN_APPLE()); - $result->register("golden_axe", fn() => VanillaItems::GOLDEN_AXE()); - $result->register("golden_boots", fn() => VanillaItems::GOLDEN_BOOTS()); - $result->register("golden_carrot", fn() => VanillaItems::GOLDEN_CARROT()); - $result->register("golden_chestplate", fn() => VanillaItems::GOLDEN_CHESTPLATE()); - $result->register("golden_helmet", fn() => VanillaItems::GOLDEN_HELMET()); - $result->register("golden_hoe", fn() => VanillaItems::GOLDEN_HOE()); - $result->register("golden_leggings", fn() => VanillaItems::GOLDEN_LEGGINGS()); - $result->register("golden_nugget", fn() => VanillaItems::GOLD_NUGGET()); - $result->register("golden_pickaxe", fn() => VanillaItems::GOLDEN_PICKAXE()); - $result->register("golden_shovel", fn() => VanillaItems::GOLDEN_SHOVEL()); - $result->register("golden_sword", fn() => VanillaItems::GOLDEN_SWORD()); - $result->register("gray_dye", fn() => VanillaItems::GRAY_DYE()); - $result->register("green_dye", fn() => VanillaItems::GREEN_DYE()); - $result->register("gunpowder", fn() => VanillaItems::GUNPOWDER()); - $result->register("harming_potion", fn() => VanillaItems::HARMING_POTION()); - $result->register("harming_splash_potion", fn() => VanillaItems::HARMING_SPLASH_POTION()); - $result->register("healing_potion", fn() => VanillaItems::HEALING_POTION()); - $result->register("healing_splash_potion", fn() => VanillaItems::HEALING_SPLASH_POTION()); - $result->register("heart_of_the_sea", fn() => VanillaItems::HEART_OF_THE_SEA()); - $result->register("ink_sac", fn() => VanillaItems::INK_SAC()); - $result->register("invisibility_potion", fn() => VanillaItems::INVISIBILITY_POTION()); - $result->register("invisibility_splash_potion", fn() => VanillaItems::INVISIBILITY_SPLASH_POTION()); - $result->register("iron_axe", fn() => VanillaItems::IRON_AXE()); - $result->register("iron_boots", fn() => VanillaItems::IRON_BOOTS()); - $result->register("iron_chestplate", fn() => VanillaItems::IRON_CHESTPLATE()); - $result->register("iron_helmet", fn() => VanillaItems::IRON_HELMET()); - $result->register("iron_hoe", fn() => VanillaItems::IRON_HOE()); - $result->register("iron_ingot", fn() => VanillaItems::IRON_INGOT()); - $result->register("iron_leggings", fn() => VanillaItems::IRON_LEGGINGS()); - $result->register("iron_nugget", fn() => VanillaItems::IRON_NUGGET()); - $result->register("iron_pickaxe", fn() => VanillaItems::IRON_PICKAXE()); - $result->register("iron_shovel", fn() => VanillaItems::IRON_SHOVEL()); - $result->register("iron_sword", fn() => VanillaItems::IRON_SWORD()); - $result->register("jungle_boat", fn() => VanillaItems::JUNGLE_BOAT()); - $result->register("lapis_lazuli", fn() => VanillaItems::LAPIS_LAZULI()); - $result->register("lava_bucket", fn() => VanillaItems::LAVA_BUCKET()); - $result->register("leaping_potion", fn() => VanillaItems::LEAPING_POTION()); - $result->register("leaping_splash_potion", fn() => VanillaItems::LEAPING_SPLASH_POTION()); - $result->register("leather", fn() => VanillaItems::LEATHER()); - $result->register("leather_boots", fn() => VanillaItems::LEATHER_BOOTS()); - $result->register("leather_cap", fn() => VanillaItems::LEATHER_CAP()); - $result->register("leather_chestplate", fn() => VanillaItems::LEATHER_TUNIC()); - $result->register("leather_helmet", fn() => VanillaItems::LEATHER_CAP()); - $result->register("leather_leggings", fn() => VanillaItems::LEATHER_PANTS()); - $result->register("leather_pants", fn() => VanillaItems::LEATHER_PANTS()); - $result->register("leather_tunic", fn() => VanillaItems::LEATHER_TUNIC()); - $result->register("light_blue_dye", fn() => VanillaItems::LIGHT_BLUE_DYE()); - $result->register("light_gray_dye", fn() => VanillaItems::LIGHT_GRAY_DYE()); - $result->register("lime_dye", fn() => VanillaItems::LIME_DYE()); - $result->register("long_fire_resistance_potion", fn() => VanillaItems::LONG_FIRE_RESISTANCE_POTION()); - $result->register("long_fire_resistance_splash_potion", fn() => VanillaItems::LONG_FIRE_RESISTANCE_SPLASH_POTION()); - $result->register("long_invisibility_potion", fn() => VanillaItems::LONG_INVISIBILITY_POTION()); - $result->register("long_invisibility_splash_potion", fn() => VanillaItems::LONG_INVISIBILITY_SPLASH_POTION()); - $result->register("long_leaping_potion", fn() => VanillaItems::LONG_LEAPING_POTION()); - $result->register("long_leaping_splash_potion", fn() => VanillaItems::LONG_LEAPING_SPLASH_POTION()); - $result->register("long_mundane_potion", fn() => VanillaItems::LONG_MUNDANE_POTION()); - $result->register("long_mundane_splash_potion", fn() => VanillaItems::LONG_MUNDANE_SPLASH_POTION()); - $result->register("long_night_vision_potion", fn() => VanillaItems::LONG_NIGHT_VISION_POTION()); - $result->register("long_night_vision_splash_potion", fn() => VanillaItems::LONG_NIGHT_VISION_SPLASH_POTION()); - $result->register("long_poison_potion", fn() => VanillaItems::LONG_POISON_POTION()); - $result->register("long_poison_splash_potion", fn() => VanillaItems::LONG_POISON_SPLASH_POTION()); - $result->register("long_regeneration_potion", fn() => VanillaItems::LONG_REGENERATION_POTION()); - $result->register("long_regeneration_splash_potion", fn() => VanillaItems::LONG_REGENERATION_SPLASH_POTION()); - $result->register("long_slow_falling_potion", fn() => VanillaItems::LONG_SLOW_FALLING_POTION()); - $result->register("long_slow_falling_splash_potion", fn() => VanillaItems::LONG_SLOW_FALLING_SPLASH_POTION()); - $result->register("long_slowness_potion", fn() => VanillaItems::LONG_SLOWNESS_POTION()); - $result->register("long_slowness_splash_potion", fn() => VanillaItems::LONG_SLOWNESS_SPLASH_POTION()); - $result->register("long_strength_potion", fn() => VanillaItems::LONG_STRENGTH_POTION()); - $result->register("long_strength_splash_potion", fn() => VanillaItems::LONG_STRENGTH_SPLASH_POTION()); - $result->register("long_swiftness_potion", fn() => VanillaItems::LONG_SWIFTNESS_POTION()); - $result->register("long_swiftness_splash_potion", fn() => VanillaItems::LONG_SWIFTNESS_SPLASH_POTION()); - $result->register("long_turtle_master_potion", fn() => VanillaItems::LONG_TURTLE_MASTER_POTION()); - $result->register("long_turtle_master_splash_potion", fn() => VanillaItems::LONG_TURTLE_MASTER_SPLASH_POTION()); - $result->register("long_water_breathing_potion", fn() => VanillaItems::LONG_WATER_BREATHING_POTION()); - $result->register("long_water_breathing_splash_potion", fn() => VanillaItems::LONG_WATER_BREATHING_SPLASH_POTION()); - $result->register("long_weakness_potion", fn() => VanillaItems::LONG_WEAKNESS_POTION()); - $result->register("long_weakness_splash_potion", fn() => VanillaItems::LONG_WEAKNESS_SPLASH_POTION()); - $result->register("magenta_dye", fn() => VanillaItems::MAGENTA_DYE()); - $result->register("magma_cream", fn() => VanillaItems::MAGMA_CREAM()); - $result->register("melon", fn() => VanillaItems::MELON()); - $result->register("melon_seeds", fn() => VanillaItems::MELON_SEEDS()); - $result->register("melon_slice", fn() => VanillaItems::MELON()); - $result->register("milk_bucket", fn() => VanillaItems::MILK_BUCKET()); - $result->register("minecart", fn() => VanillaItems::MINECART()); - $result->register("mob_head", fn() => VanillaItems::SKELETON_SKULL()); - $result->register("mundane_potion", fn() => VanillaItems::MUNDANE_POTION()); - $result->register("mundane_splash_potion", fn() => VanillaItems::MUNDANE_SPLASH_POTION()); - $result->register("mushroom_stew", fn() => VanillaItems::MUSHROOM_STEW()); - $result->register("mutton", fn() => VanillaItems::RAW_MUTTON()); - $result->register("mutton_cooked", fn() => VanillaItems::COOKED_MUTTON()); - $result->register("mutton_raw", fn() => VanillaItems::RAW_MUTTON()); - $result->register("muttoncooked", fn() => VanillaItems::COOKED_MUTTON()); - $result->register("muttonraw", fn() => VanillaItems::RAW_MUTTON()); - $result->register("nautilus_shell", fn() => VanillaItems::NAUTILUS_SHELL()); - $result->register("nether_brick", fn() => VanillaItems::NETHER_BRICK()); - $result->register("nether_quartz", fn() => VanillaItems::NETHER_QUARTZ()); - $result->register("nether_star", fn() => VanillaItems::NETHER_STAR()); - $result->register("netherbrick", fn() => VanillaItems::NETHER_BRICK()); - $result->register("netherstar", fn() => VanillaItems::NETHER_STAR()); - $result->register("night_vision_potion", fn() => VanillaItems::NIGHT_VISION_POTION()); - $result->register("night_vision_splash_potion", fn() => VanillaItems::NIGHT_VISION_SPLASH_POTION()); - $result->register("oak_boat", fn() => VanillaItems::OAK_BOAT()); - $result->register("orange_dye", fn() => VanillaItems::ORANGE_DYE()); - $result->register("painting", fn() => VanillaItems::PAINTING()); - $result->register("paper", fn() => VanillaItems::PAPER()); - $result->register("pink_dye", fn() => VanillaItems::PINK_DYE()); - $result->register("player_head", fn() => VanillaItems::PLAYER_HEAD()); - $result->register("poison_potion", fn() => VanillaItems::POISON_POTION()); - $result->register("poison_splash_potion", fn() => VanillaItems::POISON_SPLASH_POTION()); - $result->register("poisonous_potato", fn() => VanillaItems::POISONOUS_POTATO()); - $result->register("popped_chorus_fruit", fn() => VanillaItems::POPPED_CHORUS_FRUIT()); - $result->register("porkchop", fn() => VanillaItems::RAW_PORKCHOP()); - $result->register("potato", fn() => VanillaItems::POTATO()); - $result->register("potion", fn() => VanillaItems::WATER_POTION()); - $result->register("prismarine_crystals", fn() => VanillaItems::PRISMARINE_CRYSTALS()); - $result->register("prismarine_shard", fn() => VanillaItems::PRISMARINE_SHARD()); - $result->register("puffer_fish", fn() => VanillaItems::PUFFERFISH()); - $result->register("pufferfish", fn() => VanillaItems::PUFFERFISH()); - $result->register("pumpkin_pie", fn() => VanillaItems::PUMPKIN_PIE()); - $result->register("pumpkin_seeds", fn() => VanillaItems::PUMPKIN_SEEDS()); - $result->register("purple_dye", fn() => VanillaItems::PURPLE_DYE()); - $result->register("quartz", fn() => VanillaItems::NETHER_QUARTZ()); - $result->register("rabbit", fn() => VanillaItems::RAW_RABBIT()); - $result->register("rabbit_foot", fn() => VanillaItems::RABBIT_FOOT()); - $result->register("rabbit_hide", fn() => VanillaItems::RABBIT_HIDE()); - $result->register("rabbit_stew", fn() => VanillaItems::RABBIT_STEW()); - $result->register("raw_beef", fn() => VanillaItems::RAW_BEEF()); - $result->register("raw_cod", fn() => VanillaItems::RAW_FISH()); - $result->register("raw_chicken", fn() => VanillaItems::RAW_CHICKEN()); - $result->register("raw_fish", fn() => VanillaItems::RAW_FISH()); - $result->register("raw_mutton", fn() => VanillaItems::RAW_MUTTON()); - $result->register("raw_porkchop", fn() => VanillaItems::RAW_PORKCHOP()); - $result->register("raw_rabbit", fn() => VanillaItems::RAW_RABBIT()); - $result->register("raw_salmon", fn() => VanillaItems::RAW_SALMON()); - $result->register("record_11", fn() => VanillaItems::RECORD_11()); - $result->register("record_13", fn() => VanillaItems::RECORD_13()); - $result->register("record_blocks", fn() => VanillaItems::RECORD_BLOCKS()); - $result->register("record_cat", fn() => VanillaItems::RECORD_CAT()); - $result->register("record_chirp", fn() => VanillaItems::RECORD_CHIRP()); - $result->register("record_far", fn() => VanillaItems::RECORD_FAR()); - $result->register("record_mall", fn() => VanillaItems::RECORD_MALL()); - $result->register("record_mellohi", fn() => VanillaItems::RECORD_MELLOHI()); - $result->register("record_stal", fn() => VanillaItems::RECORD_STAL()); - $result->register("record_strad", fn() => VanillaItems::RECORD_STRAD()); - $result->register("record_wait", fn() => VanillaItems::RECORD_WAIT()); - $result->register("record_ward", fn() => VanillaItems::RECORD_WARD()); - $result->register("red_dye", fn() => VanillaItems::RED_DYE()); - $result->register("redstone", fn() => VanillaItems::REDSTONE_DUST()); - $result->register("redstone_dust", fn() => VanillaItems::REDSTONE_DUST()); - $result->register("regeneration_potion", fn() => VanillaItems::REGENERATION_POTION()); - $result->register("regeneration_splash_potion", fn() => VanillaItems::REGENERATION_SPLASH_POTION()); - $result->register("rotten_flesh", fn() => VanillaItems::ROTTEN_FLESH()); - $result->register("salmon", fn() => VanillaItems::RAW_SALMON()); - $result->register("scute", fn() => VanillaItems::SCUTE()); - $result->register("seeds", fn() => VanillaItems::WHEAT_SEEDS()); - $result->register("shears", fn() => VanillaItems::SHEARS()); - $result->register("shulker_shell", fn() => VanillaItems::SHULKER_SHELL()); - $result->register("skeleton_skull", fn() => VanillaItems::SKELETON_SKULL()); - $result->register("skull", fn() => VanillaItems::SKELETON_SKULL()); - $result->register("slime_ball", fn() => VanillaItems::SLIMEBALL()); - $result->register("slimeball", fn() => VanillaItems::SLIMEBALL()); - $result->register("slow_falling_potion", fn() => VanillaItems::SLOW_FALLING_POTION()); - $result->register("slow_falling_splash_potion", fn() => VanillaItems::SLOW_FALLING_SPLASH_POTION()); - $result->register("slowness_potion", fn() => VanillaItems::SLOWNESS_POTION()); - $result->register("slowness_splash_potion", fn() => VanillaItems::SLOWNESS_SPLASH_POTION()); - $result->register("snowball", fn() => VanillaItems::SNOWBALL()); - $result->register("speckled_melon", fn() => VanillaItems::GLISTERING_MELON()); - $result->register("spider_eye", fn() => VanillaItems::SPIDER_EYE()); - $result->register("splash_potion", fn() => VanillaItems::WATER_SPLASH_POTION()); - $result->register("spruce_boat", fn() => VanillaItems::SPRUCE_BOAT()); - $result->register("squid_spawn_egg", fn() => VanillaItems::SQUID_SPAWN_EGG()); - $result->register("steak", fn() => VanillaItems::STEAK()); - $result->register("stick", fn() => VanillaItems::STICK()); - $result->register("sticks", fn() => VanillaItems::STICK()); - $result->register("stone_axe", fn() => VanillaItems::STONE_AXE()); - $result->register("stone_hoe", fn() => VanillaItems::STONE_HOE()); - $result->register("stone_pickaxe", fn() => VanillaItems::STONE_PICKAXE()); - $result->register("stone_shovel", fn() => VanillaItems::STONE_SHOVEL()); - $result->register("stone_sword", fn() => VanillaItems::STONE_SWORD()); - $result->register("strength_potion", fn() => VanillaItems::STRENGTH_POTION()); - $result->register("strength_splash_potion", fn() => VanillaItems::STRENGTH_SPLASH_POTION()); - $result->register("string", fn() => VanillaItems::STRING()); - $result->register("strong_harming_potion", fn() => VanillaItems::STRONG_HARMING_POTION()); - $result->register("strong_harming_splash_potion", fn() => VanillaItems::STRONG_HARMING_SPLASH_POTION()); - $result->register("strong_healing_potion", fn() => VanillaItems::STRONG_HEALING_POTION()); - $result->register("strong_healing_splash_potion", fn() => VanillaItems::STRONG_HEALING_SPLASH_POTION()); - $result->register("strong_leaping_potion", fn() => VanillaItems::STRONG_LEAPING_POTION()); - $result->register("strong_leaping_splash_potion", fn() => VanillaItems::STRONG_LEAPING_SPLASH_POTION()); - $result->register("strong_poison_potion", fn() => VanillaItems::STRONG_POISON_POTION()); - $result->register("strong_poison_splash_potion", fn() => VanillaItems::STRONG_POISON_SPLASH_POTION()); - $result->register("strong_regeneration_potion", fn() => VanillaItems::STRONG_REGENERATION_POTION()); - $result->register("strong_regeneration_splash_potion", fn() => VanillaItems::STRONG_REGENERATION_SPLASH_POTION()); - $result->register("strong_strength_potion", fn() => VanillaItems::STRONG_STRENGTH_POTION()); - $result->register("strong_strength_splash_potion", fn() => VanillaItems::STRONG_STRENGTH_SPLASH_POTION()); - $result->register("strong_swiftness_potion", fn() => VanillaItems::STRONG_SWIFTNESS_POTION()); - $result->register("strong_swiftness_splash_potion", fn() => VanillaItems::STRONG_SWIFTNESS_SPLASH_POTION()); - $result->register("strong_turtle_master_potion", fn() => VanillaItems::STRONG_TURTLE_MASTER_POTION()); - $result->register("strong_turtle_master_splash_potion", fn() => VanillaItems::STRONG_TURTLE_MASTER_SPLASH_POTION()); - $result->register("sugar", fn() => VanillaItems::SUGAR()); - $result->register("sweet_berries", fn() => VanillaItems::SWEET_BERRIES()); - $result->register("swiftness_potion", fn() => VanillaItems::SWIFTNESS_POTION()); - $result->register("swiftness_splash_potion", fn() => VanillaItems::SWIFTNESS_SPLASH_POTION()); - $result->register("thick_potion", fn() => VanillaItems::THICK_POTION()); - $result->register("thick_splash_potion", fn() => VanillaItems::THICK_SPLASH_POTION()); - $result->register("totem", fn() => VanillaItems::TOTEM()); - $result->register("turtle_master_potion", fn() => VanillaItems::TURTLE_MASTER_POTION()); - $result->register("turtle_master_splash_potion", fn() => VanillaItems::TURTLE_MASTER_SPLASH_POTION()); - $result->register("turtle_shell_piece", fn() => VanillaItems::SCUTE()); - $result->register("villager_spawn_egg", fn() => VanillaItems::VILLAGER_SPAWN_EGG()); - $result->register("water_breathing_potion", fn() => VanillaItems::WATER_BREATHING_POTION()); - $result->register("water_breathing_splash_potion", fn() => VanillaItems::WATER_BREATHING_SPLASH_POTION()); - $result->register("water_bucket", fn() => VanillaItems::WATER_BUCKET()); - $result->register("water_potion", fn() => VanillaItems::WATER_POTION()); - $result->register("water_splash_potion", fn() => VanillaItems::WATER_SPLASH_POTION()); - $result->register("weakness_potion", fn() => VanillaItems::WEAKNESS_POTION()); - $result->register("weakness_splash_potion", fn() => VanillaItems::WEAKNESS_SPLASH_POTION()); - $result->register("wheat", fn() => VanillaItems::WHEAT()); - $result->register("wheat_seeds", fn() => VanillaItems::WHEAT_SEEDS()); - $result->register("white_dye", fn() => VanillaItems::WHITE_DYE()); - $result->register("wither_potion", fn() => VanillaItems::WITHER_POTION()); - $result->register("wither_skeleton_skull", fn() => VanillaItems::WITHER_SKELETON_SKULL()); - $result->register("wither_splash_potion", fn() => VanillaItems::WITHER_SPLASH_POTION()); - $result->register("wooden_axe", fn() => VanillaItems::WOODEN_AXE()); - $result->register("wooden_hoe", fn() => VanillaItems::WOODEN_HOE()); - $result->register("wooden_pickaxe", fn() => VanillaItems::WOODEN_PICKAXE()); - $result->register("wooden_shovel", fn() => VanillaItems::WOODEN_SHOVEL()); - $result->register("wooden_sword", fn() => VanillaItems::WOODEN_SWORD()); - $result->register("writable_book", fn() => VanillaItems::WRITABLE_BOOK()); - $result->register("written_book", fn() => VanillaItems::WRITTEN_BOOK()); - $result->register("yellow_dye", fn() => VanillaItems::YELLOW_DYE()); - $result->register("zombie_head", fn() => VanillaItems::ZOMBIE_HEAD()); - $result->register("zombie_spawn_egg", fn() => VanillaItems::ZOMBIE_SPAWN_EGG()); + $result->register("acacia_boat", fn() => Items::ACACIA_BOAT()); + $result->register("apple", fn() => Items::APPLE()); + $result->register("apple_enchanted", fn() => Items::ENCHANTED_GOLDEN_APPLE()); + $result->register("appleenchanted", fn() => Items::ENCHANTED_GOLDEN_APPLE()); + $result->register("arrow", fn() => Items::ARROW()); + $result->register("awkward_potion", fn() => Items::AWKWARD_POTION()); + $result->register("awkward_splash_potion", fn() => Items::AWKWARD_SPLASH_POTION()); + $result->register("baked_potato", fn() => Items::BAKED_POTATO()); + $result->register("baked_potatoes", fn() => Items::BAKED_POTATO()); + $result->register("bed", fn() => Items::WHITE_BED()); + $result->register("beef", fn() => Items::RAW_BEEF()); + $result->register("beetroot", fn() => Items::BEETROOT()); + $result->register("beetroot_seed", fn() => Items::BEETROOT_SEEDS()); + $result->register("beetroot_seeds", fn() => Items::BEETROOT_SEEDS()); + $result->register("beetroot_soup", fn() => Items::BEETROOT_SOUP()); + $result->register("birch_boat", fn() => Items::BIRCH_BOAT()); + $result->register("black_dye", fn() => Items::BLACK_DYE()); + $result->register("blaze_powder", fn() => Items::BLAZE_POWDER()); + $result->register("blaze_rod", fn() => Items::BLAZE_ROD()); + $result->register("bleach", fn() => Items::BLEACH()); + $result->register("blue_dye", fn() => Items::BLUE_DYE()); + $result->register("boat", fn() => Items::OAK_BOAT()); + $result->register("bone", fn() => Items::BONE()); + $result->register("bone_meal", fn() => Items::BONE_MEAL()); + $result->register("book", fn() => Items::BOOK()); + $result->register("bottle_o_enchanting", fn() => Items::EXPERIENCE_BOTTLE()); + $result->register("bow", fn() => Items::BOW()); + $result->register("bowl", fn() => Items::BOWL()); + $result->register("bread", fn() => Items::BREAD()); + $result->register("brick", fn() => Items::BRICK()); + $result->register("brown_dye", fn() => Items::BROWN_DYE()); + $result->register("bucket", fn() => Items::BUCKET()); + $result->register("carrot", fn() => Items::CARROT()); + $result->register("chain_boots", fn() => Items::CHAINMAIL_BOOTS()); + $result->register("chain_chestplate", fn() => Items::CHAINMAIL_CHESTPLATE()); + $result->register("chain_helmet", fn() => Items::CHAINMAIL_HELMET()); + $result->register("chain_leggings", fn() => Items::CHAINMAIL_LEGGINGS()); + $result->register("chainmail_boots", fn() => Items::CHAINMAIL_BOOTS()); + $result->register("chainmail_chestplate", fn() => Items::CHAINMAIL_CHESTPLATE()); + $result->register("chainmail_helmet", fn() => Items::CHAINMAIL_HELMET()); + $result->register("chainmail_leggings", fn() => Items::CHAINMAIL_LEGGINGS()); + $result->register("charcoal", fn() => Items::CHARCOAL()); + $result->register("chemical_aluminium_oxide", fn() => Items::CHEMICAL_ALUMINIUM_OXIDE()); + $result->register("chemical_ammonia", fn() => Items::CHEMICAL_AMMONIA()); + $result->register("chemical_barium_sulphate", fn() => Items::CHEMICAL_BARIUM_SULPHATE()); + $result->register("chemical_benzene", fn() => Items::CHEMICAL_BENZENE()); + $result->register("chemical_boron_trioxide", fn() => Items::CHEMICAL_BORON_TRIOXIDE()); + $result->register("chemical_calcium_bromide", fn() => Items::CHEMICAL_CALCIUM_BROMIDE()); + $result->register("chemical_calcium_chloride", fn() => Items::CHEMICAL_CALCIUM_CHLORIDE()); + $result->register("chemical_cerium_chloride", fn() => Items::CHEMICAL_CERIUM_CHLORIDE()); + $result->register("chemical_charcoal", fn() => Items::CHEMICAL_CHARCOAL()); + $result->register("chemical_crude_oil", fn() => Items::CHEMICAL_CRUDE_OIL()); + $result->register("chemical_glue", fn() => Items::CHEMICAL_GLUE()); + $result->register("chemical_hydrogen_peroxide", fn() => Items::CHEMICAL_HYDROGEN_PEROXIDE()); + $result->register("chemical_hypochlorite", fn() => Items::CHEMICAL_HYPOCHLORITE()); + $result->register("chemical_ink", fn() => Items::CHEMICAL_INK()); + $result->register("chemical_iron_sulphide", fn() => Items::CHEMICAL_IRON_SULPHIDE()); + $result->register("chemical_latex", fn() => Items::CHEMICAL_LATEX()); + $result->register("chemical_lithium_hydride", fn() => Items::CHEMICAL_LITHIUM_HYDRIDE()); + $result->register("chemical_luminol", fn() => Items::CHEMICAL_LUMINOL()); + $result->register("chemical_magnesium_nitrate", fn() => Items::CHEMICAL_MAGNESIUM_NITRATE()); + $result->register("chemical_magnesium_oxide", fn() => Items::CHEMICAL_MAGNESIUM_OXIDE()); + $result->register("chemical_magnesium_salts", fn() => Items::CHEMICAL_MAGNESIUM_SALTS()); + $result->register("chemical_mercuric_chloride", fn() => Items::CHEMICAL_MERCURIC_CHLORIDE()); + $result->register("chemical_polyethylene", fn() => Items::CHEMICAL_POLYETHYLENE()); + $result->register("chemical_potassium_chloride", fn() => Items::CHEMICAL_POTASSIUM_CHLORIDE()); + $result->register("chemical_potassium_iodide", fn() => Items::CHEMICAL_POTASSIUM_IODIDE()); + $result->register("chemical_rubbish", fn() => Items::CHEMICAL_RUBBISH()); + $result->register("chemical_salt", fn() => Items::CHEMICAL_SALT()); + $result->register("chemical_soap", fn() => Items::CHEMICAL_SOAP()); + $result->register("chemical_sodium_acetate", fn() => Items::CHEMICAL_SODIUM_ACETATE()); + $result->register("chemical_sodium_fluoride", fn() => Items::CHEMICAL_SODIUM_FLUORIDE()); + $result->register("chemical_sodium_hydride", fn() => Items::CHEMICAL_SODIUM_HYDRIDE()); + $result->register("chemical_sodium_hydroxide", fn() => Items::CHEMICAL_SODIUM_HYDROXIDE()); + $result->register("chemical_sodium_hypochlorite", fn() => Items::CHEMICAL_SODIUM_HYPOCHLORITE()); + $result->register("chemical_sodium_oxide", fn() => Items::CHEMICAL_SODIUM_OXIDE()); + $result->register("chemical_sugar", fn() => Items::CHEMICAL_SUGAR()); + $result->register("chemical_sulphate", fn() => Items::CHEMICAL_SULPHATE()); + $result->register("chemical_tungsten_chloride", fn() => Items::CHEMICAL_TUNGSTEN_CHLORIDE()); + $result->register("chemical_water", fn() => Items::CHEMICAL_WATER()); + $result->register("chicken", fn() => Items::RAW_CHICKEN()); + $result->register("chorus_fruit", fn() => Items::CHORUS_FRUIT()); + $result->register("chorus_fruit_popped", fn() => Items::POPPED_CHORUS_FRUIT()); + $result->register("clay", fn() => Items::CLAY()); + $result->register("clay_ball", fn() => Items::CLAY()); + $result->register("clock", fn() => Items::CLOCK()); + $result->register("clown_fish", fn() => Items::CLOWNFISH()); + $result->register("clownfish", fn() => Items::CLOWNFISH()); + $result->register("coal", fn() => Items::COAL()); + $result->register("cocoa_beans", fn() => Items::COCOA_BEANS()); + $result->register("cod", fn() => Items::RAW_FISH()); + $result->register("compass", fn() => Items::COMPASS()); + $result->register("compound", fn() => Items::CHEMICAL_SALT()); + $result->register("cooked_beef", fn() => Items::STEAK()); + $result->register("cooked_chicken", fn() => Items::COOKED_CHICKEN()); + $result->register("cooked_cod", fn() => Items::COOKED_FISH()); + $result->register("cooked_fish", fn() => Items::COOKED_FISH()); + $result->register("cooked_mutton", fn() => Items::COOKED_MUTTON()); + $result->register("cooked_porkchop", fn() => Items::COOKED_PORKCHOP()); + $result->register("cooked_rabbit", fn() => Items::COOKED_RABBIT()); + $result->register("cooked_salmon", fn() => Items::COOKED_SALMON()); + $result->register("cookie", fn() => Items::COOKIE()); + $result->register("creeper_head", fn() => Items::CREEPER_HEAD()); + $result->register("cyan_dye", fn() => Items::CYAN_DYE()); + $result->register("dark_oak_boat", fn() => Items::DARK_OAK_BOAT()); + $result->register("diamond", fn() => Items::DIAMOND()); + $result->register("diamond_axe", fn() => Items::DIAMOND_AXE()); + $result->register("diamond_boots", fn() => Items::DIAMOND_BOOTS()); + $result->register("diamond_chestplate", fn() => Items::DIAMOND_CHESTPLATE()); + $result->register("diamond_helmet", fn() => Items::DIAMOND_HELMET()); + $result->register("diamond_hoe", fn() => Items::DIAMOND_HOE()); + $result->register("diamond_leggings", fn() => Items::DIAMOND_LEGGINGS()); + $result->register("diamond_pickaxe", fn() => Items::DIAMOND_PICKAXE()); + $result->register("diamond_shovel", fn() => Items::DIAMOND_SHOVEL()); + $result->register("diamond_sword", fn() => Items::DIAMOND_SWORD()); + $result->register("dragon_breath", fn() => Items::DRAGON_BREATH()); + $result->register("dragon_head", fn() => Items::DRAGON_HEAD()); + $result->register("dried_kelp", fn() => Items::DRIED_KELP()); + $result->register("dye", fn() => Items::INK_SAC()); + $result->register("egg", fn() => Items::EGG()); + $result->register("emerald", fn() => Items::EMERALD()); + $result->register("enchanted_golden_apple", fn() => Items::ENCHANTED_GOLDEN_APPLE()); + $result->register("enchanting_bottle", fn() => Items::EXPERIENCE_BOTTLE()); + $result->register("ender_pearl", fn() => Items::ENDER_PEARL()); + $result->register("experience_bottle", fn() => Items::EXPERIENCE_BOTTLE()); + $result->register("feather", fn() => Items::FEATHER()); + $result->register("fermented_spider_eye", fn() => Items::FERMENTED_SPIDER_EYE()); + $result->register("fire_resistance_potion", fn() => Items::FIRE_RESISTANCE_POTION()); + $result->register("fire_resistance_splash_potion", fn() => Items::FIRE_RESISTANCE_SPLASH_POTION()); + $result->register("fish", fn() => Items::RAW_FISH()); + $result->register("fishing_rod", fn() => Items::FISHING_ROD()); + $result->register("flint", fn() => Items::FLINT()); + $result->register("flint_and_steel", fn() => Items::FLINT_AND_STEEL()); + $result->register("flint_steel", fn() => Items::FLINT_AND_STEEL()); + $result->register("ghast_tear", fn() => Items::GHAST_TEAR()); + $result->register("glass_bottle", fn() => Items::GLASS_BOTTLE()); + $result->register("glistering_melon", fn() => Items::GLISTERING_MELON()); + $result->register("glowstone_dust", fn() => Items::GLOWSTONE_DUST()); + $result->register("gold_axe", fn() => Items::GOLDEN_AXE()); + $result->register("gold_boots", fn() => Items::GOLDEN_BOOTS()); + $result->register("gold_chestplate", fn() => Items::GOLDEN_CHESTPLATE()); + $result->register("gold_helmet", fn() => Items::GOLDEN_HELMET()); + $result->register("gold_hoe", fn() => Items::GOLDEN_HOE()); + $result->register("gold_ingot", fn() => Items::GOLD_INGOT()); + $result->register("gold_leggings", fn() => Items::GOLDEN_LEGGINGS()); + $result->register("gold_nugget", fn() => Items::GOLD_NUGGET()); + $result->register("gold_pickaxe", fn() => Items::GOLDEN_PICKAXE()); + $result->register("gold_shovel", fn() => Items::GOLDEN_SHOVEL()); + $result->register("gold_sword", fn() => Items::GOLDEN_SWORD()); + $result->register("golden_apple", fn() => Items::GOLDEN_APPLE()); + $result->register("golden_axe", fn() => Items::GOLDEN_AXE()); + $result->register("golden_boots", fn() => Items::GOLDEN_BOOTS()); + $result->register("golden_carrot", fn() => Items::GOLDEN_CARROT()); + $result->register("golden_chestplate", fn() => Items::GOLDEN_CHESTPLATE()); + $result->register("golden_helmet", fn() => Items::GOLDEN_HELMET()); + $result->register("golden_hoe", fn() => Items::GOLDEN_HOE()); + $result->register("golden_leggings", fn() => Items::GOLDEN_LEGGINGS()); + $result->register("golden_nugget", fn() => Items::GOLD_NUGGET()); + $result->register("golden_pickaxe", fn() => Items::GOLDEN_PICKAXE()); + $result->register("golden_shovel", fn() => Items::GOLDEN_SHOVEL()); + $result->register("golden_sword", fn() => Items::GOLDEN_SWORD()); + $result->register("gray_dye", fn() => Items::GRAY_DYE()); + $result->register("green_dye", fn() => Items::GREEN_DYE()); + $result->register("gunpowder", fn() => Items::GUNPOWDER()); + $result->register("harming_potion", fn() => Items::HARMING_POTION()); + $result->register("harming_splash_potion", fn() => Items::HARMING_SPLASH_POTION()); + $result->register("healing_potion", fn() => Items::HEALING_POTION()); + $result->register("healing_splash_potion", fn() => Items::HEALING_SPLASH_POTION()); + $result->register("heart_of_the_sea", fn() => Items::HEART_OF_THE_SEA()); + $result->register("ink_sac", fn() => Items::INK_SAC()); + $result->register("invisibility_potion", fn() => Items::INVISIBILITY_POTION()); + $result->register("invisibility_splash_potion", fn() => Items::INVISIBILITY_SPLASH_POTION()); + $result->register("iron_axe", fn() => Items::IRON_AXE()); + $result->register("iron_boots", fn() => Items::IRON_BOOTS()); + $result->register("iron_chestplate", fn() => Items::IRON_CHESTPLATE()); + $result->register("iron_helmet", fn() => Items::IRON_HELMET()); + $result->register("iron_hoe", fn() => Items::IRON_HOE()); + $result->register("iron_ingot", fn() => Items::IRON_INGOT()); + $result->register("iron_leggings", fn() => Items::IRON_LEGGINGS()); + $result->register("iron_nugget", fn() => Items::IRON_NUGGET()); + $result->register("iron_pickaxe", fn() => Items::IRON_PICKAXE()); + $result->register("iron_shovel", fn() => Items::IRON_SHOVEL()); + $result->register("iron_sword", fn() => Items::IRON_SWORD()); + $result->register("jungle_boat", fn() => Items::JUNGLE_BOAT()); + $result->register("lapis_lazuli", fn() => Items::LAPIS_LAZULI()); + $result->register("lava_bucket", fn() => Items::LAVA_BUCKET()); + $result->register("leaping_potion", fn() => Items::LEAPING_POTION()); + $result->register("leaping_splash_potion", fn() => Items::LEAPING_SPLASH_POTION()); + $result->register("leather", fn() => Items::LEATHER()); + $result->register("leather_boots", fn() => Items::LEATHER_BOOTS()); + $result->register("leather_cap", fn() => Items::LEATHER_CAP()); + $result->register("leather_chestplate", fn() => Items::LEATHER_TUNIC()); + $result->register("leather_helmet", fn() => Items::LEATHER_CAP()); + $result->register("leather_leggings", fn() => Items::LEATHER_PANTS()); + $result->register("leather_pants", fn() => Items::LEATHER_PANTS()); + $result->register("leather_tunic", fn() => Items::LEATHER_TUNIC()); + $result->register("light_blue_dye", fn() => Items::LIGHT_BLUE_DYE()); + $result->register("light_gray_dye", fn() => Items::LIGHT_GRAY_DYE()); + $result->register("lime_dye", fn() => Items::LIME_DYE()); + $result->register("long_fire_resistance_potion", fn() => Items::LONG_FIRE_RESISTANCE_POTION()); + $result->register("long_fire_resistance_splash_potion", fn() => Items::LONG_FIRE_RESISTANCE_SPLASH_POTION()); + $result->register("long_invisibility_potion", fn() => Items::LONG_INVISIBILITY_POTION()); + $result->register("long_invisibility_splash_potion", fn() => Items::LONG_INVISIBILITY_SPLASH_POTION()); + $result->register("long_leaping_potion", fn() => Items::LONG_LEAPING_POTION()); + $result->register("long_leaping_splash_potion", fn() => Items::LONG_LEAPING_SPLASH_POTION()); + $result->register("long_mundane_potion", fn() => Items::LONG_MUNDANE_POTION()); + $result->register("long_mundane_splash_potion", fn() => Items::LONG_MUNDANE_SPLASH_POTION()); + $result->register("long_night_vision_potion", fn() => Items::LONG_NIGHT_VISION_POTION()); + $result->register("long_night_vision_splash_potion", fn() => Items::LONG_NIGHT_VISION_SPLASH_POTION()); + $result->register("long_poison_potion", fn() => Items::LONG_POISON_POTION()); + $result->register("long_poison_splash_potion", fn() => Items::LONG_POISON_SPLASH_POTION()); + $result->register("long_regeneration_potion", fn() => Items::LONG_REGENERATION_POTION()); + $result->register("long_regeneration_splash_potion", fn() => Items::LONG_REGENERATION_SPLASH_POTION()); + $result->register("long_slow_falling_potion", fn() => Items::LONG_SLOW_FALLING_POTION()); + $result->register("long_slow_falling_splash_potion", fn() => Items::LONG_SLOW_FALLING_SPLASH_POTION()); + $result->register("long_slowness_potion", fn() => Items::LONG_SLOWNESS_POTION()); + $result->register("long_slowness_splash_potion", fn() => Items::LONG_SLOWNESS_SPLASH_POTION()); + $result->register("long_strength_potion", fn() => Items::LONG_STRENGTH_POTION()); + $result->register("long_strength_splash_potion", fn() => Items::LONG_STRENGTH_SPLASH_POTION()); + $result->register("long_swiftness_potion", fn() => Items::LONG_SWIFTNESS_POTION()); + $result->register("long_swiftness_splash_potion", fn() => Items::LONG_SWIFTNESS_SPLASH_POTION()); + $result->register("long_turtle_master_potion", fn() => Items::LONG_TURTLE_MASTER_POTION()); + $result->register("long_turtle_master_splash_potion", fn() => Items::LONG_TURTLE_MASTER_SPLASH_POTION()); + $result->register("long_water_breathing_potion", fn() => Items::LONG_WATER_BREATHING_POTION()); + $result->register("long_water_breathing_splash_potion", fn() => Items::LONG_WATER_BREATHING_SPLASH_POTION()); + $result->register("long_weakness_potion", fn() => Items::LONG_WEAKNESS_POTION()); + $result->register("long_weakness_splash_potion", fn() => Items::LONG_WEAKNESS_SPLASH_POTION()); + $result->register("magenta_dye", fn() => Items::MAGENTA_DYE()); + $result->register("magma_cream", fn() => Items::MAGMA_CREAM()); + $result->register("melon", fn() => Items::MELON()); + $result->register("melon_seeds", fn() => Items::MELON_SEEDS()); + $result->register("melon_slice", fn() => Items::MELON()); + $result->register("milk_bucket", fn() => Items::MILK_BUCKET()); + $result->register("minecart", fn() => Items::MINECART()); + $result->register("mob_head", fn() => Items::SKELETON_SKULL()); + $result->register("mundane_potion", fn() => Items::MUNDANE_POTION()); + $result->register("mundane_splash_potion", fn() => Items::MUNDANE_SPLASH_POTION()); + $result->register("mushroom_stew", fn() => Items::MUSHROOM_STEW()); + $result->register("mutton", fn() => Items::RAW_MUTTON()); + $result->register("mutton_cooked", fn() => Items::COOKED_MUTTON()); + $result->register("mutton_raw", fn() => Items::RAW_MUTTON()); + $result->register("muttoncooked", fn() => Items::COOKED_MUTTON()); + $result->register("muttonraw", fn() => Items::RAW_MUTTON()); + $result->register("nautilus_shell", fn() => Items::NAUTILUS_SHELL()); + $result->register("nether_brick", fn() => Items::NETHER_BRICK()); + $result->register("nether_quartz", fn() => Items::NETHER_QUARTZ()); + $result->register("nether_star", fn() => Items::NETHER_STAR()); + $result->register("netherbrick", fn() => Items::NETHER_BRICK()); + $result->register("netherstar", fn() => Items::NETHER_STAR()); + $result->register("night_vision_potion", fn() => Items::NIGHT_VISION_POTION()); + $result->register("night_vision_splash_potion", fn() => Items::NIGHT_VISION_SPLASH_POTION()); + $result->register("oak_boat", fn() => Items::OAK_BOAT()); + $result->register("orange_dye", fn() => Items::ORANGE_DYE()); + $result->register("painting", fn() => Items::PAINTING()); + $result->register("paper", fn() => Items::PAPER()); + $result->register("pink_dye", fn() => Items::PINK_DYE()); + $result->register("player_head", fn() => Items::PLAYER_HEAD()); + $result->register("poison_potion", fn() => Items::POISON_POTION()); + $result->register("poison_splash_potion", fn() => Items::POISON_SPLASH_POTION()); + $result->register("poisonous_potato", fn() => Items::POISONOUS_POTATO()); + $result->register("popped_chorus_fruit", fn() => Items::POPPED_CHORUS_FRUIT()); + $result->register("porkchop", fn() => Items::RAW_PORKCHOP()); + $result->register("potato", fn() => Items::POTATO()); + $result->register("potion", fn() => Items::WATER_POTION()); + $result->register("prismarine_crystals", fn() => Items::PRISMARINE_CRYSTALS()); + $result->register("prismarine_shard", fn() => Items::PRISMARINE_SHARD()); + $result->register("puffer_fish", fn() => Items::PUFFERFISH()); + $result->register("pufferfish", fn() => Items::PUFFERFISH()); + $result->register("pumpkin_pie", fn() => Items::PUMPKIN_PIE()); + $result->register("pumpkin_seeds", fn() => Items::PUMPKIN_SEEDS()); + $result->register("purple_dye", fn() => Items::PURPLE_DYE()); + $result->register("quartz", fn() => Items::NETHER_QUARTZ()); + $result->register("rabbit", fn() => Items::RAW_RABBIT()); + $result->register("rabbit_foot", fn() => Items::RABBIT_FOOT()); + $result->register("rabbit_hide", fn() => Items::RABBIT_HIDE()); + $result->register("rabbit_stew", fn() => Items::RABBIT_STEW()); + $result->register("raw_beef", fn() => Items::RAW_BEEF()); + $result->register("raw_cod", fn() => Items::RAW_FISH()); + $result->register("raw_chicken", fn() => Items::RAW_CHICKEN()); + $result->register("raw_fish", fn() => Items::RAW_FISH()); + $result->register("raw_mutton", fn() => Items::RAW_MUTTON()); + $result->register("raw_porkchop", fn() => Items::RAW_PORKCHOP()); + $result->register("raw_rabbit", fn() => Items::RAW_RABBIT()); + $result->register("raw_salmon", fn() => Items::RAW_SALMON()); + $result->register("record_11", fn() => Items::RECORD_11()); + $result->register("record_13", fn() => Items::RECORD_13()); + $result->register("record_blocks", fn() => Items::RECORD_BLOCKS()); + $result->register("record_cat", fn() => Items::RECORD_CAT()); + $result->register("record_chirp", fn() => Items::RECORD_CHIRP()); + $result->register("record_far", fn() => Items::RECORD_FAR()); + $result->register("record_mall", fn() => Items::RECORD_MALL()); + $result->register("record_mellohi", fn() => Items::RECORD_MELLOHI()); + $result->register("record_stal", fn() => Items::RECORD_STAL()); + $result->register("record_strad", fn() => Items::RECORD_STRAD()); + $result->register("record_wait", fn() => Items::RECORD_WAIT()); + $result->register("record_ward", fn() => Items::RECORD_WARD()); + $result->register("red_dye", fn() => Items::RED_DYE()); + $result->register("redstone", fn() => Items::REDSTONE_DUST()); + $result->register("redstone_dust", fn() => Items::REDSTONE_DUST()); + $result->register("regeneration_potion", fn() => Items::REGENERATION_POTION()); + $result->register("regeneration_splash_potion", fn() => Items::REGENERATION_SPLASH_POTION()); + $result->register("rotten_flesh", fn() => Items::ROTTEN_FLESH()); + $result->register("salmon", fn() => Items::RAW_SALMON()); + $result->register("scute", fn() => Items::SCUTE()); + $result->register("seeds", fn() => Items::WHEAT_SEEDS()); + $result->register("shears", fn() => Items::SHEARS()); + $result->register("shulker_shell", fn() => Items::SHULKER_SHELL()); + $result->register("skeleton_skull", fn() => Items::SKELETON_SKULL()); + $result->register("skull", fn() => Items::SKELETON_SKULL()); + $result->register("slime_ball", fn() => Items::SLIMEBALL()); + $result->register("slimeball", fn() => Items::SLIMEBALL()); + $result->register("slow_falling_potion", fn() => Items::SLOW_FALLING_POTION()); + $result->register("slow_falling_splash_potion", fn() => Items::SLOW_FALLING_SPLASH_POTION()); + $result->register("slowness_potion", fn() => Items::SLOWNESS_POTION()); + $result->register("slowness_splash_potion", fn() => Items::SLOWNESS_SPLASH_POTION()); + $result->register("snowball", fn() => Items::SNOWBALL()); + $result->register("speckled_melon", fn() => Items::GLISTERING_MELON()); + $result->register("spider_eye", fn() => Items::SPIDER_EYE()); + $result->register("splash_potion", fn() => Items::WATER_SPLASH_POTION()); + $result->register("spruce_boat", fn() => Items::SPRUCE_BOAT()); + $result->register("squid_spawn_egg", fn() => Items::SQUID_SPAWN_EGG()); + $result->register("steak", fn() => Items::STEAK()); + $result->register("stick", fn() => Items::STICK()); + $result->register("sticks", fn() => Items::STICK()); + $result->register("stone_axe", fn() => Items::STONE_AXE()); + $result->register("stone_hoe", fn() => Items::STONE_HOE()); + $result->register("stone_pickaxe", fn() => Items::STONE_PICKAXE()); + $result->register("stone_shovel", fn() => Items::STONE_SHOVEL()); + $result->register("stone_sword", fn() => Items::STONE_SWORD()); + $result->register("strength_potion", fn() => Items::STRENGTH_POTION()); + $result->register("strength_splash_potion", fn() => Items::STRENGTH_SPLASH_POTION()); + $result->register("string", fn() => Items::STRING()); + $result->register("strong_harming_potion", fn() => Items::STRONG_HARMING_POTION()); + $result->register("strong_harming_splash_potion", fn() => Items::STRONG_HARMING_SPLASH_POTION()); + $result->register("strong_healing_potion", fn() => Items::STRONG_HEALING_POTION()); + $result->register("strong_healing_splash_potion", fn() => Items::STRONG_HEALING_SPLASH_POTION()); + $result->register("strong_leaping_potion", fn() => Items::STRONG_LEAPING_POTION()); + $result->register("strong_leaping_splash_potion", fn() => Items::STRONG_LEAPING_SPLASH_POTION()); + $result->register("strong_poison_potion", fn() => Items::STRONG_POISON_POTION()); + $result->register("strong_poison_splash_potion", fn() => Items::STRONG_POISON_SPLASH_POTION()); + $result->register("strong_regeneration_potion", fn() => Items::STRONG_REGENERATION_POTION()); + $result->register("strong_regeneration_splash_potion", fn() => Items::STRONG_REGENERATION_SPLASH_POTION()); + $result->register("strong_strength_potion", fn() => Items::STRONG_STRENGTH_POTION()); + $result->register("strong_strength_splash_potion", fn() => Items::STRONG_STRENGTH_SPLASH_POTION()); + $result->register("strong_swiftness_potion", fn() => Items::STRONG_SWIFTNESS_POTION()); + $result->register("strong_swiftness_splash_potion", fn() => Items::STRONG_SWIFTNESS_SPLASH_POTION()); + $result->register("strong_turtle_master_potion", fn() => Items::STRONG_TURTLE_MASTER_POTION()); + $result->register("strong_turtle_master_splash_potion", fn() => Items::STRONG_TURTLE_MASTER_SPLASH_POTION()); + $result->register("sugar", fn() => Items::SUGAR()); + $result->register("sweet_berries", fn() => Items::SWEET_BERRIES()); + $result->register("swiftness_potion", fn() => Items::SWIFTNESS_POTION()); + $result->register("swiftness_splash_potion", fn() => Items::SWIFTNESS_SPLASH_POTION()); + $result->register("thick_potion", fn() => Items::THICK_POTION()); + $result->register("thick_splash_potion", fn() => Items::THICK_SPLASH_POTION()); + $result->register("totem", fn() => Items::TOTEM()); + $result->register("turtle_master_potion", fn() => Items::TURTLE_MASTER_POTION()); + $result->register("turtle_master_splash_potion", fn() => Items::TURTLE_MASTER_SPLASH_POTION()); + $result->register("turtle_shell_piece", fn() => Items::SCUTE()); + $result->register("villager_spawn_egg", fn() => Items::VILLAGER_SPAWN_EGG()); + $result->register("water_breathing_potion", fn() => Items::WATER_BREATHING_POTION()); + $result->register("water_breathing_splash_potion", fn() => Items::WATER_BREATHING_SPLASH_POTION()); + $result->register("water_bucket", fn() => Items::WATER_BUCKET()); + $result->register("water_potion", fn() => Items::WATER_POTION()); + $result->register("water_splash_potion", fn() => Items::WATER_SPLASH_POTION()); + $result->register("weakness_potion", fn() => Items::WEAKNESS_POTION()); + $result->register("weakness_splash_potion", fn() => Items::WEAKNESS_SPLASH_POTION()); + $result->register("wheat", fn() => Items::WHEAT()); + $result->register("wheat_seeds", fn() => Items::WHEAT_SEEDS()); + $result->register("white_dye", fn() => Items::WHITE_DYE()); + $result->register("wither_potion", fn() => Items::WITHER_POTION()); + $result->register("wither_skeleton_skull", fn() => Items::WITHER_SKELETON_SKULL()); + $result->register("wither_splash_potion", fn() => Items::WITHER_SPLASH_POTION()); + $result->register("wooden_axe", fn() => Items::WOODEN_AXE()); + $result->register("wooden_hoe", fn() => Items::WOODEN_HOE()); + $result->register("wooden_pickaxe", fn() => Items::WOODEN_PICKAXE()); + $result->register("wooden_shovel", fn() => Items::WOODEN_SHOVEL()); + $result->register("wooden_sword", fn() => Items::WOODEN_SWORD()); + $result->register("writable_book", fn() => Items::WRITABLE_BOOK()); + $result->register("written_book", fn() => Items::WRITTEN_BOOK()); + $result->register("yellow_dye", fn() => Items::YELLOW_DYE()); + $result->register("zombie_head", fn() => Items::ZOMBIE_HEAD()); + $result->register("zombie_spawn_egg", fn() => Items::ZOMBIE_SPAWN_EGG()); return $result; } From 4ccae2d1de1abbe9e196f4c1920c205d9c09f945 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 26 May 2022 15:50:29 +0100 Subject: [PATCH 5/6] BlockFactory: use import aliases to reduce code width --- src/block/BlockFactory.php | 382 +++++++++++++++++++------------------ 1 file changed, 192 insertions(+), 190 deletions(-) diff --git a/src/block/BlockFactory.php b/src/block/BlockFactory.php index 18e608c23..fee183005 100644 --- a/src/block/BlockFactory.php +++ b/src/block/BlockFactory.php @@ -23,10 +23,12 @@ declare(strict_types=1); namespace pocketmine\block; +use pocketmine\block\BlockBreakInfo as BreakInfo; use pocketmine\block\BlockIdentifier as BID; use pocketmine\block\BlockIdentifierFlattened as BIDFlattened; use pocketmine\block\BlockLegacyIds as Ids; use pocketmine\block\BlockLegacyMetadata as Meta; +use pocketmine\block\BlockToolType as ToolType; use pocketmine\block\tile\Banner as TileBanner; use pocketmine\block\tile\Barrel as TileBarrel; use pocketmine\block\tile\Beacon as TileBeacon; @@ -112,184 +114,184 @@ class BlockFactory{ $this->blocksDirectSkyLight = \SplFixedArray::fromArray(array_fill(0, 1024 << Block::INTERNAL_METADATA_BITS, false)); $this->blastResistance = \SplFixedArray::fromArray(array_fill(0, 1024 << Block::INTERNAL_METADATA_BITS, 0.0)); - $railBreakInfo = new BlockBreakInfo(0.7); + $railBreakInfo = new BreakInfo(0.7); $this->registerAllMeta(new ActivatorRail(new BID(Ids::ACTIVATOR_RAIL, 0), "Activator Rail", $railBreakInfo)); - $this->registerAllMeta(new Air(new BID(Ids::AIR, 0), "Air", BlockBreakInfo::indestructible(-1.0))); - $this->registerAllMeta(new Anvil(new BID(Ids::ANVIL, 0), "Anvil", new BlockBreakInfo(5.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 6000.0))); - $this->registerAllMeta(new Bamboo(new BID(Ids::BAMBOO, 0), "Bamboo", new class(2.0 /* 1.0 in PC */, BlockToolType::AXE) extends BlockBreakInfo{ + $this->registerAllMeta(new Air(new BID(Ids::AIR, 0), "Air", BreakInfo::indestructible(-1.0))); + $this->registerAllMeta(new Anvil(new BID(Ids::ANVIL, 0), "Anvil", new BreakInfo(5.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 6000.0))); + $this->registerAllMeta(new Bamboo(new BID(Ids::BAMBOO, 0), "Bamboo", new class(2.0 /* 1.0 in PC */, ToolType::AXE) extends BreakInfo{ public function getBreakTime(Item $item) : float{ - if($item->getBlockToolType() === BlockToolType::SWORD){ + if($item->getBlockToolType() === ToolType::SWORD){ return 0.0; } return parent::getBreakTime($item); } })); - $this->registerAllMeta(new BambooSapling(new BID(Ids::BAMBOO_SAPLING, 0), "Bamboo Sapling", BlockBreakInfo::instant())); + $this->registerAllMeta(new BambooSapling(new BID(Ids::BAMBOO_SAPLING, 0), "Bamboo Sapling", BreakInfo::instant())); - $bannerBreakInfo = new BlockBreakInfo(1.0, BlockToolType::AXE); + $bannerBreakInfo = new BreakInfo(1.0, ToolType::AXE); $this->registerAllMeta(new FloorBanner(new BID(Ids::STANDING_BANNER, 0, ItemIds::BANNER, TileBanner::class), "Banner", $bannerBreakInfo)); $this->registerAllMeta(new WallBanner(new BID(Ids::WALL_BANNER, 0, ItemIds::BANNER, TileBanner::class), "Wall Banner", $bannerBreakInfo)); - $this->registerAllMeta(new Barrel(new BID(Ids::BARREL, 0, null, TileBarrel::class), "Barrel", new BlockBreakInfo(2.5, BlockToolType::AXE))); - $this->registerAllMeta(new Transparent(new BID(Ids::BARRIER, 0), "Barrier", BlockBreakInfo::indestructible())); - $this->registerAllMeta(new Beacon(new BID(Ids::BEACON, 0, null, TileBeacon::class), "Beacon", new BlockBreakInfo(3.0))); - $this->registerAllMeta(new Bed(new BID(Ids::BED_BLOCK, 0, ItemIds::BED, TileBed::class), "Bed Block", new BlockBreakInfo(0.2))); - $this->registerAllMeta(new Bedrock(new BID(Ids::BEDROCK, 0), "Bedrock", BlockBreakInfo::indestructible())); + $this->registerAllMeta(new Barrel(new BID(Ids::BARREL, 0, null, TileBarrel::class), "Barrel", new BreakInfo(2.5, ToolType::AXE))); + $this->registerAllMeta(new Transparent(new BID(Ids::BARRIER, 0), "Barrier", BreakInfo::indestructible())); + $this->registerAllMeta(new Beacon(new BID(Ids::BEACON, 0, null, TileBeacon::class), "Beacon", new BreakInfo(3.0))); + $this->registerAllMeta(new Bed(new BID(Ids::BED_BLOCK, 0, ItemIds::BED, TileBed::class), "Bed Block", new BreakInfo(0.2))); + $this->registerAllMeta(new Bedrock(new BID(Ids::BEDROCK, 0), "Bedrock", BreakInfo::indestructible())); - $this->registerAllMeta(new Beetroot(new BID(Ids::BEETROOT_BLOCK, 0), "Beetroot Block", BlockBreakInfo::instant())); - $this->registerAllMeta(new Bell(new BID(Ids::BELL, 0, null, TileBell::class), "Bell", new BlockBreakInfo(5.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new BlueIce(new BID(Ids::BLUE_ICE, 0), "Blue Ice", new BlockBreakInfo(2.8, BlockToolType::PICKAXE))); - $this->registerAllMeta(new BoneBlock(new BID(Ids::BONE_BLOCK, 0), "Bone Block", new BlockBreakInfo(2.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new Bookshelf(new BID(Ids::BOOKSHELF, 0), "Bookshelf", new BlockBreakInfo(1.5, BlockToolType::AXE))); - $this->registerAllMeta(new BrewingStand(new BID(Ids::BREWING_STAND_BLOCK, 0, ItemIds::BREWING_STAND, TileBrewingStand::class), "Brewing Stand", new BlockBreakInfo(0.5, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new Beetroot(new BID(Ids::BEETROOT_BLOCK, 0), "Beetroot Block", BreakInfo::instant())); + $this->registerAllMeta(new Bell(new BID(Ids::BELL, 0, null, TileBell::class), "Bell", new BreakInfo(5.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new BlueIce(new BID(Ids::BLUE_ICE, 0), "Blue Ice", new BreakInfo(2.8, ToolType::PICKAXE))); + $this->registerAllMeta(new BoneBlock(new BID(Ids::BONE_BLOCK, 0), "Bone Block", new BreakInfo(2.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new Bookshelf(new BID(Ids::BOOKSHELF, 0), "Bookshelf", new BreakInfo(1.5, ToolType::AXE))); + $this->registerAllMeta(new BrewingStand(new BID(Ids::BREWING_STAND_BLOCK, 0, ItemIds::BREWING_STAND, TileBrewingStand::class), "Brewing Stand", new BreakInfo(0.5, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $bricksBreakInfo = new BlockBreakInfo(2.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); + $bricksBreakInfo = new BreakInfo(2.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); $this->registerAllMeta(new Stair(new BID(Ids::BRICK_STAIRS, 0), "Brick Stairs", $bricksBreakInfo)); $this->registerAllMeta(new Opaque(new BID(Ids::BRICK_BLOCK, 0), "Bricks", $bricksBreakInfo)); - $this->registerAllMeta(new BrownMushroom(new BID(Ids::BROWN_MUSHROOM, 0), "Brown Mushroom", BlockBreakInfo::instant())); - $this->registerAllMeta(new Cactus(new BID(Ids::CACTUS, 0), "Cactus", new BlockBreakInfo(0.4))); - $this->registerAllMeta(new Cake(new BID(Ids::CAKE_BLOCK, 0, ItemIds::CAKE), "Cake", new BlockBreakInfo(0.5))); - $this->registerAllMeta(new Carrot(new BID(Ids::CARROTS, 0), "Carrot Block", BlockBreakInfo::instant())); + $this->registerAllMeta(new BrownMushroom(new BID(Ids::BROWN_MUSHROOM, 0), "Brown Mushroom", BreakInfo::instant())); + $this->registerAllMeta(new Cactus(new BID(Ids::CACTUS, 0), "Cactus", new BreakInfo(0.4))); + $this->registerAllMeta(new Cake(new BID(Ids::CAKE_BLOCK, 0, ItemIds::CAKE), "Cake", new BreakInfo(0.5))); + $this->registerAllMeta(new Carrot(new BID(Ids::CARROTS, 0), "Carrot Block", BreakInfo::instant())); - $chestBreakInfo = new BlockBreakInfo(2.5, BlockToolType::AXE); + $chestBreakInfo = new BreakInfo(2.5, ToolType::AXE); $this->registerAllMeta(new Chest(new BID(Ids::CHEST, 0, null, TileChest::class), "Chest", $chestBreakInfo)); - $this->registerAllMeta(new Clay(new BID(Ids::CLAY_BLOCK, 0), "Clay Block", new BlockBreakInfo(0.6, BlockToolType::SHOVEL))); - $this->registerAllMeta(new Coal(new BID(Ids::COAL_BLOCK, 0), "Coal Block", new BlockBreakInfo(5.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0))); - $this->registerAllMeta(new CoalOre(new BID(Ids::COAL_ORE, 0), "Coal Ore", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new Clay(new BID(Ids::CLAY_BLOCK, 0), "Clay Block", new BreakInfo(0.6, ToolType::SHOVEL))); + $this->registerAllMeta(new Coal(new BID(Ids::COAL_BLOCK, 0), "Coal Block", new BreakInfo(5.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0))); + $this->registerAllMeta(new CoalOre(new BID(Ids::COAL_ORE, 0), "Coal Ore", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $cobblestoneBreakInfo = new BlockBreakInfo(2.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); + $cobblestoneBreakInfo = new BreakInfo(2.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); $this->registerAllMeta($cobblestone = new Opaque(new BID(Ids::COBBLESTONE, 0), "Cobblestone", $cobblestoneBreakInfo)); $this->registerAllMeta(new Opaque(new BID(Ids::MOSSY_COBBLESTONE, 0), "Mossy Cobblestone", $cobblestoneBreakInfo)); $this->registerAllMeta(new Stair(new BID(Ids::COBBLESTONE_STAIRS, 0), "Cobblestone Stairs", $cobblestoneBreakInfo)); $this->registerAllMeta(new Stair(new BID(Ids::MOSSY_COBBLESTONE_STAIRS, 0), "Mossy Cobblestone Stairs", $cobblestoneBreakInfo)); - $this->registerAllMeta(new Cobweb(new BID(Ids::COBWEB, 0), "Cobweb", new BlockBreakInfo(4.0, BlockToolType::SWORD | BlockToolType::SHEARS, 1))); - $this->registerAllMeta(new CocoaBlock(new BID(Ids::COCOA, 0), "Cocoa Block", new BlockBreakInfo(0.2, BlockToolType::AXE, 0, 15.0))); - $this->registerAllMeta(new CoralBlock(new BID(Ids::CORAL_BLOCK, 0), "Coral Block", new BlockBreakInfo(7.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new CraftingTable(new BID(Ids::CRAFTING_TABLE, 0), "Crafting Table", new BlockBreakInfo(2.5, BlockToolType::AXE))); - $this->registerAllMeta(new DaylightSensor(new BIDFlattened(Ids::DAYLIGHT_DETECTOR, [Ids::DAYLIGHT_DETECTOR_INVERTED], 0, null, TileDaylightSensor::class), "Daylight Sensor", new BlockBreakInfo(0.2, BlockToolType::AXE))); - $this->registerAllMeta(new DeadBush(new BID(Ids::DEADBUSH, 0), "Dead Bush", BlockBreakInfo::instant(BlockToolType::SHEARS, 1))); + $this->registerAllMeta(new Cobweb(new BID(Ids::COBWEB, 0), "Cobweb", new BreakInfo(4.0, ToolType::SWORD | ToolType::SHEARS, 1))); + $this->registerAllMeta(new CocoaBlock(new BID(Ids::COCOA, 0), "Cocoa Block", new BreakInfo(0.2, ToolType::AXE, 0, 15.0))); + $this->registerAllMeta(new CoralBlock(new BID(Ids::CORAL_BLOCK, 0), "Coral Block", new BreakInfo(7.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new CraftingTable(new BID(Ids::CRAFTING_TABLE, 0), "Crafting Table", new BreakInfo(2.5, ToolType::AXE))); + $this->registerAllMeta(new DaylightSensor(new BIDFlattened(Ids::DAYLIGHT_DETECTOR, [Ids::DAYLIGHT_DETECTOR_INVERTED], 0, null, TileDaylightSensor::class), "Daylight Sensor", new BreakInfo(0.2, ToolType::AXE))); + $this->registerAllMeta(new DeadBush(new BID(Ids::DEADBUSH, 0), "Dead Bush", BreakInfo::instant(ToolType::SHEARS, 1))); $this->registerAllMeta(new DetectorRail(new BID(Ids::DETECTOR_RAIL, 0), "Detector Rail", $railBreakInfo)); - $this->registerAllMeta(new Opaque(new BID(Ids::DIAMOND_BLOCK, 0), "Diamond Block", new BlockBreakInfo(5.0, BlockToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel(), 30.0))); - $this->registerAllMeta(new DiamondOre(new BID(Ids::DIAMOND_ORE, 0), "Diamond Ore", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel()))); - $this->registerAllMeta(new Dirt(new BID(Ids::DIRT, 0), "Dirt", new BlockBreakInfo(0.5, BlockToolType::SHOVEL))); + $this->registerAllMeta(new Opaque(new BID(Ids::DIAMOND_BLOCK, 0), "Diamond Block", new BreakInfo(5.0, ToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel(), 30.0))); + $this->registerAllMeta(new DiamondOre(new BID(Ids::DIAMOND_ORE, 0), "Diamond Ore", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel()))); + $this->registerAllMeta(new Dirt(new BID(Ids::DIRT, 0), "Dirt", new BreakInfo(0.5, ToolType::SHOVEL))); $this->registerAllMeta( - new DoublePlant(new BID(Ids::DOUBLE_PLANT, Meta::DOUBLE_PLANT_SUNFLOWER), "Sunflower", BlockBreakInfo::instant()), - new DoublePlant(new BID(Ids::DOUBLE_PLANT, Meta::DOUBLE_PLANT_LILAC), "Lilac", BlockBreakInfo::instant()), - new DoublePlant(new BID(Ids::DOUBLE_PLANT, Meta::DOUBLE_PLANT_ROSE_BUSH), "Rose Bush", BlockBreakInfo::instant()), - new DoublePlant(new BID(Ids::DOUBLE_PLANT, Meta::DOUBLE_PLANT_PEONY), "Peony", BlockBreakInfo::instant()), - new DoubleTallGrass(new BID(Ids::DOUBLE_PLANT, Meta::DOUBLE_PLANT_TALLGRASS), "Double Tallgrass", BlockBreakInfo::instant(BlockToolType::SHEARS, 1)), - new DoubleTallGrass(new BID(Ids::DOUBLE_PLANT, Meta::DOUBLE_PLANT_LARGE_FERN), "Large Fern", BlockBreakInfo::instant(BlockToolType::SHEARS, 1)), + new DoublePlant(new BID(Ids::DOUBLE_PLANT, Meta::DOUBLE_PLANT_SUNFLOWER), "Sunflower", BreakInfo::instant()), + new DoublePlant(new BID(Ids::DOUBLE_PLANT, Meta::DOUBLE_PLANT_LILAC), "Lilac", BreakInfo::instant()), + new DoublePlant(new BID(Ids::DOUBLE_PLANT, Meta::DOUBLE_PLANT_ROSE_BUSH), "Rose Bush", BreakInfo::instant()), + new DoublePlant(new BID(Ids::DOUBLE_PLANT, Meta::DOUBLE_PLANT_PEONY), "Peony", BreakInfo::instant()), + new DoubleTallGrass(new BID(Ids::DOUBLE_PLANT, Meta::DOUBLE_PLANT_TALLGRASS), "Double Tallgrass", BreakInfo::instant(ToolType::SHEARS, 1)), + new DoubleTallGrass(new BID(Ids::DOUBLE_PLANT, Meta::DOUBLE_PLANT_LARGE_FERN), "Large Fern", BreakInfo::instant(ToolType::SHEARS, 1)), ); - $this->registerAllMeta(new DragonEgg(new BID(Ids::DRAGON_EGG, 0), "Dragon Egg", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new DriedKelp(new BID(Ids::DRIED_KELP_BLOCK, 0), "Dried Kelp Block", new BlockBreakInfo(0.5, BlockToolType::NONE, 0, 12.5))); - $this->registerAllMeta(new Opaque(new BID(Ids::EMERALD_BLOCK, 0), "Emerald Block", new BlockBreakInfo(5.0, BlockToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel(), 30.0))); - $this->registerAllMeta(new EmeraldOre(new BID(Ids::EMERALD_ORE, 0), "Emerald Ore", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel()))); - $this->registerAllMeta(new EnchantingTable(new BID(Ids::ENCHANTING_TABLE, 0, null, TileEnchantingTable::class), "Enchanting Table", new BlockBreakInfo(5.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 6000.0))); - $this->registerAllMeta(new EndPortalFrame(new BID(Ids::END_PORTAL_FRAME, 0), "End Portal Frame", BlockBreakInfo::indestructible())); - $this->registerAllMeta(new EndRod(new BID(Ids::END_ROD, 0), "End Rod", BlockBreakInfo::instant())); - $this->registerAllMeta(new Opaque(new BID(Ids::END_STONE, 0), "End Stone", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 45.0))); + $this->registerAllMeta(new DragonEgg(new BID(Ids::DRAGON_EGG, 0), "Dragon Egg", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new DriedKelp(new BID(Ids::DRIED_KELP_BLOCK, 0), "Dried Kelp Block", new BreakInfo(0.5, ToolType::NONE, 0, 12.5))); + $this->registerAllMeta(new Opaque(new BID(Ids::EMERALD_BLOCK, 0), "Emerald Block", new BreakInfo(5.0, ToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel(), 30.0))); + $this->registerAllMeta(new EmeraldOre(new BID(Ids::EMERALD_ORE, 0), "Emerald Ore", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel()))); + $this->registerAllMeta(new EnchantingTable(new BID(Ids::ENCHANTING_TABLE, 0, null, TileEnchantingTable::class), "Enchanting Table", new BreakInfo(5.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 6000.0))); + $this->registerAllMeta(new EndPortalFrame(new BID(Ids::END_PORTAL_FRAME, 0), "End Portal Frame", BreakInfo::indestructible())); + $this->registerAllMeta(new EndRod(new BID(Ids::END_ROD, 0), "End Rod", BreakInfo::instant())); + $this->registerAllMeta(new Opaque(new BID(Ids::END_STONE, 0), "End Stone", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 45.0))); - $endBrickBreakInfo = new BlockBreakInfo(0.8, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 4.0); + $endBrickBreakInfo = new BreakInfo(0.8, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 4.0); $this->registerAllMeta(new Opaque(new BID(Ids::END_BRICKS, 0), "End Stone Bricks", $endBrickBreakInfo)); $this->registerAllMeta(new Stair(new BID(Ids::END_BRICK_STAIRS, 0), "End Stone Brick Stairs", $endBrickBreakInfo)); - $this->registerAllMeta(new EnderChest(new BID(Ids::ENDER_CHEST, 0, null, TileEnderChest::class), "Ender Chest", new BlockBreakInfo(22.5, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 3000.0))); - $this->registerAllMeta(new Farmland(new BID(Ids::FARMLAND, 0), "Farmland", new BlockBreakInfo(0.6, BlockToolType::SHOVEL))); - $this->registerAllMeta(new Fire(new BID(Ids::FIRE, 0), "Fire Block", BlockBreakInfo::instant())); - $this->registerAllMeta(new FletchingTable(new BID(Ids::FLETCHING_TABLE, 0), "Fletching Table", new BlockBreakInfo(2.5, BlockToolType::AXE, 0, 2.5))); - $this->registerAllMeta(new Flower(new BID(Ids::DANDELION, 0), "Dandelion", BlockBreakInfo::instant())); + $this->registerAllMeta(new EnderChest(new BID(Ids::ENDER_CHEST, 0, null, TileEnderChest::class), "Ender Chest", new BreakInfo(22.5, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 3000.0))); + $this->registerAllMeta(new Farmland(new BID(Ids::FARMLAND, 0), "Farmland", new BreakInfo(0.6, ToolType::SHOVEL))); + $this->registerAllMeta(new Fire(new BID(Ids::FIRE, 0), "Fire Block", BreakInfo::instant())); + $this->registerAllMeta(new FletchingTable(new BID(Ids::FLETCHING_TABLE, 0), "Fletching Table", new BreakInfo(2.5, ToolType::AXE, 0, 2.5))); + $this->registerAllMeta(new Flower(new BID(Ids::DANDELION, 0), "Dandelion", BreakInfo::instant())); $this->registerAllMeta( - new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_POPPY), "Poppy", BlockBreakInfo::instant()), - new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_ALLIUM), "Allium", BlockBreakInfo::instant()), - new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_AZURE_BLUET), "Azure Bluet", BlockBreakInfo::instant()), - new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_BLUE_ORCHID), "Blue Orchid", BlockBreakInfo::instant()), - new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_CORNFLOWER), "Cornflower", BlockBreakInfo::instant()), - new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_LILY_OF_THE_VALLEY), "Lily of the Valley", BlockBreakInfo::instant()), - new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_ORANGE_TULIP), "Orange Tulip", BlockBreakInfo::instant()), - new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_OXEYE_DAISY), "Oxeye Daisy", BlockBreakInfo::instant()), - new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_PINK_TULIP), "Pink Tulip", BlockBreakInfo::instant()), - new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_RED_TULIP), "Red Tulip", BlockBreakInfo::instant()), - new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_WHITE_TULIP), "White Tulip", BlockBreakInfo::instant()), + new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_POPPY), "Poppy", BreakInfo::instant()), + new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_ALLIUM), "Allium", BreakInfo::instant()), + new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_AZURE_BLUET), "Azure Bluet", BreakInfo::instant()), + new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_BLUE_ORCHID), "Blue Orchid", BreakInfo::instant()), + new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_CORNFLOWER), "Cornflower", BreakInfo::instant()), + new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_LILY_OF_THE_VALLEY), "Lily of the Valley", BreakInfo::instant()), + new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_ORANGE_TULIP), "Orange Tulip", BreakInfo::instant()), + new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_OXEYE_DAISY), "Oxeye Daisy", BreakInfo::instant()), + new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_PINK_TULIP), "Pink Tulip", BreakInfo::instant()), + new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_RED_TULIP), "Red Tulip", BreakInfo::instant()), + new Flower(new BID(Ids::RED_FLOWER, Meta::FLOWER_WHITE_TULIP), "White Tulip", BreakInfo::instant()), ); - $this->registerAllMeta(new FlowerPot(new BID(Ids::FLOWER_POT_BLOCK, 0, ItemIds::FLOWER_POT, TileFlowerPot::class), "Flower Pot", BlockBreakInfo::instant())); - $this->registerAllMeta(new FrostedIce(new BID(Ids::FROSTED_ICE, 0), "Frosted Ice", new BlockBreakInfo(2.5, BlockToolType::PICKAXE))); - $this->registerAllMeta(new Furnace(new BIDFlattened(Ids::FURNACE, [Ids::LIT_FURNACE], 0, null, TileNormalFurnace::class), "Furnace", new BlockBreakInfo(3.5, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new Furnace(new BIDFlattened(Ids::BLAST_FURNACE, [Ids::LIT_BLAST_FURNACE], 0, null, TileBlastFurnace::class), "Blast Furnace", new BlockBreakInfo(3.5, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new Furnace(new BIDFlattened(Ids::SMOKER, [Ids::LIT_SMOKER], 0, null, TileSmoker::class), "Smoker", new BlockBreakInfo(3.5, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new FlowerPot(new BID(Ids::FLOWER_POT_BLOCK, 0, ItemIds::FLOWER_POT, TileFlowerPot::class), "Flower Pot", BreakInfo::instant())); + $this->registerAllMeta(new FrostedIce(new BID(Ids::FROSTED_ICE, 0), "Frosted Ice", new BreakInfo(2.5, ToolType::PICKAXE))); + $this->registerAllMeta(new Furnace(new BIDFlattened(Ids::FURNACE, [Ids::LIT_FURNACE], 0, null, TileNormalFurnace::class), "Furnace", new BreakInfo(3.5, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new Furnace(new BIDFlattened(Ids::BLAST_FURNACE, [Ids::LIT_BLAST_FURNACE], 0, null, TileBlastFurnace::class), "Blast Furnace", new BreakInfo(3.5, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new Furnace(new BIDFlattened(Ids::SMOKER, [Ids::LIT_SMOKER], 0, null, TileSmoker::class), "Smoker", new BreakInfo(3.5, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $glassBreakInfo = new BlockBreakInfo(0.3); + $glassBreakInfo = new BreakInfo(0.3); $this->registerAllMeta(new Glass(new BID(Ids::GLASS, 0), "Glass", $glassBreakInfo)); $this->registerAllMeta(new GlassPane(new BID(Ids::GLASS_PANE, 0), "Glass Pane", $glassBreakInfo)); - $this->registerAllMeta(new GlowingObsidian(new BID(Ids::GLOWINGOBSIDIAN, 0), "Glowing Obsidian", new BlockBreakInfo(10.0, BlockToolType::PICKAXE, ToolTier::DIAMOND()->getHarvestLevel(), 50.0))); - $this->registerAllMeta(new Glowstone(new BID(Ids::GLOWSTONE, 0), "Glowstone", new BlockBreakInfo(0.3, BlockToolType::PICKAXE))); - $this->registerAllMeta(new Opaque(new BID(Ids::GOLD_BLOCK, 0), "Gold Block", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel(), 30.0))); - $this->registerAllMeta(new Opaque(new BID(Ids::GOLD_ORE, 0), "Gold Ore", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel()))); + $this->registerAllMeta(new GlowingObsidian(new BID(Ids::GLOWINGOBSIDIAN, 0), "Glowing Obsidian", new BreakInfo(10.0, ToolType::PICKAXE, ToolTier::DIAMOND()->getHarvestLevel(), 50.0))); + $this->registerAllMeta(new Glowstone(new BID(Ids::GLOWSTONE, 0), "Glowstone", new BreakInfo(0.3, ToolType::PICKAXE))); + $this->registerAllMeta(new Opaque(new BID(Ids::GOLD_BLOCK, 0), "Gold Block", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel(), 30.0))); + $this->registerAllMeta(new Opaque(new BID(Ids::GOLD_ORE, 0), "Gold Ore", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel()))); - $grassBreakInfo = new BlockBreakInfo(0.6, BlockToolType::SHOVEL); + $grassBreakInfo = new BreakInfo(0.6, ToolType::SHOVEL); $this->registerAllMeta(new Grass(new BID(Ids::GRASS, 0), "Grass", $grassBreakInfo)); $this->registerAllMeta(new GrassPath(new BID(Ids::GRASS_PATH, 0), "Grass Path", $grassBreakInfo)); - $this->registerAllMeta(new Gravel(new BID(Ids::GRAVEL, 0), "Gravel", new BlockBreakInfo(0.6, BlockToolType::SHOVEL))); + $this->registerAllMeta(new Gravel(new BID(Ids::GRAVEL, 0), "Gravel", new BreakInfo(0.6, ToolType::SHOVEL))); - $hardenedClayBreakInfo = new BlockBreakInfo(1.25, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 21.0); + $hardenedClayBreakInfo = new BreakInfo(1.25, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 21.0); $this->registerAllMeta(new HardenedClay(new BID(Ids::HARDENED_CLAY, 0), "Hardened Clay", $hardenedClayBreakInfo)); - $hardenedGlassBreakInfo = new BlockBreakInfo(10.0); + $hardenedGlassBreakInfo = new BreakInfo(10.0); $this->registerAllMeta(new HardenedGlass(new BID(Ids::HARD_GLASS, 0), "Hardened Glass", $hardenedGlassBreakInfo)); $this->registerAllMeta(new HardenedGlassPane(new BID(Ids::HARD_GLASS_PANE, 0), "Hardened Glass Pane", $hardenedGlassBreakInfo)); - $this->registerAllMeta(new HayBale(new BID(Ids::HAY_BALE, 0), "Hay Bale", new BlockBreakInfo(0.5))); - $this->registerAllMeta(new Hopper(new BID(Ids::HOPPER_BLOCK, 0, ItemIds::HOPPER, TileHopper::class), "Hopper", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 15.0))); - $this->registerAllMeta(new Ice(new BID(Ids::ICE, 0), "Ice", new BlockBreakInfo(0.5, BlockToolType::PICKAXE))); + $this->registerAllMeta(new HayBale(new BID(Ids::HAY_BALE, 0), "Hay Bale", new BreakInfo(0.5))); + $this->registerAllMeta(new Hopper(new BID(Ids::HOPPER_BLOCK, 0, ItemIds::HOPPER, TileHopper::class), "Hopper", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 15.0))); + $this->registerAllMeta(new Ice(new BID(Ids::ICE, 0), "Ice", new BreakInfo(0.5, ToolType::PICKAXE))); - $updateBlockBreakInfo = new BlockBreakInfo(1.0); + $updateBlockBreakInfo = new BreakInfo(1.0); $this->registerAllMeta(new Opaque(new BID(Ids::INFO_UPDATE, 0), "update!", $updateBlockBreakInfo)); $this->registerAllMeta(new Opaque(new BID(Ids::INFO_UPDATE2, 0), "ate!upd", $updateBlockBreakInfo)); - $this->registerAllMeta(new Transparent(new BID(Ids::INVISIBLEBEDROCK, 0), "Invisible Bedrock", BlockBreakInfo::indestructible())); + $this->registerAllMeta(new Transparent(new BID(Ids::INVISIBLEBEDROCK, 0), "Invisible Bedrock", BreakInfo::indestructible())); - $ironBreakInfo = new BlockBreakInfo(5.0, BlockToolType::PICKAXE, ToolTier::STONE()->getHarvestLevel(), 30.0); + $ironBreakInfo = new BreakInfo(5.0, ToolType::PICKAXE, ToolTier::STONE()->getHarvestLevel(), 30.0); $this->registerAllMeta(new Opaque(new BID(Ids::IRON_BLOCK, 0), "Iron Block", $ironBreakInfo)); $this->registerAllMeta(new Thin(new BID(Ids::IRON_BARS, 0), "Iron Bars", $ironBreakInfo)); - $ironDoorBreakInfo = new BlockBreakInfo(5.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 25.0); + $ironDoorBreakInfo = new BreakInfo(5.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 25.0); $this->registerAllMeta(new Door(new BID(Ids::IRON_DOOR_BLOCK, 0, ItemIds::IRON_DOOR), "Iron Door", $ironDoorBreakInfo)); $this->registerAllMeta(new Trapdoor(new BID(Ids::IRON_TRAPDOOR, 0), "Iron Trapdoor", $ironDoorBreakInfo)); - $this->registerAllMeta(new Opaque(new BID(Ids::IRON_ORE, 0), "Iron Ore", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::STONE()->getHarvestLevel()))); - $this->registerAllMeta(new ItemFrame(new BID(Ids::FRAME_BLOCK, 0, ItemIds::FRAME, TileItemFrame::class), "Item Frame", new BlockBreakInfo(0.25))); - $this->registerAllMeta(new Jukebox(new BID(Ids::JUKEBOX, 0, ItemIds::JUKEBOX, TileJukebox::class), "Jukebox", new BlockBreakInfo(0.8, BlockToolType::AXE))); //TODO: in PC the hardness is 2.0, not 0.8, unsure if this is a MCPE bug or not - $this->registerAllMeta(new Ladder(new BID(Ids::LADDER, 0), "Ladder", new BlockBreakInfo(0.4, BlockToolType::AXE))); - $this->registerAllMeta(new Lantern(new BID(Ids::LANTERN, 0), "Lantern", new BlockBreakInfo(5.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new Opaque(new BID(Ids::LAPIS_BLOCK, 0), "Lapis Lazuli Block", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::STONE()->getHarvestLevel()))); - $this->registerAllMeta(new LapisOre(new BID(Ids::LAPIS_ORE, 0), "Lapis Lazuli Ore", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::STONE()->getHarvestLevel()))); - $this->registerAllMeta(new Lava(new BIDFlattened(Ids::FLOWING_LAVA, [Ids::STILL_LAVA], 0), "Lava", BlockBreakInfo::indestructible(500.0))); - $this->registerAllMeta(new Lectern(new BID(Ids::LECTERN, 0, ItemIds::LECTERN, TileLectern::class), "Lectern", new BlockBreakInfo(2.0, BlockToolType::AXE))); - $this->registerAllMeta(new Lever(new BID(Ids::LEVER, 0), "Lever", new BlockBreakInfo(0.5))); - $this->registerAllMeta(new Loom(new BID(Ids::LOOM, 0), "Loom", new BlockBreakInfo(2.5, BlockToolType::AXE))); - $this->registerAllMeta(new Magma(new BID(Ids::MAGMA, 0), "Magma Block", new BlockBreakInfo(0.5, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new Melon(new BID(Ids::MELON_BLOCK, 0), "Melon Block", new BlockBreakInfo(1.0, BlockToolType::AXE))); - $this->registerAllMeta(new MelonStem(new BID(Ids::MELON_STEM, 0, ItemIds::MELON_SEEDS), "Melon Stem", BlockBreakInfo::instant())); - $this->registerAllMeta(new MonsterSpawner(new BID(Ids::MOB_SPAWNER, 0, null, TileMonsterSpawner::class), "Monster Spawner", new BlockBreakInfo(5.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new Mycelium(new BID(Ids::MYCELIUM, 0), "Mycelium", new BlockBreakInfo(0.6, BlockToolType::SHOVEL))); + $this->registerAllMeta(new Opaque(new BID(Ids::IRON_ORE, 0), "Iron Ore", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::STONE()->getHarvestLevel()))); + $this->registerAllMeta(new ItemFrame(new BID(Ids::FRAME_BLOCK, 0, ItemIds::FRAME, TileItemFrame::class), "Item Frame", new BreakInfo(0.25))); + $this->registerAllMeta(new Jukebox(new BID(Ids::JUKEBOX, 0, ItemIds::JUKEBOX, TileJukebox::class), "Jukebox", new BreakInfo(0.8, ToolType::AXE))); //TODO: in PC the hardness is 2.0, not 0.8, unsure if this is a MCPE bug or not + $this->registerAllMeta(new Ladder(new BID(Ids::LADDER, 0), "Ladder", new BreakInfo(0.4, ToolType::AXE))); + $this->registerAllMeta(new Lantern(new BID(Ids::LANTERN, 0), "Lantern", new BreakInfo(5.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new Opaque(new BID(Ids::LAPIS_BLOCK, 0), "Lapis Lazuli Block", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::STONE()->getHarvestLevel()))); + $this->registerAllMeta(new LapisOre(new BID(Ids::LAPIS_ORE, 0), "Lapis Lazuli Ore", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::STONE()->getHarvestLevel()))); + $this->registerAllMeta(new Lava(new BIDFlattened(Ids::FLOWING_LAVA, [Ids::STILL_LAVA], 0), "Lava", BreakInfo::indestructible(500.0))); + $this->registerAllMeta(new Lectern(new BID(Ids::LECTERN, 0, ItemIds::LECTERN, TileLectern::class), "Lectern", new BreakInfo(2.0, ToolType::AXE))); + $this->registerAllMeta(new Lever(new BID(Ids::LEVER, 0), "Lever", new BreakInfo(0.5))); + $this->registerAllMeta(new Loom(new BID(Ids::LOOM, 0), "Loom", new BreakInfo(2.5, ToolType::AXE))); + $this->registerAllMeta(new Magma(new BID(Ids::MAGMA, 0), "Magma Block", new BreakInfo(0.5, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new Melon(new BID(Ids::MELON_BLOCK, 0), "Melon Block", new BreakInfo(1.0, ToolType::AXE))); + $this->registerAllMeta(new MelonStem(new BID(Ids::MELON_STEM, 0, ItemIds::MELON_SEEDS), "Melon Stem", BreakInfo::instant())); + $this->registerAllMeta(new MonsterSpawner(new BID(Ids::MOB_SPAWNER, 0, null, TileMonsterSpawner::class), "Monster Spawner", new BreakInfo(5.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new Mycelium(new BID(Ids::MYCELIUM, 0), "Mycelium", new BreakInfo(0.6, ToolType::SHOVEL))); - $netherBrickBreakInfo = new BlockBreakInfo(2.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); + $netherBrickBreakInfo = new BreakInfo(2.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); $this->registerAllMeta(new Opaque(new BID(Ids::NETHER_BRICK_BLOCK, 0), "Nether Bricks", $netherBrickBreakInfo)); $this->registerAllMeta(new Opaque(new BID(Ids::RED_NETHER_BRICK, 0), "Red Nether Bricks", $netherBrickBreakInfo)); $this->registerAllMeta(new Fence(new BID(Ids::NETHER_BRICK_FENCE, 0), "Nether Brick Fence", $netherBrickBreakInfo)); $this->registerAllMeta(new Stair(new BID(Ids::NETHER_BRICK_STAIRS, 0), "Nether Brick Stairs", $netherBrickBreakInfo)); $this->registerAllMeta(new Stair(new BID(Ids::RED_NETHER_BRICK_STAIRS, 0), "Red Nether Brick Stairs", $netherBrickBreakInfo)); - $this->registerAllMeta(new NetherPortal(new BID(Ids::PORTAL, 0), "Nether Portal", BlockBreakInfo::indestructible(0.0))); - $this->registerAllMeta(new NetherQuartzOre(new BID(Ids::NETHER_QUARTZ_ORE, 0), "Nether Quartz Ore", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new NetherReactor(new BID(Ids::NETHERREACTOR, 0), "Nether Reactor Core", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new Opaque(new BID(Ids::NETHER_WART_BLOCK, 0), "Nether Wart Block", new BlockBreakInfo(1.0, BlockToolType::HOE))); - $this->registerAllMeta(new NetherWartPlant(new BID(Ids::NETHER_WART_PLANT, 0, ItemIds::NETHER_WART), "Nether Wart", BlockBreakInfo::instant())); - $this->registerAllMeta(new Netherrack(new BID(Ids::NETHERRACK, 0), "Netherrack", new BlockBreakInfo(0.4, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new Note(new BID(Ids::NOTEBLOCK, 0, null, TileNote::class), "Note Block", new BlockBreakInfo(0.8, BlockToolType::AXE))); - $this->registerAllMeta(new Opaque(new BID(Ids::OBSIDIAN, 0), "Obsidian", new BlockBreakInfo(35.0 /* 50 in PC */, BlockToolType::PICKAXE, ToolTier::DIAMOND()->getHarvestLevel(), 6000.0))); - $this->registerAllMeta(new PackedIce(new BID(Ids::PACKED_ICE, 0), "Packed Ice", new BlockBreakInfo(0.5, BlockToolType::PICKAXE))); - $this->registerAllMeta(new Podzol(new BID(Ids::PODZOL, 0), "Podzol", new BlockBreakInfo(0.5, BlockToolType::SHOVEL))); - $this->registerAllMeta(new Potato(new BID(Ids::POTATOES, 0), "Potato Block", BlockBreakInfo::instant())); + $this->registerAllMeta(new NetherPortal(new BID(Ids::PORTAL, 0), "Nether Portal", BreakInfo::indestructible(0.0))); + $this->registerAllMeta(new NetherQuartzOre(new BID(Ids::NETHER_QUARTZ_ORE, 0), "Nether Quartz Ore", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new NetherReactor(new BID(Ids::NETHERREACTOR, 0), "Nether Reactor Core", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new Opaque(new BID(Ids::NETHER_WART_BLOCK, 0), "Nether Wart Block", new BreakInfo(1.0, ToolType::HOE))); + $this->registerAllMeta(new NetherWartPlant(new BID(Ids::NETHER_WART_PLANT, 0, ItemIds::NETHER_WART), "Nether Wart", BreakInfo::instant())); + $this->registerAllMeta(new Netherrack(new BID(Ids::NETHERRACK, 0), "Netherrack", new BreakInfo(0.4, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new Note(new BID(Ids::NOTEBLOCK, 0, null, TileNote::class), "Note Block", new BreakInfo(0.8, ToolType::AXE))); + $this->registerAllMeta(new Opaque(new BID(Ids::OBSIDIAN, 0), "Obsidian", new BreakInfo(35.0 /* 50 in PC */, ToolType::PICKAXE, ToolTier::DIAMOND()->getHarvestLevel(), 6000.0))); + $this->registerAllMeta(new PackedIce(new BID(Ids::PACKED_ICE, 0), "Packed Ice", new BreakInfo(0.5, ToolType::PICKAXE))); + $this->registerAllMeta(new Podzol(new BID(Ids::PODZOL, 0), "Podzol", new BreakInfo(0.5, ToolType::SHOVEL))); + $this->registerAllMeta(new Potato(new BID(Ids::POTATOES, 0), "Potato Block", BreakInfo::instant())); $this->registerAllMeta(new PoweredRail(new BID(Ids::GOLDEN_RAIL, 0), "Powered Rail", $railBreakInfo)); - $prismarineBreakInfo = new BlockBreakInfo(1.5, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); + $prismarineBreakInfo = new BreakInfo(1.5, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); $this->registerAllMeta( new Opaque(new BID(Ids::PRISMARINE, Meta::PRISMARINE_NORMAL), "Prismarine", $prismarineBreakInfo), new Opaque(new BID(Ids::PRISMARINE, Meta::PRISMARINE_DARK), "Dark Prismarine", $prismarineBreakInfo), @@ -299,21 +301,21 @@ class BlockFactory{ $this->registerAllMeta(new Stair(new BID(Ids::DARK_PRISMARINE_STAIRS, 0), "Dark Prismarine Stairs", $prismarineBreakInfo)); $this->registerAllMeta(new Stair(new BID(Ids::PRISMARINE_STAIRS, 0), "Prismarine Stairs", $prismarineBreakInfo)); - $pumpkinBreakInfo = new BlockBreakInfo(1.0, BlockToolType::AXE); + $pumpkinBreakInfo = new BreakInfo(1.0, ToolType::AXE); $this->registerAllMeta(new Pumpkin(new BID(Ids::PUMPKIN, 0), "Pumpkin", $pumpkinBreakInfo)); $this->registerAllMeta(new CarvedPumpkin(new BID(Ids::CARVED_PUMPKIN, 0), "Carved Pumpkin", $pumpkinBreakInfo)); $this->registerAllMeta(new LitPumpkin(new BID(Ids::JACK_O_LANTERN, 0), "Jack o'Lantern", $pumpkinBreakInfo)); - $this->registerAllMeta(new PumpkinStem(new BID(Ids::PUMPKIN_STEM, 0, ItemIds::PUMPKIN_SEEDS), "Pumpkin Stem", BlockBreakInfo::instant())); + $this->registerAllMeta(new PumpkinStem(new BID(Ids::PUMPKIN_STEM, 0, ItemIds::PUMPKIN_SEEDS), "Pumpkin Stem", BreakInfo::instant())); - $purpurBreakInfo = new BlockBreakInfo(1.5, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); + $purpurBreakInfo = new BreakInfo(1.5, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); $this->registerAllMeta( new Opaque(new BID(Ids::PURPUR_BLOCK, Meta::PURPUR_NORMAL), "Purpur Block", $purpurBreakInfo), new SimplePillar(new BID(Ids::PURPUR_BLOCK, Meta::PURPUR_PILLAR), "Purpur Pillar", $purpurBreakInfo) ); $this->registerAllMeta(new Stair(new BID(Ids::PURPUR_STAIRS, 0), "Purpur Stairs", $purpurBreakInfo)); - $quartzBreakInfo = new BlockBreakInfo(0.8, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()); + $quartzBreakInfo = new BreakInfo(0.8, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()); $this->registerAllMeta( new Opaque(new BID(Ids::QUARTZ_BLOCK, Meta::QUARTZ_NORMAL), "Quartz Block", $quartzBreakInfo), new SimplePillar(new BID(Ids::QUARTZ_BLOCK, Meta::QUARTZ_CHISELED), "Chiseled Quartz Block", $quartzBreakInfo), @@ -324,33 +326,33 @@ class BlockFactory{ $this->registerAllMeta(new Stair(new BID(Ids::SMOOTH_QUARTZ_STAIRS, 0), "Smooth Quartz Stairs", $quartzBreakInfo)); $this->registerAllMeta(new Rail(new BID(Ids::RAIL, 0), "Rail", $railBreakInfo)); - $this->registerAllMeta(new RedMushroom(new BID(Ids::RED_MUSHROOM, 0), "Red Mushroom", BlockBreakInfo::instant())); - $this->registerAllMeta(new Redstone(new BID(Ids::REDSTONE_BLOCK, 0), "Redstone Block", new BlockBreakInfo(5.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0))); - $this->registerAllMeta(new RedstoneComparator(new BIDFlattened(Ids::UNPOWERED_COMPARATOR, [Ids::POWERED_COMPARATOR], 0, ItemIds::COMPARATOR, TileComparator::class), "Redstone Comparator", BlockBreakInfo::instant())); - $this->registerAllMeta(new RedstoneLamp(new BIDFlattened(Ids::REDSTONE_LAMP, [Ids::LIT_REDSTONE_LAMP], 0), "Redstone Lamp", new BlockBreakInfo(0.3))); - $this->registerAllMeta(new RedstoneOre(new BIDFlattened(Ids::REDSTONE_ORE, [Ids::LIT_REDSTONE_ORE], 0), "Redstone Ore", new BlockBreakInfo(3.0, BlockToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel()))); - $this->registerAllMeta(new RedstoneRepeater(new BIDFlattened(Ids::UNPOWERED_REPEATER, [Ids::POWERED_REPEATER], 0, ItemIds::REPEATER), "Redstone Repeater", BlockBreakInfo::instant())); - $this->registerAllMeta(new RedstoneTorch(new BIDFlattened(Ids::REDSTONE_TORCH, [Ids::UNLIT_REDSTONE_TORCH], 0), "Redstone Torch", BlockBreakInfo::instant())); - $this->registerAllMeta(new RedstoneWire(new BID(Ids::REDSTONE_WIRE, 0, ItemIds::REDSTONE), "Redstone", BlockBreakInfo::instant())); - $this->registerAllMeta(new Reserved6(new BID(Ids::RESERVED6, 0), "reserved6", BlockBreakInfo::instant())); + $this->registerAllMeta(new RedMushroom(new BID(Ids::RED_MUSHROOM, 0), "Red Mushroom", BreakInfo::instant())); + $this->registerAllMeta(new Redstone(new BID(Ids::REDSTONE_BLOCK, 0), "Redstone Block", new BreakInfo(5.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0))); + $this->registerAllMeta(new RedstoneComparator(new BIDFlattened(Ids::UNPOWERED_COMPARATOR, [Ids::POWERED_COMPARATOR], 0, ItemIds::COMPARATOR, TileComparator::class), "Redstone Comparator", BreakInfo::instant())); + $this->registerAllMeta(new RedstoneLamp(new BIDFlattened(Ids::REDSTONE_LAMP, [Ids::LIT_REDSTONE_LAMP], 0), "Redstone Lamp", new BreakInfo(0.3))); + $this->registerAllMeta(new RedstoneOre(new BIDFlattened(Ids::REDSTONE_ORE, [Ids::LIT_REDSTONE_ORE], 0), "Redstone Ore", new BreakInfo(3.0, ToolType::PICKAXE, ToolTier::IRON()->getHarvestLevel()))); + $this->registerAllMeta(new RedstoneRepeater(new BIDFlattened(Ids::UNPOWERED_REPEATER, [Ids::POWERED_REPEATER], 0, ItemIds::REPEATER), "Redstone Repeater", BreakInfo::instant())); + $this->registerAllMeta(new RedstoneTorch(new BIDFlattened(Ids::REDSTONE_TORCH, [Ids::UNLIT_REDSTONE_TORCH], 0), "Redstone Torch", BreakInfo::instant())); + $this->registerAllMeta(new RedstoneWire(new BID(Ids::REDSTONE_WIRE, 0, ItemIds::REDSTONE), "Redstone", BreakInfo::instant())); + $this->registerAllMeta(new Reserved6(new BID(Ids::RESERVED6, 0), "reserved6", BreakInfo::instant())); - $sandBreakInfo = new BlockBreakInfo(0.5, BlockToolType::SHOVEL); + $sandBreakInfo = new BreakInfo(0.5, ToolType::SHOVEL); $this->registerAllMeta( new Sand(new BID(Ids::SAND, 0), "Sand", $sandBreakInfo), new Sand(new BID(Ids::SAND, 1), "Red Sand", $sandBreakInfo) ); - $this->registerAllMeta(new SeaLantern(new BID(Ids::SEALANTERN, 0), "Sea Lantern", new BlockBreakInfo(0.3))); - $this->registerAllMeta(new SeaPickle(new BID(Ids::SEA_PICKLE, 0), "Sea Pickle", BlockBreakInfo::instant())); - $this->registerAllMeta(new Skull(new BID(Ids::MOB_HEAD_BLOCK, 0, ItemIds::SKULL, TileSkull::class), "Mob Head", new BlockBreakInfo(1.0))); - $this->registerAllMeta(new Slime(new BID(Ids::SLIME, 0), "Slime Block", BlockBreakInfo::instant())); - $this->registerAllMeta(new Snow(new BID(Ids::SNOW, 0), "Snow Block", new BlockBreakInfo(0.2, BlockToolType::SHOVEL, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new SnowLayer(new BID(Ids::SNOW_LAYER, 0), "Snow Layer", new BlockBreakInfo(0.1, BlockToolType::SHOVEL, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new SoulSand(new BID(Ids::SOUL_SAND, 0), "Soul Sand", new BlockBreakInfo(0.5, BlockToolType::SHOVEL))); - $this->registerAllMeta(new Sponge(new BID(Ids::SPONGE, 0), "Sponge", new BlockBreakInfo(0.6, BlockToolType::HOE))); - $shulkerBoxBreakInfo = new BlockBreakInfo(2, BlockToolType::PICKAXE); + $this->registerAllMeta(new SeaLantern(new BID(Ids::SEALANTERN, 0), "Sea Lantern", new BreakInfo(0.3))); + $this->registerAllMeta(new SeaPickle(new BID(Ids::SEA_PICKLE, 0), "Sea Pickle", BreakInfo::instant())); + $this->registerAllMeta(new Skull(new BID(Ids::MOB_HEAD_BLOCK, 0, ItemIds::SKULL, TileSkull::class), "Mob Head", new BreakInfo(1.0))); + $this->registerAllMeta(new Slime(new BID(Ids::SLIME, 0), "Slime Block", BreakInfo::instant())); + $this->registerAllMeta(new Snow(new BID(Ids::SNOW, 0), "Snow Block", new BreakInfo(0.2, ToolType::SHOVEL, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new SnowLayer(new BID(Ids::SNOW_LAYER, 0), "Snow Layer", new BreakInfo(0.1, ToolType::SHOVEL, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new SoulSand(new BID(Ids::SOUL_SAND, 0), "Soul Sand", new BreakInfo(0.5, ToolType::SHOVEL))); + $this->registerAllMeta(new Sponge(new BID(Ids::SPONGE, 0), "Sponge", new BreakInfo(0.6, ToolType::HOE))); + $shulkerBoxBreakInfo = new BreakInfo(2, ToolType::PICKAXE); $this->registerAllMeta(new ShulkerBox(new BID(Ids::UNDYED_SHULKER_BOX, 0, null, TileShulkerBox::class), "Shulker Box", $shulkerBoxBreakInfo)); - $stoneBreakInfo = new BlockBreakInfo(1.5, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); + $stoneBreakInfo = new BreakInfo(1.5, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); $this->registerAllMeta( $stone = new class(new BID(Ids::STONE, Meta::STONE_NORMAL), "Stone", $stoneBreakInfo) extends Opaque{ public function getDropsForCompatibleTool(Item $item) : array{ @@ -374,7 +376,7 @@ class BlockFactory{ $crackedStoneBrick = new Opaque(new BID(Ids::STONEBRICK, Meta::STONE_BRICK_CRACKED), "Cracked Stone Bricks", $stoneBreakInfo), $chiseledStoneBrick = new Opaque(new BID(Ids::STONEBRICK, Meta::STONE_BRICK_CHISELED), "Chiseled Stone Bricks", $stoneBreakInfo) ); - $infestedStoneBreakInfo = new BlockBreakInfo(0.75, BlockToolType::PICKAXE); + $infestedStoneBreakInfo = new BreakInfo(0.75, ToolType::PICKAXE); $this->registerAllMeta( new InfestedStone(new BID(Ids::MONSTER_EGG, Meta::INFESTED_STONE), "Infested Stone", $infestedStoneBreakInfo, $stone), new InfestedStone(new BID(Ids::MONSTER_EGG, Meta::INFESTED_STONE_BRICK), "Infested Stone Brick", $infestedStoneBreakInfo, $stoneBrick), @@ -393,12 +395,12 @@ class BlockFactory{ $this->registerAllMeta(new Stair(new BID(Ids::POLISHED_GRANITE_STAIRS, 0), "Polished Granite Stairs", $stoneBreakInfo)); $this->registerAllMeta(new Stair(new BID(Ids::STONE_BRICK_STAIRS, 0), "Stone Brick Stairs", $stoneBreakInfo)); $this->registerAllMeta(new Stair(new BID(Ids::MOSSY_STONE_BRICK_STAIRS, 0), "Mossy Stone Brick Stairs", $stoneBreakInfo)); - $this->registerAllMeta(new StoneButton(new BID(Ids::STONE_BUTTON, 0), "Stone Button", new BlockBreakInfo(0.5, BlockToolType::PICKAXE))); - $this->registerAllMeta(new Stonecutter(new BID(Ids::STONECUTTER_BLOCK, 0, ItemIds::STONECUTTER_BLOCK), "Stonecutter", new BlockBreakInfo(3.5, BlockToolType::PICKAXE))); - $this->registerAllMeta(new StonePressurePlate(new BID(Ids::STONE_PRESSURE_PLATE, 0), "Stone Pressure Plate", new BlockBreakInfo(0.5, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new StoneButton(new BID(Ids::STONE_BUTTON, 0), "Stone Button", new BreakInfo(0.5, ToolType::PICKAXE))); + $this->registerAllMeta(new Stonecutter(new BID(Ids::STONECUTTER_BLOCK, 0, ItemIds::STONECUTTER_BLOCK), "Stonecutter", new BreakInfo(3.5, ToolType::PICKAXE))); + $this->registerAllMeta(new StonePressurePlate(new BID(Ids::STONE_PRESSURE_PLATE, 0), "Stone Pressure Plate", new BreakInfo(0.5, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); //TODO: in the future this won't be the same for all the types - $stoneSlabBreakInfo = new BlockBreakInfo(2.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); + $stoneSlabBreakInfo = new BreakInfo(2.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); $getStoneSlabId = static fn(int $stoneSlabId, int $meta) => BlockLegacyIdHelper::getStoneSlabIdentifier($stoneSlabId, $meta); foreach([ @@ -435,50 +437,50 @@ class BlockFactory{ $this->registerSlabWithDoubleHighBitsRemapping($slabType); } - $this->registerAllMeta(new Opaque(new BID(Ids::STONECUTTER, 0), "Legacy Stonecutter", new BlockBreakInfo(3.5, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new Sugarcane(new BID(Ids::REEDS_BLOCK, 0, ItemIds::REEDS), "Sugarcane", BlockBreakInfo::instant())); - $this->registerAllMeta(new SweetBerryBush(new BID(Ids::SWEET_BERRY_BUSH, 0, ItemIds::SWEET_BERRIES), "Sweet Berry Bush", BlockBreakInfo::instant())); - $this->registerAllMeta(new TNT(new BID(Ids::TNT, 0), "TNT", BlockBreakInfo::instant())); + $this->registerAllMeta(new Opaque(new BID(Ids::STONECUTTER, 0), "Legacy Stonecutter", new BreakInfo(3.5, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new Sugarcane(new BID(Ids::REEDS_BLOCK, 0, ItemIds::REEDS), "Sugarcane", BreakInfo::instant())); + $this->registerAllMeta(new SweetBerryBush(new BID(Ids::SWEET_BERRY_BUSH, 0, ItemIds::SWEET_BERRIES), "Sweet Berry Bush", BreakInfo::instant())); + $this->registerAllMeta(new TNT(new BID(Ids::TNT, 0), "TNT", BreakInfo::instant())); $this->registerAllMeta( - new TallGrass(new BID(Ids::TALLGRASS, Meta::TALLGRASS_FERN), "Fern", BlockBreakInfo::instant(BlockToolType::SHEARS, 1)), - new TallGrass(new BID(Ids::TALLGRASS, Meta::TALLGRASS_NORMAL), "Tall Grass", BlockBreakInfo::instant(BlockToolType::SHEARS, 1)) + new TallGrass(new BID(Ids::TALLGRASS, Meta::TALLGRASS_FERN), "Fern", BreakInfo::instant(ToolType::SHEARS, 1)), + new TallGrass(new BID(Ids::TALLGRASS, Meta::TALLGRASS_NORMAL), "Tall Grass", BreakInfo::instant(ToolType::SHEARS, 1)) ); $this->registerAllMeta( - new Torch(new BID(Ids::COLORED_TORCH_BP, 0), "Blue Torch", BlockBreakInfo::instant()), - new Torch(new BID(Ids::COLORED_TORCH_BP, 8), "Purple Torch", BlockBreakInfo::instant()) + new Torch(new BID(Ids::COLORED_TORCH_BP, 0), "Blue Torch", BreakInfo::instant()), + new Torch(new BID(Ids::COLORED_TORCH_BP, 8), "Purple Torch", BreakInfo::instant()) ); $this->registerAllMeta( - new Torch(new BID(Ids::COLORED_TORCH_RG, 0), "Red Torch", BlockBreakInfo::instant()), - new Torch(new BID(Ids::COLORED_TORCH_RG, 8), "Green Torch", BlockBreakInfo::instant()) + new Torch(new BID(Ids::COLORED_TORCH_RG, 0), "Red Torch", BreakInfo::instant()), + new Torch(new BID(Ids::COLORED_TORCH_RG, 8), "Green Torch", BreakInfo::instant()) ); - $this->registerAllMeta(new Torch(new BID(Ids::TORCH, 0), "Torch", BlockBreakInfo::instant())); + $this->registerAllMeta(new Torch(new BID(Ids::TORCH, 0), "Torch", BreakInfo::instant())); $this->registerAllMeta(new TrappedChest(new BID(Ids::TRAPPED_CHEST, 0, null, TileChest::class), "Trapped Chest", $chestBreakInfo)); - $this->registerAllMeta(new Tripwire(new BID(Ids::TRIPWIRE, 0, ItemIds::STRING), "Tripwire", BlockBreakInfo::instant())); - $this->registerAllMeta(new TripwireHook(new BID(Ids::TRIPWIRE_HOOK, 0), "Tripwire Hook", BlockBreakInfo::instant())); - $this->registerAllMeta(new UnderwaterTorch(new BID(Ids::UNDERWATER_TORCH, 0), "Underwater Torch", BlockBreakInfo::instant())); - $this->registerAllMeta(new Vine(new BID(Ids::VINE, 0), "Vines", new BlockBreakInfo(0.2, BlockToolType::AXE))); - $this->registerAllMeta(new Water(new BIDFlattened(Ids::FLOWING_WATER, [Ids::STILL_WATER], 0), "Water", BlockBreakInfo::indestructible(500.0))); - $this->registerAllMeta(new WaterLily(new BID(Ids::LILY_PAD, 0), "Lily Pad", BlockBreakInfo::instant())); + $this->registerAllMeta(new Tripwire(new BID(Ids::TRIPWIRE, 0, ItemIds::STRING), "Tripwire", BreakInfo::instant())); + $this->registerAllMeta(new TripwireHook(new BID(Ids::TRIPWIRE_HOOK, 0), "Tripwire Hook", BreakInfo::instant())); + $this->registerAllMeta(new UnderwaterTorch(new BID(Ids::UNDERWATER_TORCH, 0), "Underwater Torch", BreakInfo::instant())); + $this->registerAllMeta(new Vine(new BID(Ids::VINE, 0), "Vines", new BreakInfo(0.2, ToolType::AXE))); + $this->registerAllMeta(new Water(new BIDFlattened(Ids::FLOWING_WATER, [Ids::STILL_WATER], 0), "Water", BreakInfo::indestructible(500.0))); + $this->registerAllMeta(new WaterLily(new BID(Ids::LILY_PAD, 0), "Lily Pad", BreakInfo::instant())); - $weightedPressurePlateBreakInfo = new BlockBreakInfo(0.5, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()); + $weightedPressurePlateBreakInfo = new BreakInfo(0.5, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()); $this->registerAllMeta(new WeightedPressurePlateHeavy(new BID(Ids::HEAVY_WEIGHTED_PRESSURE_PLATE, 0), "Weighted Pressure Plate Heavy", $weightedPressurePlateBreakInfo)); $this->registerAllMeta(new WeightedPressurePlateLight(new BID(Ids::LIGHT_WEIGHTED_PRESSURE_PLATE, 0), "Weighted Pressure Plate Light", $weightedPressurePlateBreakInfo)); - $this->registerAllMeta(new Wheat(new BID(Ids::WHEAT_BLOCK, 0), "Wheat Block", BlockBreakInfo::instant())); + $this->registerAllMeta(new Wheat(new BID(Ids::WHEAT_BLOCK, 0), "Wheat Block", BreakInfo::instant())); - $planksBreakInfo = new BlockBreakInfo(2.0, BlockToolType::AXE, 0, 15.0); - $leavesBreakInfo = new class(0.2, BlockToolType::HOE) extends BlockBreakInfo{ + $planksBreakInfo = new BreakInfo(2.0, ToolType::AXE, 0, 15.0); + $leavesBreakInfo = new class(0.2, ToolType::HOE) extends BreakInfo{ public function getBreakTime(Item $item) : float{ - if($item->getBlockToolType() === BlockToolType::SHEARS){ + if($item->getBlockToolType() === ToolType::SHEARS){ return 0.0; } return parent::getBreakTime($item); } }; - $signBreakInfo = new BlockBreakInfo(1.0, BlockToolType::AXE); - $logBreakInfo = new BlockBreakInfo(2.0, BlockToolType::AXE); - $woodenDoorBreakInfo = new BlockBreakInfo(3.0, BlockToolType::AXE, 0, 15.0); - $woodenButtonBreakInfo = new BlockBreakInfo(0.5, BlockToolType::AXE); - $woodenPressurePlateBreakInfo = new BlockBreakInfo(0.5, BlockToolType::AXE); + $signBreakInfo = new BreakInfo(1.0, ToolType::AXE); + $logBreakInfo = new BreakInfo(2.0, ToolType::AXE); + $woodenDoorBreakInfo = new BreakInfo(3.0, ToolType::AXE, 0, 15.0); + $woodenButtonBreakInfo = new BreakInfo(0.5, ToolType::AXE); + $woodenPressurePlateBreakInfo = new BreakInfo(0.5, ToolType::AXE); $planks = []; $saplings = []; @@ -489,7 +491,7 @@ class BlockFactory{ $magicNumber = $treeType->getMagicNumber(); $name = $treeType->getDisplayName(); $planks[] = new Planks(new BID(Ids::PLANKS, $magicNumber), $name . " Planks", $planksBreakInfo); - $saplings[] = new Sapling(new BID(Ids::SAPLING, $magicNumber), $name . " Sapling", BlockBreakInfo::instant(), $treeType); + $saplings[] = new Sapling(new BID(Ids::SAPLING, $magicNumber), $name . " Sapling", BreakInfo::instant(), $treeType); $fences[] = new WoodenFence(new BID(Ids::FENCE, $magicNumber), $name . " Fence", $planksBreakInfo); $this->registerSlabWithDoubleHighBitsRemapping(new WoodenSlab(new BIDFlattened(Ids::WOODEN_SLAB, [Ids::DOUBLE_WOODEN_SLAB], $magicNumber), $name, $planksBreakInfo)); @@ -527,7 +529,7 @@ class BlockFactory{ Meta::SANDSTONE_CUT => "Cut ", Meta::SANDSTONE_SMOOTH => "Smooth " ]; - $sandstoneBreakInfo = new BlockBreakInfo(0.8, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()); + $sandstoneBreakInfo = new BreakInfo(0.8, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()); $this->registerAllMeta(new Stair(new BID(Ids::RED_SANDSTONE_STAIRS, 0), "Red Sandstone Stairs", $sandstoneBreakInfo)); $this->registerAllMeta(new Stair(new BID(Ids::SMOOTH_RED_SANDSTONE_STAIRS, 0), "Smooth Red Sandstone Stairs", $sandstoneBreakInfo)); $this->registerAllMeta(new Stair(new BID(Ids::SANDSTONE_STAIRS, 0), "Sandstone Stairs", $sandstoneBreakInfo)); @@ -541,7 +543,7 @@ class BlockFactory{ $this->registerAllMeta(...$sandstones); $this->registerAllMeta(...$redSandstones); - $glazedTerracottaBreakInfo = new BlockBreakInfo(1.4, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()); + $glazedTerracottaBreakInfo = new BreakInfo(1.4, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()); foreach(DyeColor::getAll() as $color){ $coloredName = function(string $name) use($color) : string{ return $color->getDisplayName() . " " . $name; @@ -554,13 +556,13 @@ class BlockFactory{ $this->registerAllMeta(new StainedHardenedClay(new BID(Ids::STAINED_CLAY, 0), "Stained Clay", $hardenedClayBreakInfo)); $this->registerAllMeta(new StainedHardenedGlass(new BID(Ids::HARD_STAINED_GLASS, 0), "Stained Hardened Glass", $hardenedGlassBreakInfo)); $this->registerAllMeta(new StainedHardenedGlassPane(new BID(Ids::HARD_STAINED_GLASS_PANE, 0), "Stained Hardened Glass Pane", $hardenedGlassBreakInfo)); - $this->registerAllMeta(new Carpet(new BID(Ids::CARPET, 0), "Carpet", new BlockBreakInfo(0.1))); - $this->registerAllMeta(new Concrete(new BID(Ids::CONCRETE, 0), "Concrete", new BlockBreakInfo(1.8, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); - $this->registerAllMeta(new ConcretePowder(new BID(Ids::CONCRETE_POWDER, 0), "Concrete Powder", new BlockBreakInfo(0.5, BlockToolType::SHOVEL))); - $this->registerAllMeta(new Wool(new BID(Ids::WOOL, 0), "Wool", new class(0.8, BlockToolType::SHEARS) extends BlockBreakInfo{ + $this->registerAllMeta(new Carpet(new BID(Ids::CARPET, 0), "Carpet", new BreakInfo(0.1))); + $this->registerAllMeta(new Concrete(new BID(Ids::CONCRETE, 0), "Concrete", new BreakInfo(1.8, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()))); + $this->registerAllMeta(new ConcretePowder(new BID(Ids::CONCRETE_POWDER, 0), "Concrete Powder", new BreakInfo(0.5, ToolType::SHOVEL))); + $this->registerAllMeta(new Wool(new BID(Ids::WOOL, 0), "Wool", new class(0.8, ToolType::SHEARS) extends BreakInfo{ public function getBreakTime(Item $item) : float{ $time = parent::getBreakTime($item); - if($item->getBlockToolType() === BlockToolType::SHEARS){ + if($item->getBlockToolType() === ToolType::SHEARS){ $time *= 3; //shears break compatible blocks 15x faster, but wool 5x } @@ -569,7 +571,7 @@ class BlockFactory{ })); //TODO: in the future these won't all have the same hardness; they only do now because of the old metadata crap - $wallBreakInfo = new BlockBreakInfo(2.0, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); + $wallBreakInfo = new BreakInfo(2.0, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel(), 30.0); $this->registerAllMeta( new Wall(new BID(Ids::COBBLESTONE_WALL, Meta::WALL_COBBLESTONE), "Cobblestone Wall", $wallBreakInfo), new Wall(new BID(Ids::COBBLESTONE_WALL, Meta::WALL_ANDESITE), "Andesite Wall", $wallBreakInfo), @@ -589,7 +591,7 @@ class BlockFactory{ $this->registerElements(); - $chemistryTableBreakInfo = new BlockBreakInfo(2.5, BlockToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()); + $chemistryTableBreakInfo = new BreakInfo(2.5, ToolType::PICKAXE, ToolTier::WOOD()->getHarvestLevel()); $this->registerAllMeta( new ChemistryTable(new BID(Ids::CHEMISTRY_TABLE, Meta::CHEMISTRY_COMPOUND_CREATOR), "Compound Creator", $chemistryTableBreakInfo), new ChemistryTable(new BID(Ids::CHEMISTRY_TABLE, Meta::CHEMISTRY_ELEMENT_CONSTRUCTOR), "Element Constructor", $chemistryTableBreakInfo), @@ -604,17 +606,17 @@ class BlockFactory{ $this->registerAllMeta(new Coral( new BID(Ids::CORAL, 0), "Coral", - BlockBreakInfo::instant(), + BreakInfo::instant(), )); $this->registerAllMeta(new FloorCoralFan( new BlockIdentifierFlattened(Ids::CORAL_FAN, [Ids::CORAL_FAN_DEAD], 0, ItemIds::CORAL_FAN), "Coral Fan", - BlockBreakInfo::instant(), + BreakInfo::instant(), )); $this->registerAllMeta(new WallCoralFan( new BlockIdentifierFlattened(Ids::CORAL_FAN_HANG, [Ids::CORAL_FAN_HANG2, Ids::CORAL_FAN_HANG3], 0, ItemIds::CORAL_FAN), "Wall Coral Fan", - BlockBreakInfo::instant(), + BreakInfo::instant(), )); //region --- auto-generated TODOs for bedrock-1.11.0 --- @@ -756,7 +758,7 @@ class BlockFactory{ //shrooms have to be handled one by one because some metas are variants and others aren't, and they can't be //separated by a bitmask - $mushroomBlockBreakInfo = new BlockBreakInfo(0.2, BlockToolType::AXE); + $mushroomBlockBreakInfo = new BreakInfo(0.2, ToolType::AXE); $mushroomBlocks = [ new BrownMushroomBlock(new BID(Ids::BROWN_MUSHROOM_BLOCK, 0), "Brown Mushroom Block", $mushroomBlockBreakInfo), @@ -800,7 +802,7 @@ class BlockFactory{ } private function registerElements() : void{ - $instaBreak = BlockBreakInfo::instant(); + $instaBreak = BreakInfo::instant(); $this->registerAllMeta(new Opaque(new BID(Ids::ELEMENT_0, 0), "???", $instaBreak)); $this->registerAllMeta(new Element(new BID(Ids::ELEMENT_1, 0), "Hydrogen", $instaBreak, "h", 1, 5)); @@ -1054,7 +1056,7 @@ class BlockFactory{ if($this->fullList[$index] !== null){ $block = clone $this->fullList[$index]; }else{ - $block = new UnknownBlock(new BID($id, $meta), BlockBreakInfo::instant()); + $block = new UnknownBlock(new BID($id, $meta), BreakInfo::instant()); } return $block; From 97c0d72e289756b6aeb8362b95e7a5efe9333656 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 26 May 2022 15:55:33 +0100 Subject: [PATCH 6/6] ItemFactory: use import aliases to reduce code width --- src/item/ItemFactory.php | 510 ++++++++++++++++++++------------------- 1 file changed, 256 insertions(+), 254 deletions(-) diff --git a/src/item/ItemFactory.php b/src/item/ItemFactory.php index c3e6a1cfc..1ea41c7c2 100644 --- a/src/item/ItemFactory.php +++ b/src/item/ItemFactory.php @@ -30,7 +30,7 @@ use pocketmine\block\utils\DyeColor; use pocketmine\block\utils\RecordType; use pocketmine\block\utils\SkullType; use pocketmine\block\utils\TreeType; -use pocketmine\block\VanillaBlocks; +use pocketmine\block\VanillaBlocks as Blocks; use pocketmine\data\bedrock\CompoundTypeIds; use pocketmine\data\bedrock\DyeColorIdMap; use pocketmine\data\bedrock\EntityLegacyIds; @@ -41,6 +41,8 @@ use pocketmine\entity\Squid; use pocketmine\entity\Villager; use pocketmine\entity\Zombie; use pocketmine\inventory\ArmorInventory; +use pocketmine\item\ItemIdentifier as IID; +use pocketmine\item\ItemIds as Ids; use pocketmine\math\Vector3; use pocketmine\nbt\NbtException; use pocketmine\nbt\tag\CompoundTag; @@ -62,25 +64,25 @@ class ItemFactory{ $this->registerSpawnEggs(); $this->registerTierToolItems(); - $this->register(new Apple(new ItemIdentifier(ItemIds::APPLE, 0), "Apple")); - $this->register(new Arrow(new ItemIdentifier(ItemIds::ARROW, 0), "Arrow")); + $this->register(new Apple(new IID(Ids::APPLE, 0), "Apple")); + $this->register(new Arrow(new IID(Ids::ARROW, 0), "Arrow")); - $this->register(new BakedPotato(new ItemIdentifier(ItemIds::BAKED_POTATO, 0), "Baked Potato")); - $this->register(new Bamboo(new ItemIdentifier(ItemIds::BAMBOO, 0), "Bamboo"), true); - $this->register(new Beetroot(new ItemIdentifier(ItemIds::BEETROOT, 0), "Beetroot")); - $this->register(new BeetrootSeeds(new ItemIdentifier(ItemIds::BEETROOT_SEEDS, 0), "Beetroot Seeds")); - $this->register(new BeetrootSoup(new ItemIdentifier(ItemIds::BEETROOT_SOUP, 0), "Beetroot Soup")); - $this->register(new BlazeRod(new ItemIdentifier(ItemIds::BLAZE_ROD, 0), "Blaze Rod")); - $this->register(new Book(new ItemIdentifier(ItemIds::BOOK, 0), "Book")); - $this->register(new Bow(new ItemIdentifier(ItemIds::BOW, 0), "Bow")); - $this->register(new Bowl(new ItemIdentifier(ItemIds::BOWL, 0), "Bowl")); - $this->register(new Bread(new ItemIdentifier(ItemIds::BREAD, 0), "Bread")); - $this->register(new Bucket(new ItemIdentifier(ItemIds::BUCKET, 0), "Bucket")); - $this->register(new Carrot(new ItemIdentifier(ItemIds::CARROT, 0), "Carrot")); - $this->register(new ChorusFruit(new ItemIdentifier(ItemIds::CHORUS_FRUIT, 0), "Chorus Fruit")); - $this->register(new Clock(new ItemIdentifier(ItemIds::CLOCK, 0), "Clock")); - $this->register(new Clownfish(new ItemIdentifier(ItemIds::CLOWNFISH, 0), "Clownfish")); - $this->register(new Coal(new ItemIdentifier(ItemIds::COAL, 0), "Coal")); + $this->register(new BakedPotato(new IID(Ids::BAKED_POTATO, 0), "Baked Potato")); + $this->register(new Bamboo(new IID(Ids::BAMBOO, 0), "Bamboo"), true); + $this->register(new Beetroot(new IID(Ids::BEETROOT, 0), "Beetroot")); + $this->register(new BeetrootSeeds(new IID(Ids::BEETROOT_SEEDS, 0), "Beetroot Seeds")); + $this->register(new BeetrootSoup(new IID(Ids::BEETROOT_SOUP, 0), "Beetroot Soup")); + $this->register(new BlazeRod(new IID(Ids::BLAZE_ROD, 0), "Blaze Rod")); + $this->register(new Book(new IID(Ids::BOOK, 0), "Book")); + $this->register(new Bow(new IID(Ids::BOW, 0), "Bow")); + $this->register(new Bowl(new IID(Ids::BOWL, 0), "Bowl")); + $this->register(new Bread(new IID(Ids::BREAD, 0), "Bread")); + $this->register(new Bucket(new IID(Ids::BUCKET, 0), "Bucket")); + $this->register(new Carrot(new IID(Ids::CARROT, 0), "Carrot")); + $this->register(new ChorusFruit(new IID(Ids::CHORUS_FRUIT, 0), "Chorus Fruit")); + $this->register(new Clock(new IID(Ids::CLOCK, 0), "Clock")); + $this->register(new Clownfish(new IID(Ids::CLOWNFISH, 0), "Clownfish")); + $this->register(new Coal(new IID(Ids::COAL, 0), "Coal")); foreach([ 0 => CoralType::TUBE(), @@ -90,192 +92,192 @@ class ItemFactory{ 4 => CoralType::HORN() ] as $meta => $coralType){ $this->register(new ItemBlockWallOrFloor( - new ItemIdentifier(ItemIds::CORAL_FAN, $meta), - VanillaBlocks::CORAL_FAN()->setCoralType($coralType)->setDead(false), - VanillaBlocks::WALL_CORAL_FAN()->setCoralType($coralType)->setDead(false) + new IID(Ids::CORAL_FAN, $meta), + Blocks::CORAL_FAN()->setCoralType($coralType)->setDead(false), + Blocks::WALL_CORAL_FAN()->setCoralType($coralType)->setDead(false) ), true); $this->register(new ItemBlockWallOrFloor( - new ItemIdentifier(ItemIds::CORAL_FAN_DEAD, $meta), - VanillaBlocks::CORAL_FAN()->setCoralType($coralType)->setDead(true), - VanillaBlocks::WALL_CORAL_FAN()->setCoralType($coralType)->setDead(true) + new IID(Ids::CORAL_FAN_DEAD, $meta), + Blocks::CORAL_FAN()->setCoralType($coralType)->setDead(true), + Blocks::WALL_CORAL_FAN()->setCoralType($coralType)->setDead(true) ), true); } - $this->register(new Coal(new ItemIdentifier(ItemIds::COAL, 1), "Charcoal")); - $this->register(new CocoaBeans(new ItemIdentifier(ItemIds::DYE, 3), "Cocoa Beans")); - $this->register(new Compass(new ItemIdentifier(ItemIds::COMPASS, 0), "Compass")); - $this->register(new CookedChicken(new ItemIdentifier(ItemIds::COOKED_CHICKEN, 0), "Cooked Chicken")); - $this->register(new CookedFish(new ItemIdentifier(ItemIds::COOKED_FISH, 0), "Cooked Fish")); - $this->register(new CookedMutton(new ItemIdentifier(ItemIds::COOKED_MUTTON, 0), "Cooked Mutton")); - $this->register(new CookedPorkchop(new ItemIdentifier(ItemIds::COOKED_PORKCHOP, 0), "Cooked Porkchop")); - $this->register(new CookedRabbit(new ItemIdentifier(ItemIds::COOKED_RABBIT, 0), "Cooked Rabbit")); - $this->register(new CookedSalmon(new ItemIdentifier(ItemIds::COOKED_SALMON, 0), "Cooked Salmon")); - $this->register(new Cookie(new ItemIdentifier(ItemIds::COOKIE, 0), "Cookie")); - $this->register(new DriedKelp(new ItemIdentifier(ItemIds::DRIED_KELP, 0), "Dried Kelp")); - $this->register(new Egg(new ItemIdentifier(ItemIds::EGG, 0), "Egg")); - $this->register(new EnderPearl(new ItemIdentifier(ItemIds::ENDER_PEARL, 0), "Ender Pearl")); - $this->register(new ExperienceBottle(new ItemIdentifier(ItemIds::EXPERIENCE_BOTTLE, 0), "Bottle o' Enchanting")); - $this->register(new Fertilizer(new ItemIdentifier(ItemIds::DYE, 15), "Bone Meal")); - $this->register(new FishingRod(new ItemIdentifier(ItemIds::FISHING_ROD, 0), "Fishing Rod")); - $this->register(new FlintSteel(new ItemIdentifier(ItemIds::FLINT_STEEL, 0), "Flint and Steel")); - $this->register(new GlassBottle(new ItemIdentifier(ItemIds::GLASS_BOTTLE, 0), "Glass Bottle")); - $this->register(new GoldenApple(new ItemIdentifier(ItemIds::GOLDEN_APPLE, 0), "Golden Apple")); - $this->register(new GoldenAppleEnchanted(new ItemIdentifier(ItemIds::ENCHANTED_GOLDEN_APPLE, 0), "Enchanted Golden Apple")); - $this->register(new GoldenCarrot(new ItemIdentifier(ItemIds::GOLDEN_CARROT, 0), "Golden Carrot")); - $this->register(new Item(new ItemIdentifier(ItemIds::BLAZE_POWDER, 0), "Blaze Powder")); - $this->register(new Item(new ItemIdentifier(ItemIds::BLEACH, 0), "Bleach")); //EDU - $this->register(new Item(new ItemIdentifier(ItemIds::BONE, 0), "Bone")); - $this->register(new Item(new ItemIdentifier(ItemIds::BRICK, 0), "Brick")); - $this->register(new Item(new ItemIdentifier(ItemIds::CHORUS_FRUIT_POPPED, 0), "Popped Chorus Fruit")); - $this->register(new Item(new ItemIdentifier(ItemIds::CLAY_BALL, 0), "Clay")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::SALT), "Salt")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::SODIUM_OXIDE), "Sodium Oxide")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::SODIUM_HYDROXIDE), "Sodium Hydroxide")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::MAGNESIUM_NITRATE), "Magnesium Nitrate")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::IRON_SULPHIDE), "Iron Sulphide")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::LITHIUM_HYDRIDE), "Lithium Hydride")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::SODIUM_HYDRIDE), "Sodium Hydride")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::CALCIUM_BROMIDE), "Calcium Bromide")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::MAGNESIUM_OXIDE), "Magnesium Oxide")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::SODIUM_ACETATE), "Sodium Acetate")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::LUMINOL), "Luminol")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::CHARCOAL), "Charcoal")); //??? maybe bug - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::SUGAR), "Sugar")); //??? maybe bug - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::ALUMINIUM_OXIDE), "Aluminium Oxide")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::BORON_TRIOXIDE), "Boron Trioxide")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::SOAP), "Soap")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::POLYETHYLENE), "Polyethylene")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::RUBBISH), "Rubbish")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::MAGNESIUM_SALTS), "Magnesium Salts")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::SULPHATE), "Sulphate")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::BARIUM_SULPHATE), "Barium Sulphate")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::POTASSIUM_CHLORIDE), "Potassium Chloride")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::MERCURIC_CHLORIDE), "Mercuric Chloride")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::CERIUM_CHLORIDE), "Cerium Chloride")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::TUNGSTEN_CHLORIDE), "Tungsten Chloride")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::CALCIUM_CHLORIDE), "Calcium Chloride")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::WATER), "Water")); //??? - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::GLUE), "Glue")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::HYPOCHLORITE), "Hypochlorite")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::CRUDE_OIL), "Crude Oil")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::LATEX), "Latex")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::POTASSIUM_IODIDE), "Potassium Iodide")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::SODIUM_FLUORIDE), "Sodium Fluoride")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::BENZENE), "Benzene")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::INK), "Ink")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::HYDROGEN_PEROXIDE), "Hydrogen Peroxide")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::AMMONIA), "Ammonia")); - $this->register(new Item(new ItemIdentifier(ItemIds::COMPOUND, CompoundTypeIds::SODIUM_HYPOCHLORITE), "Sodium Hypochlorite")); - $this->register(new Item(new ItemIdentifier(ItemIds::DIAMOND, 0), "Diamond")); - $this->register(new Item(new ItemIdentifier(ItemIds::DRAGON_BREATH, 0), "Dragon's Breath")); - $this->register(new Item(new ItemIdentifier(ItemIds::DYE, 0), "Ink Sac")); - $this->register(new Item(new ItemIdentifier(ItemIds::DYE, 4), "Lapis Lazuli")); - $this->register(new Item(new ItemIdentifier(ItemIds::EMERALD, 0), "Emerald")); - $this->register(new Item(new ItemIdentifier(ItemIds::FEATHER, 0), "Feather")); - $this->register(new Item(new ItemIdentifier(ItemIds::FERMENTED_SPIDER_EYE, 0), "Fermented Spider Eye")); - $this->register(new Item(new ItemIdentifier(ItemIds::FLINT, 0), "Flint")); - $this->register(new Item(new ItemIdentifier(ItemIds::GHAST_TEAR, 0), "Ghast Tear")); - $this->register(new Item(new ItemIdentifier(ItemIds::GLISTERING_MELON, 0), "Glistering Melon")); - $this->register(new Item(new ItemIdentifier(ItemIds::GLOWSTONE_DUST, 0), "Glowstone Dust")); - $this->register(new Item(new ItemIdentifier(ItemIds::GOLD_INGOT, 0), "Gold Ingot")); - $this->register(new Item(new ItemIdentifier(ItemIds::GOLD_NUGGET, 0), "Gold Nugget")); - $this->register(new Item(new ItemIdentifier(ItemIds::GUNPOWDER, 0), "Gunpowder")); - $this->register(new Item(new ItemIdentifier(ItemIds::HEART_OF_THE_SEA, 0), "Heart of the Sea")); - $this->register(new Item(new ItemIdentifier(ItemIds::IRON_INGOT, 0), "Iron Ingot")); - $this->register(new Item(new ItemIdentifier(ItemIds::IRON_NUGGET, 0), "Iron Nugget")); - $this->register(new Item(new ItemIdentifier(ItemIds::LEATHER, 0), "Leather")); - $this->register(new Item(new ItemIdentifier(ItemIds::MAGMA_CREAM, 0), "Magma Cream")); - $this->register(new Item(new ItemIdentifier(ItemIds::NAUTILUS_SHELL, 0), "Nautilus Shell")); - $this->register(new Item(new ItemIdentifier(ItemIds::NETHER_BRICK, 0), "Nether Brick")); - $this->register(new Item(new ItemIdentifier(ItemIds::NETHER_QUARTZ, 0), "Nether Quartz")); - $this->register(new Item(new ItemIdentifier(ItemIds::NETHER_STAR, 0), "Nether Star")); - $this->register(new Item(new ItemIdentifier(ItemIds::PAPER, 0), "Paper")); - $this->register(new Item(new ItemIdentifier(ItemIds::PRISMARINE_CRYSTALS, 0), "Prismarine Crystals")); - $this->register(new Item(new ItemIdentifier(ItemIds::PRISMARINE_SHARD, 0), "Prismarine Shard")); - $this->register(new Item(new ItemIdentifier(ItemIds::RABBIT_FOOT, 0), "Rabbit's Foot")); - $this->register(new Item(new ItemIdentifier(ItemIds::RABBIT_HIDE, 0), "Rabbit Hide")); - $this->register(new Item(new ItemIdentifier(ItemIds::SHULKER_SHELL, 0), "Shulker Shell")); - $this->register(new Item(new ItemIdentifier(ItemIds::SLIME_BALL, 0), "Slimeball")); - $this->register(new Item(new ItemIdentifier(ItemIds::SUGAR, 0), "Sugar")); - $this->register(new Item(new ItemIdentifier(ItemIds::TURTLE_SHELL_PIECE, 0), "Scute")); - $this->register(new Item(new ItemIdentifier(ItemIds::WHEAT, 0), "Wheat")); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::ACACIA_DOOR, 0), VanillaBlocks::ACACIA_DOOR())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::BIRCH_DOOR, 0), VanillaBlocks::BIRCH_DOOR())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::BREWING_STAND, 0), VanillaBlocks::BREWING_STAND())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::CAKE, 0), VanillaBlocks::CAKE())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::COMPARATOR, 0), VanillaBlocks::REDSTONE_COMPARATOR())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::DARK_OAK_DOOR, 0), VanillaBlocks::DARK_OAK_DOOR())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::FLOWER_POT, 0), VanillaBlocks::FLOWER_POT())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::HOPPER, 0), VanillaBlocks::HOPPER())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::IRON_DOOR, 0), VanillaBlocks::IRON_DOOR())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::ITEM_FRAME, 0), VanillaBlocks::ITEM_FRAME())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::JUNGLE_DOOR, 0), VanillaBlocks::JUNGLE_DOOR())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::NETHER_WART, 0), VanillaBlocks::NETHER_WART())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::OAK_DOOR, 0), VanillaBlocks::OAK_DOOR())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::REPEATER, 0), VanillaBlocks::REDSTONE_REPEATER())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::SPRUCE_DOOR, 0), VanillaBlocks::SPRUCE_DOOR())); - $this->register(new ItemBlock(new ItemIdentifier(ItemIds::SUGARCANE, 0), VanillaBlocks::SUGARCANE())); + $this->register(new Coal(new IID(Ids::COAL, 1), "Charcoal")); + $this->register(new CocoaBeans(new IID(Ids::DYE, 3), "Cocoa Beans")); + $this->register(new Compass(new IID(Ids::COMPASS, 0), "Compass")); + $this->register(new CookedChicken(new IID(Ids::COOKED_CHICKEN, 0), "Cooked Chicken")); + $this->register(new CookedFish(new IID(Ids::COOKED_FISH, 0), "Cooked Fish")); + $this->register(new CookedMutton(new IID(Ids::COOKED_MUTTON, 0), "Cooked Mutton")); + $this->register(new CookedPorkchop(new IID(Ids::COOKED_PORKCHOP, 0), "Cooked Porkchop")); + $this->register(new CookedRabbit(new IID(Ids::COOKED_RABBIT, 0), "Cooked Rabbit")); + $this->register(new CookedSalmon(new IID(Ids::COOKED_SALMON, 0), "Cooked Salmon")); + $this->register(new Cookie(new IID(Ids::COOKIE, 0), "Cookie")); + $this->register(new DriedKelp(new IID(Ids::DRIED_KELP, 0), "Dried Kelp")); + $this->register(new Egg(new IID(Ids::EGG, 0), "Egg")); + $this->register(new EnderPearl(new IID(Ids::ENDER_PEARL, 0), "Ender Pearl")); + $this->register(new ExperienceBottle(new IID(Ids::EXPERIENCE_BOTTLE, 0), "Bottle o' Enchanting")); + $this->register(new Fertilizer(new IID(Ids::DYE, 15), "Bone Meal")); + $this->register(new FishingRod(new IID(Ids::FISHING_ROD, 0), "Fishing Rod")); + $this->register(new FlintSteel(new IID(Ids::FLINT_STEEL, 0), "Flint and Steel")); + $this->register(new GlassBottle(new IID(Ids::GLASS_BOTTLE, 0), "Glass Bottle")); + $this->register(new GoldenApple(new IID(Ids::GOLDEN_APPLE, 0), "Golden Apple")); + $this->register(new GoldenAppleEnchanted(new IID(Ids::ENCHANTED_GOLDEN_APPLE, 0), "Enchanted Golden Apple")); + $this->register(new GoldenCarrot(new IID(Ids::GOLDEN_CARROT, 0), "Golden Carrot")); + $this->register(new Item(new IID(Ids::BLAZE_POWDER, 0), "Blaze Powder")); + $this->register(new Item(new IID(Ids::BLEACH, 0), "Bleach")); //EDU + $this->register(new Item(new IID(Ids::BONE, 0), "Bone")); + $this->register(new Item(new IID(Ids::BRICK, 0), "Brick")); + $this->register(new Item(new IID(Ids::CHORUS_FRUIT_POPPED, 0), "Popped Chorus Fruit")); + $this->register(new Item(new IID(Ids::CLAY_BALL, 0), "Clay")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::SALT), "Salt")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::SODIUM_OXIDE), "Sodium Oxide")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::SODIUM_HYDROXIDE), "Sodium Hydroxide")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::MAGNESIUM_NITRATE), "Magnesium Nitrate")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::IRON_SULPHIDE), "Iron Sulphide")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::LITHIUM_HYDRIDE), "Lithium Hydride")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::SODIUM_HYDRIDE), "Sodium Hydride")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::CALCIUM_BROMIDE), "Calcium Bromide")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::MAGNESIUM_OXIDE), "Magnesium Oxide")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::SODIUM_ACETATE), "Sodium Acetate")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::LUMINOL), "Luminol")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::CHARCOAL), "Charcoal")); //??? maybe bug + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::SUGAR), "Sugar")); //??? maybe bug + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::ALUMINIUM_OXIDE), "Aluminium Oxide")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::BORON_TRIOXIDE), "Boron Trioxide")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::SOAP), "Soap")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::POLYETHYLENE), "Polyethylene")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::RUBBISH), "Rubbish")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::MAGNESIUM_SALTS), "Magnesium Salts")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::SULPHATE), "Sulphate")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::BARIUM_SULPHATE), "Barium Sulphate")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::POTASSIUM_CHLORIDE), "Potassium Chloride")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::MERCURIC_CHLORIDE), "Mercuric Chloride")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::CERIUM_CHLORIDE), "Cerium Chloride")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::TUNGSTEN_CHLORIDE), "Tungsten Chloride")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::CALCIUM_CHLORIDE), "Calcium Chloride")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::WATER), "Water")); //??? + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::GLUE), "Glue")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::HYPOCHLORITE), "Hypochlorite")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::CRUDE_OIL), "Crude Oil")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::LATEX), "Latex")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::POTASSIUM_IODIDE), "Potassium Iodide")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::SODIUM_FLUORIDE), "Sodium Fluoride")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::BENZENE), "Benzene")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::INK), "Ink")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::HYDROGEN_PEROXIDE), "Hydrogen Peroxide")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::AMMONIA), "Ammonia")); + $this->register(new Item(new IID(Ids::COMPOUND, CompoundTypeIds::SODIUM_HYPOCHLORITE), "Sodium Hypochlorite")); + $this->register(new Item(new IID(Ids::DIAMOND, 0), "Diamond")); + $this->register(new Item(new IID(Ids::DRAGON_BREATH, 0), "Dragon's Breath")); + $this->register(new Item(new IID(Ids::DYE, 0), "Ink Sac")); + $this->register(new Item(new IID(Ids::DYE, 4), "Lapis Lazuli")); + $this->register(new Item(new IID(Ids::EMERALD, 0), "Emerald")); + $this->register(new Item(new IID(Ids::FEATHER, 0), "Feather")); + $this->register(new Item(new IID(Ids::FERMENTED_SPIDER_EYE, 0), "Fermented Spider Eye")); + $this->register(new Item(new IID(Ids::FLINT, 0), "Flint")); + $this->register(new Item(new IID(Ids::GHAST_TEAR, 0), "Ghast Tear")); + $this->register(new Item(new IID(Ids::GLISTERING_MELON, 0), "Glistering Melon")); + $this->register(new Item(new IID(Ids::GLOWSTONE_DUST, 0), "Glowstone Dust")); + $this->register(new Item(new IID(Ids::GOLD_INGOT, 0), "Gold Ingot")); + $this->register(new Item(new IID(Ids::GOLD_NUGGET, 0), "Gold Nugget")); + $this->register(new Item(new IID(Ids::GUNPOWDER, 0), "Gunpowder")); + $this->register(new Item(new IID(Ids::HEART_OF_THE_SEA, 0), "Heart of the Sea")); + $this->register(new Item(new IID(Ids::IRON_INGOT, 0), "Iron Ingot")); + $this->register(new Item(new IID(Ids::IRON_NUGGET, 0), "Iron Nugget")); + $this->register(new Item(new IID(Ids::LEATHER, 0), "Leather")); + $this->register(new Item(new IID(Ids::MAGMA_CREAM, 0), "Magma Cream")); + $this->register(new Item(new IID(Ids::NAUTILUS_SHELL, 0), "Nautilus Shell")); + $this->register(new Item(new IID(Ids::NETHER_BRICK, 0), "Nether Brick")); + $this->register(new Item(new IID(Ids::NETHER_QUARTZ, 0), "Nether Quartz")); + $this->register(new Item(new IID(Ids::NETHER_STAR, 0), "Nether Star")); + $this->register(new Item(new IID(Ids::PAPER, 0), "Paper")); + $this->register(new Item(new IID(Ids::PRISMARINE_CRYSTALS, 0), "Prismarine Crystals")); + $this->register(new Item(new IID(Ids::PRISMARINE_SHARD, 0), "Prismarine Shard")); + $this->register(new Item(new IID(Ids::RABBIT_FOOT, 0), "Rabbit's Foot")); + $this->register(new Item(new IID(Ids::RABBIT_HIDE, 0), "Rabbit Hide")); + $this->register(new Item(new IID(Ids::SHULKER_SHELL, 0), "Shulker Shell")); + $this->register(new Item(new IID(Ids::SLIME_BALL, 0), "Slimeball")); + $this->register(new Item(new IID(Ids::SUGAR, 0), "Sugar")); + $this->register(new Item(new IID(Ids::TURTLE_SHELL_PIECE, 0), "Scute")); + $this->register(new Item(new IID(Ids::WHEAT, 0), "Wheat")); + $this->register(new ItemBlock(new IID(Ids::ACACIA_DOOR, 0), Blocks::ACACIA_DOOR())); + $this->register(new ItemBlock(new IID(Ids::BIRCH_DOOR, 0), Blocks::BIRCH_DOOR())); + $this->register(new ItemBlock(new IID(Ids::BREWING_STAND, 0), Blocks::BREWING_STAND())); + $this->register(new ItemBlock(new IID(Ids::CAKE, 0), Blocks::CAKE())); + $this->register(new ItemBlock(new IID(Ids::COMPARATOR, 0), Blocks::REDSTONE_COMPARATOR())); + $this->register(new ItemBlock(new IID(Ids::DARK_OAK_DOOR, 0), Blocks::DARK_OAK_DOOR())); + $this->register(new ItemBlock(new IID(Ids::FLOWER_POT, 0), Blocks::FLOWER_POT())); + $this->register(new ItemBlock(new IID(Ids::HOPPER, 0), Blocks::HOPPER())); + $this->register(new ItemBlock(new IID(Ids::IRON_DOOR, 0), Blocks::IRON_DOOR())); + $this->register(new ItemBlock(new IID(Ids::ITEM_FRAME, 0), Blocks::ITEM_FRAME())); + $this->register(new ItemBlock(new IID(Ids::JUNGLE_DOOR, 0), Blocks::JUNGLE_DOOR())); + $this->register(new ItemBlock(new IID(Ids::NETHER_WART, 0), Blocks::NETHER_WART())); + $this->register(new ItemBlock(new IID(Ids::OAK_DOOR, 0), Blocks::OAK_DOOR())); + $this->register(new ItemBlock(new IID(Ids::REPEATER, 0), Blocks::REDSTONE_REPEATER())); + $this->register(new ItemBlock(new IID(Ids::SPRUCE_DOOR, 0), Blocks::SPRUCE_DOOR())); + $this->register(new ItemBlock(new IID(Ids::SUGARCANE, 0), Blocks::SUGARCANE())); //the meta values for buckets are intentionally hardcoded because block IDs will change in the future - $waterBucket = new LiquidBucket(new ItemIdentifier(ItemIds::BUCKET, 8), "Water Bucket", VanillaBlocks::WATER()); + $waterBucket = new LiquidBucket(new IID(Ids::BUCKET, 8), "Water Bucket", Blocks::WATER()); $this->register($waterBucket); - $this->remap(new ItemIdentifier(ItemIds::BUCKET, 9), $waterBucket); - $lavaBucket = new LiquidBucket(new ItemIdentifier(ItemIds::BUCKET, 10), "Lava Bucket", VanillaBlocks::LAVA()); + $this->remap(new IID(Ids::BUCKET, 9), $waterBucket); + $lavaBucket = new LiquidBucket(new IID(Ids::BUCKET, 10), "Lava Bucket", Blocks::LAVA()); $this->register($lavaBucket); - $this->remap(new ItemIdentifier(ItemIds::BUCKET, 11), $lavaBucket); - $this->register(new Melon(new ItemIdentifier(ItemIds::MELON, 0), "Melon")); - $this->register(new MelonSeeds(new ItemIdentifier(ItemIds::MELON_SEEDS, 0), "Melon Seeds")); - $this->register(new MilkBucket(new ItemIdentifier(ItemIds::BUCKET, 1), "Milk Bucket")); - $this->register(new Minecart(new ItemIdentifier(ItemIds::MINECART, 0), "Minecart")); - $this->register(new MushroomStew(new ItemIdentifier(ItemIds::MUSHROOM_STEW, 0), "Mushroom Stew")); - $this->register(new PaintingItem(new ItemIdentifier(ItemIds::PAINTING, 0), "Painting")); - $this->register(new PoisonousPotato(new ItemIdentifier(ItemIds::POISONOUS_POTATO, 0), "Poisonous Potato")); - $this->register(new Potato(new ItemIdentifier(ItemIds::POTATO, 0), "Potato")); - $this->register(new Pufferfish(new ItemIdentifier(ItemIds::PUFFERFISH, 0), "Pufferfish")); - $this->register(new PumpkinPie(new ItemIdentifier(ItemIds::PUMPKIN_PIE, 0), "Pumpkin Pie")); - $this->register(new PumpkinSeeds(new ItemIdentifier(ItemIds::PUMPKIN_SEEDS, 0), "Pumpkin Seeds")); - $this->register(new RabbitStew(new ItemIdentifier(ItemIds::RABBIT_STEW, 0), "Rabbit Stew")); - $this->register(new RawBeef(new ItemIdentifier(ItemIds::RAW_BEEF, 0), "Raw Beef")); - $this->register(new RawChicken(new ItemIdentifier(ItemIds::RAW_CHICKEN, 0), "Raw Chicken")); - $this->register(new RawFish(new ItemIdentifier(ItemIds::RAW_FISH, 0), "Raw Fish")); - $this->register(new RawMutton(new ItemIdentifier(ItemIds::RAW_MUTTON, 0), "Raw Mutton")); - $this->register(new RawPorkchop(new ItemIdentifier(ItemIds::RAW_PORKCHOP, 0), "Raw Porkchop")); - $this->register(new RawRabbit(new ItemIdentifier(ItemIds::RAW_RABBIT, 0), "Raw Rabbit")); - $this->register(new RawSalmon(new ItemIdentifier(ItemIds::RAW_SALMON, 0), "Raw Salmon")); - $this->register(new Record(new ItemIdentifier(ItemIds::RECORD_13, 0), RecordType::DISK_13(), "Record 13")); - $this->register(new Record(new ItemIdentifier(ItemIds::RECORD_CAT, 0), RecordType::DISK_CAT(), "Record Cat")); - $this->register(new Record(new ItemIdentifier(ItemIds::RECORD_BLOCKS, 0), RecordType::DISK_BLOCKS(), "Record Blocks")); - $this->register(new Record(new ItemIdentifier(ItemIds::RECORD_CHIRP, 0), RecordType::DISK_CHIRP(), "Record Chirp")); - $this->register(new Record(new ItemIdentifier(ItemIds::RECORD_FAR, 0), RecordType::DISK_FAR(), "Record Far")); - $this->register(new Record(new ItemIdentifier(ItemIds::RECORD_MALL, 0), RecordType::DISK_MALL(), "Record Mall")); - $this->register(new Record(new ItemIdentifier(ItemIds::RECORD_MELLOHI, 0), RecordType::DISK_MELLOHI(), "Record Mellohi")); - $this->register(new Record(new ItemIdentifier(ItemIds::RECORD_STAL, 0), RecordType::DISK_STAL(), "Record Stal")); - $this->register(new Record(new ItemIdentifier(ItemIds::RECORD_STRAD, 0), RecordType::DISK_STRAD(), "Record Strad")); - $this->register(new Record(new ItemIdentifier(ItemIds::RECORD_WARD, 0), RecordType::DISK_WARD(), "Record Ward")); - $this->register(new Record(new ItemIdentifier(ItemIds::RECORD_11, 0), RecordType::DISK_11(), "Record 11")); - $this->register(new Record(new ItemIdentifier(ItemIds::RECORD_WAIT, 0), RecordType::DISK_WAIT(), "Record Wait")); - $this->register(new Redstone(new ItemIdentifier(ItemIds::REDSTONE, 0), "Redstone")); - $this->register(new RottenFlesh(new ItemIdentifier(ItemIds::ROTTEN_FLESH, 0), "Rotten Flesh")); - $this->register(new Shears(new ItemIdentifier(ItemIds::SHEARS, 0), "Shears")); - $this->register(new ItemBlockWallOrFloor(new ItemIdentifier(ItemIds::SIGN, 0), VanillaBlocks::OAK_SIGN(), VanillaBlocks::OAK_WALL_SIGN())); - $this->register(new ItemBlockWallOrFloor(new ItemIdentifier(ItemIds::SPRUCE_SIGN, 0), VanillaBlocks::SPRUCE_SIGN(), VanillaBlocks::SPRUCE_WALL_SIGN())); - $this->register(new ItemBlockWallOrFloor(new ItemIdentifier(ItemIds::BIRCH_SIGN, 0), VanillaBlocks::BIRCH_SIGN(), VanillaBlocks::BIRCH_WALL_SIGN())); - $this->register(new ItemBlockWallOrFloor(new ItemIdentifier(ItemIds::JUNGLE_SIGN, 0), VanillaBlocks::JUNGLE_SIGN(), VanillaBlocks::JUNGLE_WALL_SIGN())); - $this->register(new ItemBlockWallOrFloor(new ItemIdentifier(ItemIds::ACACIA_SIGN, 0), VanillaBlocks::ACACIA_SIGN(), VanillaBlocks::ACACIA_WALL_SIGN())); - $this->register(new ItemBlockWallOrFloor(new ItemIdentifier(ItemIds::DARKOAK_SIGN, 0), VanillaBlocks::DARK_OAK_SIGN(), VanillaBlocks::DARK_OAK_WALL_SIGN())); - $this->register(new Snowball(new ItemIdentifier(ItemIds::SNOWBALL, 0), "Snowball")); - $this->register(new SpiderEye(new ItemIdentifier(ItemIds::SPIDER_EYE, 0), "Spider Eye")); - $this->register(new Steak(new ItemIdentifier(ItemIds::STEAK, 0), "Steak")); - $this->register(new Stick(new ItemIdentifier(ItemIds::STICK, 0), "Stick")); - $this->register(new StringItem(new ItemIdentifier(ItemIds::STRING, 0), "String")); - $this->register(new SweetBerries(new ItemIdentifier(ItemIds::SWEET_BERRIES, 0), "Sweet Berries")); - $this->register(new Totem(new ItemIdentifier(ItemIds::TOTEM, 0), "Totem of Undying")); - $this->register(new WheatSeeds(new ItemIdentifier(ItemIds::WHEAT_SEEDS, 0), "Wheat Seeds")); - $this->register(new WritableBook(new ItemIdentifier(ItemIds::WRITABLE_BOOK, 0), "Book & Quill")); - $this->register(new WrittenBook(new ItemIdentifier(ItemIds::WRITTEN_BOOK, 0), "Written Book")); + $this->remap(new IID(Ids::BUCKET, 11), $lavaBucket); + $this->register(new Melon(new IID(Ids::MELON, 0), "Melon")); + $this->register(new MelonSeeds(new IID(Ids::MELON_SEEDS, 0), "Melon Seeds")); + $this->register(new MilkBucket(new IID(Ids::BUCKET, 1), "Milk Bucket")); + $this->register(new Minecart(new IID(Ids::MINECART, 0), "Minecart")); + $this->register(new MushroomStew(new IID(Ids::MUSHROOM_STEW, 0), "Mushroom Stew")); + $this->register(new PaintingItem(new IID(Ids::PAINTING, 0), "Painting")); + $this->register(new PoisonousPotato(new IID(Ids::POISONOUS_POTATO, 0), "Poisonous Potato")); + $this->register(new Potato(new IID(Ids::POTATO, 0), "Potato")); + $this->register(new Pufferfish(new IID(Ids::PUFFERFISH, 0), "Pufferfish")); + $this->register(new PumpkinPie(new IID(Ids::PUMPKIN_PIE, 0), "Pumpkin Pie")); + $this->register(new PumpkinSeeds(new IID(Ids::PUMPKIN_SEEDS, 0), "Pumpkin Seeds")); + $this->register(new RabbitStew(new IID(Ids::RABBIT_STEW, 0), "Rabbit Stew")); + $this->register(new RawBeef(new IID(Ids::RAW_BEEF, 0), "Raw Beef")); + $this->register(new RawChicken(new IID(Ids::RAW_CHICKEN, 0), "Raw Chicken")); + $this->register(new RawFish(new IID(Ids::RAW_FISH, 0), "Raw Fish")); + $this->register(new RawMutton(new IID(Ids::RAW_MUTTON, 0), "Raw Mutton")); + $this->register(new RawPorkchop(new IID(Ids::RAW_PORKCHOP, 0), "Raw Porkchop")); + $this->register(new RawRabbit(new IID(Ids::RAW_RABBIT, 0), "Raw Rabbit")); + $this->register(new RawSalmon(new IID(Ids::RAW_SALMON, 0), "Raw Salmon")); + $this->register(new Record(new IID(Ids::RECORD_13, 0), RecordType::DISK_13(), "Record 13")); + $this->register(new Record(new IID(Ids::RECORD_CAT, 0), RecordType::DISK_CAT(), "Record Cat")); + $this->register(new Record(new IID(Ids::RECORD_BLOCKS, 0), RecordType::DISK_BLOCKS(), "Record Blocks")); + $this->register(new Record(new IID(Ids::RECORD_CHIRP, 0), RecordType::DISK_CHIRP(), "Record Chirp")); + $this->register(new Record(new IID(Ids::RECORD_FAR, 0), RecordType::DISK_FAR(), "Record Far")); + $this->register(new Record(new IID(Ids::RECORD_MALL, 0), RecordType::DISK_MALL(), "Record Mall")); + $this->register(new Record(new IID(Ids::RECORD_MELLOHI, 0), RecordType::DISK_MELLOHI(), "Record Mellohi")); + $this->register(new Record(new IID(Ids::RECORD_STAL, 0), RecordType::DISK_STAL(), "Record Stal")); + $this->register(new Record(new IID(Ids::RECORD_STRAD, 0), RecordType::DISK_STRAD(), "Record Strad")); + $this->register(new Record(new IID(Ids::RECORD_WARD, 0), RecordType::DISK_WARD(), "Record Ward")); + $this->register(new Record(new IID(Ids::RECORD_11, 0), RecordType::DISK_11(), "Record 11")); + $this->register(new Record(new IID(Ids::RECORD_WAIT, 0), RecordType::DISK_WAIT(), "Record Wait")); + $this->register(new Redstone(new IID(Ids::REDSTONE, 0), "Redstone")); + $this->register(new RottenFlesh(new IID(Ids::ROTTEN_FLESH, 0), "Rotten Flesh")); + $this->register(new Shears(new IID(Ids::SHEARS, 0), "Shears")); + $this->register(new ItemBlockWallOrFloor(new IID(Ids::SIGN, 0), Blocks::OAK_SIGN(), Blocks::OAK_WALL_SIGN())); + $this->register(new ItemBlockWallOrFloor(new IID(Ids::SPRUCE_SIGN, 0), Blocks::SPRUCE_SIGN(), Blocks::SPRUCE_WALL_SIGN())); + $this->register(new ItemBlockWallOrFloor(new IID(Ids::BIRCH_SIGN, 0), Blocks::BIRCH_SIGN(), Blocks::BIRCH_WALL_SIGN())); + $this->register(new ItemBlockWallOrFloor(new IID(Ids::JUNGLE_SIGN, 0), Blocks::JUNGLE_SIGN(), Blocks::JUNGLE_WALL_SIGN())); + $this->register(new ItemBlockWallOrFloor(new IID(Ids::ACACIA_SIGN, 0), Blocks::ACACIA_SIGN(), Blocks::ACACIA_WALL_SIGN())); + $this->register(new ItemBlockWallOrFloor(new IID(Ids::DARKOAK_SIGN, 0), Blocks::DARK_OAK_SIGN(), Blocks::DARK_OAK_WALL_SIGN())); + $this->register(new Snowball(new IID(Ids::SNOWBALL, 0), "Snowball")); + $this->register(new SpiderEye(new IID(Ids::SPIDER_EYE, 0), "Spider Eye")); + $this->register(new Steak(new IID(Ids::STEAK, 0), "Steak")); + $this->register(new Stick(new IID(Ids::STICK, 0), "Stick")); + $this->register(new StringItem(new IID(Ids::STRING, 0), "String")); + $this->register(new SweetBerries(new IID(Ids::SWEET_BERRIES, 0), "Sweet Berries")); + $this->register(new Totem(new IID(Ids::TOTEM, 0), "Totem of Undying")); + $this->register(new WheatSeeds(new IID(Ids::WHEAT_SEEDS, 0), "Wheat Seeds")); + $this->register(new WritableBook(new IID(Ids::WRITABLE_BOOK, 0), "Book & Quill")); + $this->register(new WrittenBook(new IID(Ids::WRITTEN_BOOK, 0), "Written Book")); foreach(SkullType::getAll() as $skullType){ - $this->register(new Skull(new ItemIdentifier(ItemIds::SKULL, $skullType->getMagicNumber()), $skullType->getDisplayName(), $skullType)); + $this->register(new Skull(new IID(Ids::SKULL, $skullType->getMagicNumber()), $skullType->getDisplayName(), $skullType)); } $dyeMap = [ @@ -288,23 +290,23 @@ class ItemFactory{ foreach(DyeColor::getAll() as $color){ //TODO: use colour object directly //TODO: add interface to dye-colour objects - $this->register(new Dye(new ItemIdentifier(ItemIds::DYE, $dyeMap[$color->id()] ?? $colorIdMap->toInvertedId($color)), $color->getDisplayName() . " Dye", $color)); - $this->register(new Bed(new ItemIdentifier(ItemIds::BED, $colorIdMap->toId($color)), $color->getDisplayName() . " Bed", $color)); + $this->register(new Dye(new IID(Ids::DYE, $dyeMap[$color->id()] ?? $colorIdMap->toInvertedId($color)), $color->getDisplayName() . " Dye", $color)); + $this->register(new Bed(new IID(Ids::BED, $colorIdMap->toId($color)), $color->getDisplayName() . " Bed", $color)); $this->register((new Banner( - new ItemIdentifier(ItemIds::BANNER, 0), - VanillaBlocks::BANNER(), - VanillaBlocks::WALL_BANNER() + new IID(Ids::BANNER, 0), + Blocks::BANNER(), + Blocks::WALL_BANNER() ))->setColor($color)); } foreach(PotionType::getAll() as $type){ $typeId = PotionTypeIdMap::getInstance()->toId($type); - $this->register(new Potion(new ItemIdentifier(ItemIds::POTION, $typeId), $type->getDisplayName() . " Potion", $type)); - $this->register(new SplashPotion(new ItemIdentifier(ItemIds::SPLASH_POTION, $typeId), $type->getDisplayName() . " Splash Potion", $type)); + $this->register(new Potion(new IID(Ids::POTION, $typeId), $type->getDisplayName() . " Potion", $type)); + $this->register(new SplashPotion(new IID(Ids::SPLASH_POTION, $typeId), $type->getDisplayName() . " Splash Potion", $type)); } foreach(TreeType::getAll() as $type){ - $this->register(new Boat(new ItemIdentifier(ItemIds::BOAT, $type->getMagicNumber()), $type->getDisplayName() . " Boat", $type)); + $this->register(new Boat(new IID(Ids::BOAT, $type->getMagicNumber()), $type->getDisplayName() . " Boat", $type)); } //region --- auto-generated TODOs --- @@ -352,17 +354,17 @@ class ItemFactory{ private function registerSpawnEggs() : void{ //TODO: the meta values should probably be hardcoded; they won't change, but the EntityLegacyIds might - $this->register(new class(new ItemIdentifier(ItemIds::SPAWN_EGG, EntityLegacyIds::ZOMBIE), "Zombie Spawn Egg") extends SpawnEgg{ + $this->register(new class(new IID(Ids::SPAWN_EGG, EntityLegacyIds::ZOMBIE), "Zombie Spawn Egg") extends SpawnEgg{ protected function createEntity(World $world, Vector3 $pos, float $yaw, float $pitch) : Entity{ return new Zombie(Location::fromObject($pos, $world, $yaw, $pitch)); } }); - $this->register(new class(new ItemIdentifier(ItemIds::SPAWN_EGG, EntityLegacyIds::SQUID), "Squid Spawn Egg") extends SpawnEgg{ + $this->register(new class(new IID(Ids::SPAWN_EGG, EntityLegacyIds::SQUID), "Squid Spawn Egg") extends SpawnEgg{ public function createEntity(World $world, Vector3 $pos, float $yaw, float $pitch) : Entity{ return new Squid(Location::fromObject($pos, $world, $yaw, $pitch)); } }); - $this->register(new class(new ItemIdentifier(ItemIds::SPAWN_EGG, EntityLegacyIds::VILLAGER), "Villager Spawn Egg") extends SpawnEgg{ + $this->register(new class(new IID(Ids::SPAWN_EGG, EntityLegacyIds::VILLAGER), "Villager Spawn Egg") extends SpawnEgg{ public function createEntity(World $world, Vector3 $pos, float $yaw, float $pitch) : Entity{ return new Villager(Location::fromObject($pos, $world, $yaw, $pitch)); } @@ -370,54 +372,54 @@ class ItemFactory{ } private function registerTierToolItems() : void{ - $this->register(new Axe(new ItemIdentifier(ItemIds::DIAMOND_AXE, 0), "Diamond Axe", ToolTier::DIAMOND())); - $this->register(new Axe(new ItemIdentifier(ItemIds::GOLDEN_AXE, 0), "Golden Axe", ToolTier::GOLD())); - $this->register(new Axe(new ItemIdentifier(ItemIds::IRON_AXE, 0), "Iron Axe", ToolTier::IRON())); - $this->register(new Axe(new ItemIdentifier(ItemIds::STONE_AXE, 0), "Stone Axe", ToolTier::STONE())); - $this->register(new Axe(new ItemIdentifier(ItemIds::WOODEN_AXE, 0), "Wooden Axe", ToolTier::WOOD())); - $this->register(new Hoe(new ItemIdentifier(ItemIds::DIAMOND_HOE, 0), "Diamond Hoe", ToolTier::DIAMOND())); - $this->register(new Hoe(new ItemIdentifier(ItemIds::GOLDEN_HOE, 0), "Golden Hoe", ToolTier::GOLD())); - $this->register(new Hoe(new ItemIdentifier(ItemIds::IRON_HOE, 0), "Iron Hoe", ToolTier::IRON())); - $this->register(new Hoe(new ItemIdentifier(ItemIds::STONE_HOE, 0), "Stone Hoe", ToolTier::STONE())); - $this->register(new Hoe(new ItemIdentifier(ItemIds::WOODEN_HOE, 0), "Wooden Hoe", ToolTier::WOOD())); - $this->register(new Pickaxe(new ItemIdentifier(ItemIds::DIAMOND_PICKAXE, 0), "Diamond Pickaxe", ToolTier::DIAMOND())); - $this->register(new Pickaxe(new ItemIdentifier(ItemIds::GOLDEN_PICKAXE, 0), "Golden Pickaxe", ToolTier::GOLD())); - $this->register(new Pickaxe(new ItemIdentifier(ItemIds::IRON_PICKAXE, 0), "Iron Pickaxe", ToolTier::IRON())); - $this->register(new Pickaxe(new ItemIdentifier(ItemIds::STONE_PICKAXE, 0), "Stone Pickaxe", ToolTier::STONE())); - $this->register(new Pickaxe(new ItemIdentifier(ItemIds::WOODEN_PICKAXE, 0), "Wooden Pickaxe", ToolTier::WOOD())); - $this->register(new Shovel(new ItemIdentifier(ItemIds::DIAMOND_SHOVEL, 0), "Diamond Shovel", ToolTier::DIAMOND())); - $this->register(new Shovel(new ItemIdentifier(ItemIds::GOLDEN_SHOVEL, 0), "Golden Shovel", ToolTier::GOLD())); - $this->register(new Shovel(new ItemIdentifier(ItemIds::IRON_SHOVEL, 0), "Iron Shovel", ToolTier::IRON())); - $this->register(new Shovel(new ItemIdentifier(ItemIds::STONE_SHOVEL, 0), "Stone Shovel", ToolTier::STONE())); - $this->register(new Shovel(new ItemIdentifier(ItemIds::WOODEN_SHOVEL, 0), "Wooden Shovel", ToolTier::WOOD())); - $this->register(new Sword(new ItemIdentifier(ItemIds::DIAMOND_SWORD, 0), "Diamond Sword", ToolTier::DIAMOND())); - $this->register(new Sword(new ItemIdentifier(ItemIds::GOLDEN_SWORD, 0), "Golden Sword", ToolTier::GOLD())); - $this->register(new Sword(new ItemIdentifier(ItemIds::IRON_SWORD, 0), "Iron Sword", ToolTier::IRON())); - $this->register(new Sword(new ItemIdentifier(ItemIds::STONE_SWORD, 0), "Stone Sword", ToolTier::STONE())); - $this->register(new Sword(new ItemIdentifier(ItemIds::WOODEN_SWORD, 0), "Wooden Sword", ToolTier::WOOD())); + $this->register(new Axe(new IID(Ids::DIAMOND_AXE, 0), "Diamond Axe", ToolTier::DIAMOND())); + $this->register(new Axe(new IID(Ids::GOLDEN_AXE, 0), "Golden Axe", ToolTier::GOLD())); + $this->register(new Axe(new IID(Ids::IRON_AXE, 0), "Iron Axe", ToolTier::IRON())); + $this->register(new Axe(new IID(Ids::STONE_AXE, 0), "Stone Axe", ToolTier::STONE())); + $this->register(new Axe(new IID(Ids::WOODEN_AXE, 0), "Wooden Axe", ToolTier::WOOD())); + $this->register(new Hoe(new IID(Ids::DIAMOND_HOE, 0), "Diamond Hoe", ToolTier::DIAMOND())); + $this->register(new Hoe(new IID(Ids::GOLDEN_HOE, 0), "Golden Hoe", ToolTier::GOLD())); + $this->register(new Hoe(new IID(Ids::IRON_HOE, 0), "Iron Hoe", ToolTier::IRON())); + $this->register(new Hoe(new IID(Ids::STONE_HOE, 0), "Stone Hoe", ToolTier::STONE())); + $this->register(new Hoe(new IID(Ids::WOODEN_HOE, 0), "Wooden Hoe", ToolTier::WOOD())); + $this->register(new Pickaxe(new IID(Ids::DIAMOND_PICKAXE, 0), "Diamond Pickaxe", ToolTier::DIAMOND())); + $this->register(new Pickaxe(new IID(Ids::GOLDEN_PICKAXE, 0), "Golden Pickaxe", ToolTier::GOLD())); + $this->register(new Pickaxe(new IID(Ids::IRON_PICKAXE, 0), "Iron Pickaxe", ToolTier::IRON())); + $this->register(new Pickaxe(new IID(Ids::STONE_PICKAXE, 0), "Stone Pickaxe", ToolTier::STONE())); + $this->register(new Pickaxe(new IID(Ids::WOODEN_PICKAXE, 0), "Wooden Pickaxe", ToolTier::WOOD())); + $this->register(new Shovel(new IID(Ids::DIAMOND_SHOVEL, 0), "Diamond Shovel", ToolTier::DIAMOND())); + $this->register(new Shovel(new IID(Ids::GOLDEN_SHOVEL, 0), "Golden Shovel", ToolTier::GOLD())); + $this->register(new Shovel(new IID(Ids::IRON_SHOVEL, 0), "Iron Shovel", ToolTier::IRON())); + $this->register(new Shovel(new IID(Ids::STONE_SHOVEL, 0), "Stone Shovel", ToolTier::STONE())); + $this->register(new Shovel(new IID(Ids::WOODEN_SHOVEL, 0), "Wooden Shovel", ToolTier::WOOD())); + $this->register(new Sword(new IID(Ids::DIAMOND_SWORD, 0), "Diamond Sword", ToolTier::DIAMOND())); + $this->register(new Sword(new IID(Ids::GOLDEN_SWORD, 0), "Golden Sword", ToolTier::GOLD())); + $this->register(new Sword(new IID(Ids::IRON_SWORD, 0), "Iron Sword", ToolTier::IRON())); + $this->register(new Sword(new IID(Ids::STONE_SWORD, 0), "Stone Sword", ToolTier::STONE())); + $this->register(new Sword(new IID(Ids::WOODEN_SWORD, 0), "Wooden Sword", ToolTier::WOOD())); } private function registerArmorItems() : void{ - $this->register(new Armor(new ItemIdentifier(ItemIds::CHAIN_BOOTS, 0), "Chainmail Boots", new ArmorTypeInfo(1, 196, ArmorInventory::SLOT_FEET))); - $this->register(new Armor(new ItemIdentifier(ItemIds::DIAMOND_BOOTS, 0), "Diamond Boots", new ArmorTypeInfo(3, 430, ArmorInventory::SLOT_FEET))); - $this->register(new Armor(new ItemIdentifier(ItemIds::GOLDEN_BOOTS, 0), "Golden Boots", new ArmorTypeInfo(1, 92, ArmorInventory::SLOT_FEET))); - $this->register(new Armor(new ItemIdentifier(ItemIds::IRON_BOOTS, 0), "Iron Boots", new ArmorTypeInfo(2, 196, ArmorInventory::SLOT_FEET))); - $this->register(new Armor(new ItemIdentifier(ItemIds::LEATHER_BOOTS, 0), "Leather Boots", new ArmorTypeInfo(1, 66, ArmorInventory::SLOT_FEET))); - $this->register(new Armor(new ItemIdentifier(ItemIds::CHAIN_CHESTPLATE, 0), "Chainmail Chestplate", new ArmorTypeInfo(5, 241, ArmorInventory::SLOT_CHEST))); - $this->register(new Armor(new ItemIdentifier(ItemIds::DIAMOND_CHESTPLATE, 0), "Diamond Chestplate", new ArmorTypeInfo(8, 529, ArmorInventory::SLOT_CHEST))); - $this->register(new Armor(new ItemIdentifier(ItemIds::GOLDEN_CHESTPLATE, 0), "Golden Chestplate", new ArmorTypeInfo(5, 113, ArmorInventory::SLOT_CHEST))); - $this->register(new Armor(new ItemIdentifier(ItemIds::IRON_CHESTPLATE, 0), "Iron Chestplate", new ArmorTypeInfo(6, 241, ArmorInventory::SLOT_CHEST))); - $this->register(new Armor(new ItemIdentifier(ItemIds::LEATHER_CHESTPLATE, 0), "Leather Tunic", new ArmorTypeInfo(3, 81, ArmorInventory::SLOT_CHEST))); - $this->register(new Armor(new ItemIdentifier(ItemIds::CHAIN_HELMET, 0), "Chainmail Helmet", new ArmorTypeInfo(2, 166, ArmorInventory::SLOT_HEAD))); - $this->register(new Armor(new ItemIdentifier(ItemIds::DIAMOND_HELMET, 0), "Diamond Helmet", new ArmorTypeInfo(3, 364, ArmorInventory::SLOT_HEAD))); - $this->register(new Armor(new ItemIdentifier(ItemIds::GOLDEN_HELMET, 0), "Golden Helmet", new ArmorTypeInfo(2, 78, ArmorInventory::SLOT_HEAD))); - $this->register(new Armor(new ItemIdentifier(ItemIds::IRON_HELMET, 0), "Iron Helmet", new ArmorTypeInfo(2, 166, ArmorInventory::SLOT_HEAD))); - $this->register(new Armor(new ItemIdentifier(ItemIds::LEATHER_HELMET, 0), "Leather Cap", new ArmorTypeInfo(1, 56, ArmorInventory::SLOT_HEAD))); - $this->register(new Armor(new ItemIdentifier(ItemIds::CHAIN_LEGGINGS, 0), "Chainmail Leggings", new ArmorTypeInfo(4, 226, ArmorInventory::SLOT_LEGS))); - $this->register(new Armor(new ItemIdentifier(ItemIds::DIAMOND_LEGGINGS, 0), "Diamond Leggings", new ArmorTypeInfo(6, 496, ArmorInventory::SLOT_LEGS))); - $this->register(new Armor(new ItemIdentifier(ItemIds::GOLDEN_LEGGINGS, 0), "Golden Leggings", new ArmorTypeInfo(3, 106, ArmorInventory::SLOT_LEGS))); - $this->register(new Armor(new ItemIdentifier(ItemIds::IRON_LEGGINGS, 0), "Iron Leggings", new ArmorTypeInfo(5, 226, ArmorInventory::SLOT_LEGS))); - $this->register(new Armor(new ItemIdentifier(ItemIds::LEATHER_LEGGINGS, 0), "Leather Pants", new ArmorTypeInfo(2, 76, ArmorInventory::SLOT_LEGS))); + $this->register(new Armor(new IID(Ids::CHAIN_BOOTS, 0), "Chainmail Boots", new ArmorTypeInfo(1, 196, ArmorInventory::SLOT_FEET))); + $this->register(new Armor(new IID(Ids::DIAMOND_BOOTS, 0), "Diamond Boots", new ArmorTypeInfo(3, 430, ArmorInventory::SLOT_FEET))); + $this->register(new Armor(new IID(Ids::GOLDEN_BOOTS, 0), "Golden Boots", new ArmorTypeInfo(1, 92, ArmorInventory::SLOT_FEET))); + $this->register(new Armor(new IID(Ids::IRON_BOOTS, 0), "Iron Boots", new ArmorTypeInfo(2, 196, ArmorInventory::SLOT_FEET))); + $this->register(new Armor(new IID(Ids::LEATHER_BOOTS, 0), "Leather Boots", new ArmorTypeInfo(1, 66, ArmorInventory::SLOT_FEET))); + $this->register(new Armor(new IID(Ids::CHAIN_CHESTPLATE, 0), "Chainmail Chestplate", new ArmorTypeInfo(5, 241, ArmorInventory::SLOT_CHEST))); + $this->register(new Armor(new IID(Ids::DIAMOND_CHESTPLATE, 0), "Diamond Chestplate", new ArmorTypeInfo(8, 529, ArmorInventory::SLOT_CHEST))); + $this->register(new Armor(new IID(Ids::GOLDEN_CHESTPLATE, 0), "Golden Chestplate", new ArmorTypeInfo(5, 113, ArmorInventory::SLOT_CHEST))); + $this->register(new Armor(new IID(Ids::IRON_CHESTPLATE, 0), "Iron Chestplate", new ArmorTypeInfo(6, 241, ArmorInventory::SLOT_CHEST))); + $this->register(new Armor(new IID(Ids::LEATHER_CHESTPLATE, 0), "Leather Tunic", new ArmorTypeInfo(3, 81, ArmorInventory::SLOT_CHEST))); + $this->register(new Armor(new IID(Ids::CHAIN_HELMET, 0), "Chainmail Helmet", new ArmorTypeInfo(2, 166, ArmorInventory::SLOT_HEAD))); + $this->register(new Armor(new IID(Ids::DIAMOND_HELMET, 0), "Diamond Helmet", new ArmorTypeInfo(3, 364, ArmorInventory::SLOT_HEAD))); + $this->register(new Armor(new IID(Ids::GOLDEN_HELMET, 0), "Golden Helmet", new ArmorTypeInfo(2, 78, ArmorInventory::SLOT_HEAD))); + $this->register(new Armor(new IID(Ids::IRON_HELMET, 0), "Iron Helmet", new ArmorTypeInfo(2, 166, ArmorInventory::SLOT_HEAD))); + $this->register(new Armor(new IID(Ids::LEATHER_HELMET, 0), "Leather Cap", new ArmorTypeInfo(1, 56, ArmorInventory::SLOT_HEAD))); + $this->register(new Armor(new IID(Ids::CHAIN_LEGGINGS, 0), "Chainmail Leggings", new ArmorTypeInfo(4, 226, ArmorInventory::SLOT_LEGS))); + $this->register(new Armor(new IID(Ids::DIAMOND_LEGGINGS, 0), "Diamond Leggings", new ArmorTypeInfo(6, 496, ArmorInventory::SLOT_LEGS))); + $this->register(new Armor(new IID(Ids::GOLDEN_LEGGINGS, 0), "Golden Leggings", new ArmorTypeInfo(3, 106, ArmorInventory::SLOT_LEGS))); + $this->register(new Armor(new IID(Ids::IRON_LEGGINGS, 0), "Iron Leggings", new ArmorTypeInfo(5, 226, ArmorInventory::SLOT_LEGS))); + $this->register(new Armor(new IID(Ids::LEATHER_LEGGINGS, 0), "Leather Pants", new ArmorTypeInfo(2, 76, ArmorInventory::SLOT_LEGS))); } /** @@ -474,17 +476,17 @@ class ItemFactory{ $item = clone $this->list[$zero]; $item->setDamage($meta); }else{ - $item = new Item(new ItemIdentifier($id, $meta)); + $item = new Item(new IID($id, $meta)); } }elseif($id < 256){ //intentionally includes negatives, for extended block IDs //TODO: do not assume that item IDs and block IDs are the same or related - $item = new ItemBlock(new ItemIdentifier($id, $meta), BlockFactory::getInstance()->get(self::itemToBlockId($id), $meta & 0xf)); + $item = new ItemBlock(new IID($id, $meta), BlockFactory::getInstance()->get(self::itemToBlockId($id), $meta & 0xf)); } } if($item === null){ //negative damage values will fallthru to here, to avoid crazy shit with crafting wildcard hacks - $item = new Item(new ItemIdentifier($id, $meta)); + $item = new Item(new IID($id, $meta)); } $item->setCount($count); @@ -499,7 +501,7 @@ class ItemFactory{ * @see VanillaItems::AIR() */ public static function air() : Item{ - return self::getInstance()->get(ItemIds::AIR, 0, 0); + return self::getInstance()->get(Ids::AIR, 0, 0); } /**