From 6887fcd5904658eef490dda8370eb1061e2394db Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 7 Sep 2023 19:40:14 +0100 Subject: [PATCH] RuntimeEnum(De)SerializerTrait no longer uses legacy accessors for enum members --- build/generate-runtime-enum-serializers.php | 38 +-- .../runtime/RuntimeEnumDeserializerTrait.php | 250 +++++++++--------- .../runtime/RuntimeEnumSerializerTrait.php | 250 +++++++++--------- 3 files changed, 269 insertions(+), 269 deletions(-) diff --git a/build/generate-runtime-enum-serializers.php b/build/generate-runtime-enum-serializers.php index 805ed18e1..d822fa539 100644 --- a/build/generate-runtime-enum-serializers.php +++ b/build/generate-runtime-enum-serializers.php @@ -38,7 +38,6 @@ use pocketmine\item\MedicineType; use pocketmine\item\PotionType; use pocketmine\item\SuspiciousStewType; use function array_key_first; -use function array_keys; use function array_map; use function ceil; use function count; @@ -50,6 +49,7 @@ use function lcfirst; use function log; use function ob_get_clean; use function ob_start; +use function usort; use const SORT_STRING; require dirname(__DIR__) . '/vendor/autoload.php'; @@ -130,32 +130,32 @@ function getBitsRequired(array $members) : int{ } /** - * @param object[] $members - * @phpstan-param array $members + * @param \UnitEnum[] $members + * @phpstan-param list<\UnitEnum> $members * * @return string[] * @phpstan-return list */ function stringifyEnumMembers(array $members, string $enumClass) : array{ - ksort($members, SORT_STRING); - return array_map(fn(string $enumCaseName) => "\\$enumClass::$enumCaseName()", array_keys($members)); + usort($members, fn(\UnitEnum $a, \UnitEnum $b) => $a->name <=> $b->name); + return array_map(fn(\UnitEnum $case) => "\\$enumClass::$case->name", $members); } $enumsUsed = [ - BellAttachmentType::getAll(), - CopperOxidation::getAll(), - CoralType::getAll(), - DirtType::getAll(), - DripleafState::getAll(), - DyeColor::getAll(), - FroglightType::getAll(), - LeverFacing::getAll(), - MedicineType::getAll(), - MushroomBlockType::getAll(), - MobHeadType::getAll(), - SlabType::getAll(), - SuspiciousStewType::getAll(), - PotionType::getAll() + BellAttachmentType::cases(), + CopperOxidation::cases(), + CoralType::cases(), + DirtType::cases(), + DripleafState::cases(), + DyeColor::cases(), + FroglightType::cases(), + LeverFacing::cases(), + MedicineType::cases(), + MushroomBlockType::cases(), + MobHeadType::cases(), + SlabType::cases(), + SuspiciousStewType::cases(), + PotionType::cases() ]; $readerFuncs = [ diff --git a/src/data/runtime/RuntimeEnumDeserializerTrait.php b/src/data/runtime/RuntimeEnumDeserializerTrait.php index 7d80a6f54..aa0c1bd7b 100644 --- a/src/data/runtime/RuntimeEnumDeserializerTrait.php +++ b/src/data/runtime/RuntimeEnumDeserializerTrait.php @@ -33,209 +33,209 @@ trait RuntimeEnumDeserializerTrait{ public function bellAttachmentType(\pocketmine\block\utils\BellAttachmentType &$value) : void{ $value = match($this->readInt(2)){ - 0 => \pocketmine\block\utils\BellAttachmentType::CEILING(), - 1 => \pocketmine\block\utils\BellAttachmentType::FLOOR(), - 2 => \pocketmine\block\utils\BellAttachmentType::ONE_WALL(), - 3 => \pocketmine\block\utils\BellAttachmentType::TWO_WALLS(), + 0 => \pocketmine\block\utils\BellAttachmentType::CEILING, + 1 => \pocketmine\block\utils\BellAttachmentType::FLOOR, + 2 => \pocketmine\block\utils\BellAttachmentType::ONE_WALL, + 3 => \pocketmine\block\utils\BellAttachmentType::TWO_WALLS, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for BellAttachmentType") }; } public function copperOxidation(\pocketmine\block\utils\CopperOxidation &$value) : void{ $value = match($this->readInt(2)){ - 0 => \pocketmine\block\utils\CopperOxidation::EXPOSED(), - 1 => \pocketmine\block\utils\CopperOxidation::NONE(), - 2 => \pocketmine\block\utils\CopperOxidation::OXIDIZED(), - 3 => \pocketmine\block\utils\CopperOxidation::WEATHERED(), + 0 => \pocketmine\block\utils\CopperOxidation::EXPOSED, + 1 => \pocketmine\block\utils\CopperOxidation::NONE, + 2 => \pocketmine\block\utils\CopperOxidation::OXIDIZED, + 3 => \pocketmine\block\utils\CopperOxidation::WEATHERED, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for CopperOxidation") }; } public function coralType(\pocketmine\block\utils\CoralType &$value) : void{ $value = match($this->readInt(3)){ - 0 => \pocketmine\block\utils\CoralType::BRAIN(), - 1 => \pocketmine\block\utils\CoralType::BUBBLE(), - 2 => \pocketmine\block\utils\CoralType::FIRE(), - 3 => \pocketmine\block\utils\CoralType::HORN(), - 4 => \pocketmine\block\utils\CoralType::TUBE(), + 0 => \pocketmine\block\utils\CoralType::BRAIN, + 1 => \pocketmine\block\utils\CoralType::BUBBLE, + 2 => \pocketmine\block\utils\CoralType::FIRE, + 3 => \pocketmine\block\utils\CoralType::HORN, + 4 => \pocketmine\block\utils\CoralType::TUBE, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for CoralType") }; } public function dirtType(\pocketmine\block\utils\DirtType &$value) : void{ $value = match($this->readInt(2)){ - 0 => \pocketmine\block\utils\DirtType::COARSE(), - 1 => \pocketmine\block\utils\DirtType::NORMAL(), - 2 => \pocketmine\block\utils\DirtType::ROOTED(), + 0 => \pocketmine\block\utils\DirtType::COARSE, + 1 => \pocketmine\block\utils\DirtType::NORMAL, + 2 => \pocketmine\block\utils\DirtType::ROOTED, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for DirtType") }; } public function dripleafState(\pocketmine\block\utils\DripleafState &$value) : void{ $value = match($this->readInt(2)){ - 0 => \pocketmine\block\utils\DripleafState::FULL_TILT(), - 1 => \pocketmine\block\utils\DripleafState::PARTIAL_TILT(), - 2 => \pocketmine\block\utils\DripleafState::STABLE(), - 3 => \pocketmine\block\utils\DripleafState::UNSTABLE(), + 0 => \pocketmine\block\utils\DripleafState::FULL_TILT, + 1 => \pocketmine\block\utils\DripleafState::PARTIAL_TILT, + 2 => \pocketmine\block\utils\DripleafState::STABLE, + 3 => \pocketmine\block\utils\DripleafState::UNSTABLE, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for DripleafState") }; } public function dyeColor(\pocketmine\block\utils\DyeColor &$value) : void{ $value = match($this->readInt(4)){ - 0 => \pocketmine\block\utils\DyeColor::BLACK(), - 1 => \pocketmine\block\utils\DyeColor::BLUE(), - 2 => \pocketmine\block\utils\DyeColor::BROWN(), - 3 => \pocketmine\block\utils\DyeColor::CYAN(), - 4 => \pocketmine\block\utils\DyeColor::GRAY(), - 5 => \pocketmine\block\utils\DyeColor::GREEN(), - 6 => \pocketmine\block\utils\DyeColor::LIGHT_BLUE(), - 7 => \pocketmine\block\utils\DyeColor::LIGHT_GRAY(), - 8 => \pocketmine\block\utils\DyeColor::LIME(), - 9 => \pocketmine\block\utils\DyeColor::MAGENTA(), - 10 => \pocketmine\block\utils\DyeColor::ORANGE(), - 11 => \pocketmine\block\utils\DyeColor::PINK(), - 12 => \pocketmine\block\utils\DyeColor::PURPLE(), - 13 => \pocketmine\block\utils\DyeColor::RED(), - 14 => \pocketmine\block\utils\DyeColor::WHITE(), - 15 => \pocketmine\block\utils\DyeColor::YELLOW(), + 0 => \pocketmine\block\utils\DyeColor::BLACK, + 1 => \pocketmine\block\utils\DyeColor::BLUE, + 2 => \pocketmine\block\utils\DyeColor::BROWN, + 3 => \pocketmine\block\utils\DyeColor::CYAN, + 4 => \pocketmine\block\utils\DyeColor::GRAY, + 5 => \pocketmine\block\utils\DyeColor::GREEN, + 6 => \pocketmine\block\utils\DyeColor::LIGHT_BLUE, + 7 => \pocketmine\block\utils\DyeColor::LIGHT_GRAY, + 8 => \pocketmine\block\utils\DyeColor::LIME, + 9 => \pocketmine\block\utils\DyeColor::MAGENTA, + 10 => \pocketmine\block\utils\DyeColor::ORANGE, + 11 => \pocketmine\block\utils\DyeColor::PINK, + 12 => \pocketmine\block\utils\DyeColor::PURPLE, + 13 => \pocketmine\block\utils\DyeColor::RED, + 14 => \pocketmine\block\utils\DyeColor::WHITE, + 15 => \pocketmine\block\utils\DyeColor::YELLOW, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for DyeColor") }; } public function froglightType(\pocketmine\block\utils\FroglightType &$value) : void{ $value = match($this->readInt(2)){ - 0 => \pocketmine\block\utils\FroglightType::OCHRE(), - 1 => \pocketmine\block\utils\FroglightType::PEARLESCENT(), - 2 => \pocketmine\block\utils\FroglightType::VERDANT(), + 0 => \pocketmine\block\utils\FroglightType::OCHRE, + 1 => \pocketmine\block\utils\FroglightType::PEARLESCENT, + 2 => \pocketmine\block\utils\FroglightType::VERDANT, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for FroglightType") }; } public function leverFacing(\pocketmine\block\utils\LeverFacing &$value) : void{ $value = match($this->readInt(3)){ - 0 => \pocketmine\block\utils\LeverFacing::DOWN_AXIS_X(), - 1 => \pocketmine\block\utils\LeverFacing::DOWN_AXIS_Z(), - 2 => \pocketmine\block\utils\LeverFacing::EAST(), - 3 => \pocketmine\block\utils\LeverFacing::NORTH(), - 4 => \pocketmine\block\utils\LeverFacing::SOUTH(), - 5 => \pocketmine\block\utils\LeverFacing::UP_AXIS_X(), - 6 => \pocketmine\block\utils\LeverFacing::UP_AXIS_Z(), - 7 => \pocketmine\block\utils\LeverFacing::WEST(), + 0 => \pocketmine\block\utils\LeverFacing::DOWN_AXIS_X, + 1 => \pocketmine\block\utils\LeverFacing::DOWN_AXIS_Z, + 2 => \pocketmine\block\utils\LeverFacing::EAST, + 3 => \pocketmine\block\utils\LeverFacing::NORTH, + 4 => \pocketmine\block\utils\LeverFacing::SOUTH, + 5 => \pocketmine\block\utils\LeverFacing::UP_AXIS_X, + 6 => \pocketmine\block\utils\LeverFacing::UP_AXIS_Z, + 7 => \pocketmine\block\utils\LeverFacing::WEST, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for LeverFacing") }; } public function medicineType(\pocketmine\item\MedicineType &$value) : void{ $value = match($this->readInt(2)){ - 0 => \pocketmine\item\MedicineType::ANTIDOTE(), - 1 => \pocketmine\item\MedicineType::ELIXIR(), - 2 => \pocketmine\item\MedicineType::EYE_DROPS(), - 3 => \pocketmine\item\MedicineType::TONIC(), + 0 => \pocketmine\item\MedicineType::ANTIDOTE, + 1 => \pocketmine\item\MedicineType::ELIXIR, + 2 => \pocketmine\item\MedicineType::EYE_DROPS, + 3 => \pocketmine\item\MedicineType::TONIC, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for MedicineType") }; } public function mobHeadType(\pocketmine\block\utils\MobHeadType &$value) : void{ $value = match($this->readInt(3)){ - 0 => \pocketmine\block\utils\MobHeadType::CREEPER(), - 1 => \pocketmine\block\utils\MobHeadType::DRAGON(), - 2 => \pocketmine\block\utils\MobHeadType::PIGLIN(), - 3 => \pocketmine\block\utils\MobHeadType::PLAYER(), - 4 => \pocketmine\block\utils\MobHeadType::SKELETON(), - 5 => \pocketmine\block\utils\MobHeadType::WITHER_SKELETON(), - 6 => \pocketmine\block\utils\MobHeadType::ZOMBIE(), + 0 => \pocketmine\block\utils\MobHeadType::CREEPER, + 1 => \pocketmine\block\utils\MobHeadType::DRAGON, + 2 => \pocketmine\block\utils\MobHeadType::PIGLIN, + 3 => \pocketmine\block\utils\MobHeadType::PLAYER, + 4 => \pocketmine\block\utils\MobHeadType::SKELETON, + 5 => \pocketmine\block\utils\MobHeadType::WITHER_SKELETON, + 6 => \pocketmine\block\utils\MobHeadType::ZOMBIE, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for MobHeadType") }; } public function mushroomBlockType(\pocketmine\block\utils\MushroomBlockType &$value) : void{ $value = match($this->readInt(4)){ - 0 => \pocketmine\block\utils\MushroomBlockType::ALL_CAP(), - 1 => \pocketmine\block\utils\MushroomBlockType::CAP_EAST(), - 2 => \pocketmine\block\utils\MushroomBlockType::CAP_MIDDLE(), - 3 => \pocketmine\block\utils\MushroomBlockType::CAP_NORTH(), - 4 => \pocketmine\block\utils\MushroomBlockType::CAP_NORTHEAST(), - 5 => \pocketmine\block\utils\MushroomBlockType::CAP_NORTHWEST(), - 6 => \pocketmine\block\utils\MushroomBlockType::CAP_SOUTH(), - 7 => \pocketmine\block\utils\MushroomBlockType::CAP_SOUTHEAST(), - 8 => \pocketmine\block\utils\MushroomBlockType::CAP_SOUTHWEST(), - 9 => \pocketmine\block\utils\MushroomBlockType::CAP_WEST(), - 10 => \pocketmine\block\utils\MushroomBlockType::PORES(), + 0 => \pocketmine\block\utils\MushroomBlockType::ALL_CAP, + 1 => \pocketmine\block\utils\MushroomBlockType::CAP_EAST, + 2 => \pocketmine\block\utils\MushroomBlockType::CAP_MIDDLE, + 3 => \pocketmine\block\utils\MushroomBlockType::CAP_NORTH, + 4 => \pocketmine\block\utils\MushroomBlockType::CAP_NORTHEAST, + 5 => \pocketmine\block\utils\MushroomBlockType::CAP_NORTHWEST, + 6 => \pocketmine\block\utils\MushroomBlockType::CAP_SOUTH, + 7 => \pocketmine\block\utils\MushroomBlockType::CAP_SOUTHEAST, + 8 => \pocketmine\block\utils\MushroomBlockType::CAP_SOUTHWEST, + 9 => \pocketmine\block\utils\MushroomBlockType::CAP_WEST, + 10 => \pocketmine\block\utils\MushroomBlockType::PORES, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for MushroomBlockType") }; } public function potionType(\pocketmine\item\PotionType &$value) : void{ $value = match($this->readInt(6)){ - 0 => \pocketmine\item\PotionType::AWKWARD(), - 1 => \pocketmine\item\PotionType::FIRE_RESISTANCE(), - 2 => \pocketmine\item\PotionType::HARMING(), - 3 => \pocketmine\item\PotionType::HEALING(), - 4 => \pocketmine\item\PotionType::INVISIBILITY(), - 5 => \pocketmine\item\PotionType::LEAPING(), - 6 => \pocketmine\item\PotionType::LONG_FIRE_RESISTANCE(), - 7 => \pocketmine\item\PotionType::LONG_INVISIBILITY(), - 8 => \pocketmine\item\PotionType::LONG_LEAPING(), - 9 => \pocketmine\item\PotionType::LONG_MUNDANE(), - 10 => \pocketmine\item\PotionType::LONG_NIGHT_VISION(), - 11 => \pocketmine\item\PotionType::LONG_POISON(), - 12 => \pocketmine\item\PotionType::LONG_REGENERATION(), - 13 => \pocketmine\item\PotionType::LONG_SLOWNESS(), - 14 => \pocketmine\item\PotionType::LONG_SLOW_FALLING(), - 15 => \pocketmine\item\PotionType::LONG_STRENGTH(), - 16 => \pocketmine\item\PotionType::LONG_SWIFTNESS(), - 17 => \pocketmine\item\PotionType::LONG_TURTLE_MASTER(), - 18 => \pocketmine\item\PotionType::LONG_WATER_BREATHING(), - 19 => \pocketmine\item\PotionType::LONG_WEAKNESS(), - 20 => \pocketmine\item\PotionType::MUNDANE(), - 21 => \pocketmine\item\PotionType::NIGHT_VISION(), - 22 => \pocketmine\item\PotionType::POISON(), - 23 => \pocketmine\item\PotionType::REGENERATION(), - 24 => \pocketmine\item\PotionType::SLOWNESS(), - 25 => \pocketmine\item\PotionType::SLOW_FALLING(), - 26 => \pocketmine\item\PotionType::STRENGTH(), - 27 => \pocketmine\item\PotionType::STRONG_HARMING(), - 28 => \pocketmine\item\PotionType::STRONG_HEALING(), - 29 => \pocketmine\item\PotionType::STRONG_LEAPING(), - 30 => \pocketmine\item\PotionType::STRONG_POISON(), - 31 => \pocketmine\item\PotionType::STRONG_REGENERATION(), - 32 => \pocketmine\item\PotionType::STRONG_SLOWNESS(), - 33 => \pocketmine\item\PotionType::STRONG_STRENGTH(), - 34 => \pocketmine\item\PotionType::STRONG_SWIFTNESS(), - 35 => \pocketmine\item\PotionType::STRONG_TURTLE_MASTER(), - 36 => \pocketmine\item\PotionType::SWIFTNESS(), - 37 => \pocketmine\item\PotionType::THICK(), - 38 => \pocketmine\item\PotionType::TURTLE_MASTER(), - 39 => \pocketmine\item\PotionType::WATER(), - 40 => \pocketmine\item\PotionType::WATER_BREATHING(), - 41 => \pocketmine\item\PotionType::WEAKNESS(), - 42 => \pocketmine\item\PotionType::WITHER(), + 0 => \pocketmine\item\PotionType::AWKWARD, + 1 => \pocketmine\item\PotionType::FIRE_RESISTANCE, + 2 => \pocketmine\item\PotionType::HARMING, + 3 => \pocketmine\item\PotionType::HEALING, + 4 => \pocketmine\item\PotionType::INVISIBILITY, + 5 => \pocketmine\item\PotionType::LEAPING, + 6 => \pocketmine\item\PotionType::LONG_FIRE_RESISTANCE, + 7 => \pocketmine\item\PotionType::LONG_INVISIBILITY, + 8 => \pocketmine\item\PotionType::LONG_LEAPING, + 9 => \pocketmine\item\PotionType::LONG_MUNDANE, + 10 => \pocketmine\item\PotionType::LONG_NIGHT_VISION, + 11 => \pocketmine\item\PotionType::LONG_POISON, + 12 => \pocketmine\item\PotionType::LONG_REGENERATION, + 13 => \pocketmine\item\PotionType::LONG_SLOWNESS, + 14 => \pocketmine\item\PotionType::LONG_SLOW_FALLING, + 15 => \pocketmine\item\PotionType::LONG_STRENGTH, + 16 => \pocketmine\item\PotionType::LONG_SWIFTNESS, + 17 => \pocketmine\item\PotionType::LONG_TURTLE_MASTER, + 18 => \pocketmine\item\PotionType::LONG_WATER_BREATHING, + 19 => \pocketmine\item\PotionType::LONG_WEAKNESS, + 20 => \pocketmine\item\PotionType::MUNDANE, + 21 => \pocketmine\item\PotionType::NIGHT_VISION, + 22 => \pocketmine\item\PotionType::POISON, + 23 => \pocketmine\item\PotionType::REGENERATION, + 24 => \pocketmine\item\PotionType::SLOWNESS, + 25 => \pocketmine\item\PotionType::SLOW_FALLING, + 26 => \pocketmine\item\PotionType::STRENGTH, + 27 => \pocketmine\item\PotionType::STRONG_HARMING, + 28 => \pocketmine\item\PotionType::STRONG_HEALING, + 29 => \pocketmine\item\PotionType::STRONG_LEAPING, + 30 => \pocketmine\item\PotionType::STRONG_POISON, + 31 => \pocketmine\item\PotionType::STRONG_REGENERATION, + 32 => \pocketmine\item\PotionType::STRONG_SLOWNESS, + 33 => \pocketmine\item\PotionType::STRONG_STRENGTH, + 34 => \pocketmine\item\PotionType::STRONG_SWIFTNESS, + 35 => \pocketmine\item\PotionType::STRONG_TURTLE_MASTER, + 36 => \pocketmine\item\PotionType::SWIFTNESS, + 37 => \pocketmine\item\PotionType::THICK, + 38 => \pocketmine\item\PotionType::TURTLE_MASTER, + 39 => \pocketmine\item\PotionType::WATER, + 40 => \pocketmine\item\PotionType::WATER_BREATHING, + 41 => \pocketmine\item\PotionType::WEAKNESS, + 42 => \pocketmine\item\PotionType::WITHER, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for PotionType") }; } public function slabType(\pocketmine\block\utils\SlabType &$value) : void{ $value = match($this->readInt(2)){ - 0 => \pocketmine\block\utils\SlabType::BOTTOM(), - 1 => \pocketmine\block\utils\SlabType::DOUBLE(), - 2 => \pocketmine\block\utils\SlabType::TOP(), + 0 => \pocketmine\block\utils\SlabType::BOTTOM, + 1 => \pocketmine\block\utils\SlabType::DOUBLE, + 2 => \pocketmine\block\utils\SlabType::TOP, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for SlabType") }; } public function suspiciousStewType(\pocketmine\item\SuspiciousStewType &$value) : void{ $value = match($this->readInt(4)){ - 0 => \pocketmine\item\SuspiciousStewType::ALLIUM(), - 1 => \pocketmine\item\SuspiciousStewType::AZURE_BLUET(), - 2 => \pocketmine\item\SuspiciousStewType::BLUE_ORCHID(), - 3 => \pocketmine\item\SuspiciousStewType::CORNFLOWER(), - 4 => \pocketmine\item\SuspiciousStewType::DANDELION(), - 5 => \pocketmine\item\SuspiciousStewType::LILY_OF_THE_VALLEY(), - 6 => \pocketmine\item\SuspiciousStewType::OXEYE_DAISY(), - 7 => \pocketmine\item\SuspiciousStewType::POPPY(), - 8 => \pocketmine\item\SuspiciousStewType::TULIP(), - 9 => \pocketmine\item\SuspiciousStewType::WITHER_ROSE(), + 0 => \pocketmine\item\SuspiciousStewType::ALLIUM, + 1 => \pocketmine\item\SuspiciousStewType::AZURE_BLUET, + 2 => \pocketmine\item\SuspiciousStewType::BLUE_ORCHID, + 3 => \pocketmine\item\SuspiciousStewType::CORNFLOWER, + 4 => \pocketmine\item\SuspiciousStewType::DANDELION, + 5 => \pocketmine\item\SuspiciousStewType::LILY_OF_THE_VALLEY, + 6 => \pocketmine\item\SuspiciousStewType::OXEYE_DAISY, + 7 => \pocketmine\item\SuspiciousStewType::POPPY, + 8 => \pocketmine\item\SuspiciousStewType::TULIP, + 9 => \pocketmine\item\SuspiciousStewType::WITHER_ROSE, default => throw new InvalidSerializedRuntimeDataException("Invalid serialized value for SuspiciousStewType") }; } diff --git a/src/data/runtime/RuntimeEnumSerializerTrait.php b/src/data/runtime/RuntimeEnumSerializerTrait.php index 8c3d67118..12a205a9e 100644 --- a/src/data/runtime/RuntimeEnumSerializerTrait.php +++ b/src/data/runtime/RuntimeEnumSerializerTrait.php @@ -33,209 +33,209 @@ trait RuntimeEnumSerializerTrait{ public function bellAttachmentType(\pocketmine\block\utils\BellAttachmentType &$value) : void{ $this->writeInt(2, match($value){ - \pocketmine\block\utils\BellAttachmentType::CEILING() => 0, - \pocketmine\block\utils\BellAttachmentType::FLOOR() => 1, - \pocketmine\block\utils\BellAttachmentType::ONE_WALL() => 2, - \pocketmine\block\utils\BellAttachmentType::TWO_WALLS() => 3, + \pocketmine\block\utils\BellAttachmentType::CEILING => 0, + \pocketmine\block\utils\BellAttachmentType::FLOOR => 1, + \pocketmine\block\utils\BellAttachmentType::ONE_WALL => 2, + \pocketmine\block\utils\BellAttachmentType::TWO_WALLS => 3, default => throw new \pocketmine\utils\AssumptionFailedError("All BellAttachmentType cases should be covered") }); } public function copperOxidation(\pocketmine\block\utils\CopperOxidation &$value) : void{ $this->writeInt(2, match($value){ - \pocketmine\block\utils\CopperOxidation::EXPOSED() => 0, - \pocketmine\block\utils\CopperOxidation::NONE() => 1, - \pocketmine\block\utils\CopperOxidation::OXIDIZED() => 2, - \pocketmine\block\utils\CopperOxidation::WEATHERED() => 3, + \pocketmine\block\utils\CopperOxidation::EXPOSED => 0, + \pocketmine\block\utils\CopperOxidation::NONE => 1, + \pocketmine\block\utils\CopperOxidation::OXIDIZED => 2, + \pocketmine\block\utils\CopperOxidation::WEATHERED => 3, default => throw new \pocketmine\utils\AssumptionFailedError("All CopperOxidation cases should be covered") }); } public function coralType(\pocketmine\block\utils\CoralType &$value) : void{ $this->writeInt(3, match($value){ - \pocketmine\block\utils\CoralType::BRAIN() => 0, - \pocketmine\block\utils\CoralType::BUBBLE() => 1, - \pocketmine\block\utils\CoralType::FIRE() => 2, - \pocketmine\block\utils\CoralType::HORN() => 3, - \pocketmine\block\utils\CoralType::TUBE() => 4, + \pocketmine\block\utils\CoralType::BRAIN => 0, + \pocketmine\block\utils\CoralType::BUBBLE => 1, + \pocketmine\block\utils\CoralType::FIRE => 2, + \pocketmine\block\utils\CoralType::HORN => 3, + \pocketmine\block\utils\CoralType::TUBE => 4, default => throw new \pocketmine\utils\AssumptionFailedError("All CoralType cases should be covered") }); } public function dirtType(\pocketmine\block\utils\DirtType &$value) : void{ $this->writeInt(2, match($value){ - \pocketmine\block\utils\DirtType::COARSE() => 0, - \pocketmine\block\utils\DirtType::NORMAL() => 1, - \pocketmine\block\utils\DirtType::ROOTED() => 2, + \pocketmine\block\utils\DirtType::COARSE => 0, + \pocketmine\block\utils\DirtType::NORMAL => 1, + \pocketmine\block\utils\DirtType::ROOTED => 2, default => throw new \pocketmine\utils\AssumptionFailedError("All DirtType cases should be covered") }); } public function dripleafState(\pocketmine\block\utils\DripleafState &$value) : void{ $this->writeInt(2, match($value){ - \pocketmine\block\utils\DripleafState::FULL_TILT() => 0, - \pocketmine\block\utils\DripleafState::PARTIAL_TILT() => 1, - \pocketmine\block\utils\DripleafState::STABLE() => 2, - \pocketmine\block\utils\DripleafState::UNSTABLE() => 3, + \pocketmine\block\utils\DripleafState::FULL_TILT => 0, + \pocketmine\block\utils\DripleafState::PARTIAL_TILT => 1, + \pocketmine\block\utils\DripleafState::STABLE => 2, + \pocketmine\block\utils\DripleafState::UNSTABLE => 3, default => throw new \pocketmine\utils\AssumptionFailedError("All DripleafState cases should be covered") }); } public function dyeColor(\pocketmine\block\utils\DyeColor &$value) : void{ $this->writeInt(4, match($value){ - \pocketmine\block\utils\DyeColor::BLACK() => 0, - \pocketmine\block\utils\DyeColor::BLUE() => 1, - \pocketmine\block\utils\DyeColor::BROWN() => 2, - \pocketmine\block\utils\DyeColor::CYAN() => 3, - \pocketmine\block\utils\DyeColor::GRAY() => 4, - \pocketmine\block\utils\DyeColor::GREEN() => 5, - \pocketmine\block\utils\DyeColor::LIGHT_BLUE() => 6, - \pocketmine\block\utils\DyeColor::LIGHT_GRAY() => 7, - \pocketmine\block\utils\DyeColor::LIME() => 8, - \pocketmine\block\utils\DyeColor::MAGENTA() => 9, - \pocketmine\block\utils\DyeColor::ORANGE() => 10, - \pocketmine\block\utils\DyeColor::PINK() => 11, - \pocketmine\block\utils\DyeColor::PURPLE() => 12, - \pocketmine\block\utils\DyeColor::RED() => 13, - \pocketmine\block\utils\DyeColor::WHITE() => 14, - \pocketmine\block\utils\DyeColor::YELLOW() => 15, + \pocketmine\block\utils\DyeColor::BLACK => 0, + \pocketmine\block\utils\DyeColor::BLUE => 1, + \pocketmine\block\utils\DyeColor::BROWN => 2, + \pocketmine\block\utils\DyeColor::CYAN => 3, + \pocketmine\block\utils\DyeColor::GRAY => 4, + \pocketmine\block\utils\DyeColor::GREEN => 5, + \pocketmine\block\utils\DyeColor::LIGHT_BLUE => 6, + \pocketmine\block\utils\DyeColor::LIGHT_GRAY => 7, + \pocketmine\block\utils\DyeColor::LIME => 8, + \pocketmine\block\utils\DyeColor::MAGENTA => 9, + \pocketmine\block\utils\DyeColor::ORANGE => 10, + \pocketmine\block\utils\DyeColor::PINK => 11, + \pocketmine\block\utils\DyeColor::PURPLE => 12, + \pocketmine\block\utils\DyeColor::RED => 13, + \pocketmine\block\utils\DyeColor::WHITE => 14, + \pocketmine\block\utils\DyeColor::YELLOW => 15, default => throw new \pocketmine\utils\AssumptionFailedError("All DyeColor cases should be covered") }); } public function froglightType(\pocketmine\block\utils\FroglightType &$value) : void{ $this->writeInt(2, match($value){ - \pocketmine\block\utils\FroglightType::OCHRE() => 0, - \pocketmine\block\utils\FroglightType::PEARLESCENT() => 1, - \pocketmine\block\utils\FroglightType::VERDANT() => 2, + \pocketmine\block\utils\FroglightType::OCHRE => 0, + \pocketmine\block\utils\FroglightType::PEARLESCENT => 1, + \pocketmine\block\utils\FroglightType::VERDANT => 2, default => throw new \pocketmine\utils\AssumptionFailedError("All FroglightType cases should be covered") }); } public function leverFacing(\pocketmine\block\utils\LeverFacing &$value) : void{ $this->writeInt(3, match($value){ - \pocketmine\block\utils\LeverFacing::DOWN_AXIS_X() => 0, - \pocketmine\block\utils\LeverFacing::DOWN_AXIS_Z() => 1, - \pocketmine\block\utils\LeverFacing::EAST() => 2, - \pocketmine\block\utils\LeverFacing::NORTH() => 3, - \pocketmine\block\utils\LeverFacing::SOUTH() => 4, - \pocketmine\block\utils\LeverFacing::UP_AXIS_X() => 5, - \pocketmine\block\utils\LeverFacing::UP_AXIS_Z() => 6, - \pocketmine\block\utils\LeverFacing::WEST() => 7, + \pocketmine\block\utils\LeverFacing::DOWN_AXIS_X => 0, + \pocketmine\block\utils\LeverFacing::DOWN_AXIS_Z => 1, + \pocketmine\block\utils\LeverFacing::EAST => 2, + \pocketmine\block\utils\LeverFacing::NORTH => 3, + \pocketmine\block\utils\LeverFacing::SOUTH => 4, + \pocketmine\block\utils\LeverFacing::UP_AXIS_X => 5, + \pocketmine\block\utils\LeverFacing::UP_AXIS_Z => 6, + \pocketmine\block\utils\LeverFacing::WEST => 7, default => throw new \pocketmine\utils\AssumptionFailedError("All LeverFacing cases should be covered") }); } public function medicineType(\pocketmine\item\MedicineType &$value) : void{ $this->writeInt(2, match($value){ - \pocketmine\item\MedicineType::ANTIDOTE() => 0, - \pocketmine\item\MedicineType::ELIXIR() => 1, - \pocketmine\item\MedicineType::EYE_DROPS() => 2, - \pocketmine\item\MedicineType::TONIC() => 3, + \pocketmine\item\MedicineType::ANTIDOTE => 0, + \pocketmine\item\MedicineType::ELIXIR => 1, + \pocketmine\item\MedicineType::EYE_DROPS => 2, + \pocketmine\item\MedicineType::TONIC => 3, default => throw new \pocketmine\utils\AssumptionFailedError("All MedicineType cases should be covered") }); } public function mobHeadType(\pocketmine\block\utils\MobHeadType &$value) : void{ $this->writeInt(3, match($value){ - \pocketmine\block\utils\MobHeadType::CREEPER() => 0, - \pocketmine\block\utils\MobHeadType::DRAGON() => 1, - \pocketmine\block\utils\MobHeadType::PIGLIN() => 2, - \pocketmine\block\utils\MobHeadType::PLAYER() => 3, - \pocketmine\block\utils\MobHeadType::SKELETON() => 4, - \pocketmine\block\utils\MobHeadType::WITHER_SKELETON() => 5, - \pocketmine\block\utils\MobHeadType::ZOMBIE() => 6, + \pocketmine\block\utils\MobHeadType::CREEPER => 0, + \pocketmine\block\utils\MobHeadType::DRAGON => 1, + \pocketmine\block\utils\MobHeadType::PIGLIN => 2, + \pocketmine\block\utils\MobHeadType::PLAYER => 3, + \pocketmine\block\utils\MobHeadType::SKELETON => 4, + \pocketmine\block\utils\MobHeadType::WITHER_SKELETON => 5, + \pocketmine\block\utils\MobHeadType::ZOMBIE => 6, default => throw new \pocketmine\utils\AssumptionFailedError("All MobHeadType cases should be covered") }); } public function mushroomBlockType(\pocketmine\block\utils\MushroomBlockType &$value) : void{ $this->writeInt(4, match($value){ - \pocketmine\block\utils\MushroomBlockType::ALL_CAP() => 0, - \pocketmine\block\utils\MushroomBlockType::CAP_EAST() => 1, - \pocketmine\block\utils\MushroomBlockType::CAP_MIDDLE() => 2, - \pocketmine\block\utils\MushroomBlockType::CAP_NORTH() => 3, - \pocketmine\block\utils\MushroomBlockType::CAP_NORTHEAST() => 4, - \pocketmine\block\utils\MushroomBlockType::CAP_NORTHWEST() => 5, - \pocketmine\block\utils\MushroomBlockType::CAP_SOUTH() => 6, - \pocketmine\block\utils\MushroomBlockType::CAP_SOUTHEAST() => 7, - \pocketmine\block\utils\MushroomBlockType::CAP_SOUTHWEST() => 8, - \pocketmine\block\utils\MushroomBlockType::CAP_WEST() => 9, - \pocketmine\block\utils\MushroomBlockType::PORES() => 10, + \pocketmine\block\utils\MushroomBlockType::ALL_CAP => 0, + \pocketmine\block\utils\MushroomBlockType::CAP_EAST => 1, + \pocketmine\block\utils\MushroomBlockType::CAP_MIDDLE => 2, + \pocketmine\block\utils\MushroomBlockType::CAP_NORTH => 3, + \pocketmine\block\utils\MushroomBlockType::CAP_NORTHEAST => 4, + \pocketmine\block\utils\MushroomBlockType::CAP_NORTHWEST => 5, + \pocketmine\block\utils\MushroomBlockType::CAP_SOUTH => 6, + \pocketmine\block\utils\MushroomBlockType::CAP_SOUTHEAST => 7, + \pocketmine\block\utils\MushroomBlockType::CAP_SOUTHWEST => 8, + \pocketmine\block\utils\MushroomBlockType::CAP_WEST => 9, + \pocketmine\block\utils\MushroomBlockType::PORES => 10, default => throw new \pocketmine\utils\AssumptionFailedError("All MushroomBlockType cases should be covered") }); } public function potionType(\pocketmine\item\PotionType &$value) : void{ $this->writeInt(6, match($value){ - \pocketmine\item\PotionType::AWKWARD() => 0, - \pocketmine\item\PotionType::FIRE_RESISTANCE() => 1, - \pocketmine\item\PotionType::HARMING() => 2, - \pocketmine\item\PotionType::HEALING() => 3, - \pocketmine\item\PotionType::INVISIBILITY() => 4, - \pocketmine\item\PotionType::LEAPING() => 5, - \pocketmine\item\PotionType::LONG_FIRE_RESISTANCE() => 6, - \pocketmine\item\PotionType::LONG_INVISIBILITY() => 7, - \pocketmine\item\PotionType::LONG_LEAPING() => 8, - \pocketmine\item\PotionType::LONG_MUNDANE() => 9, - \pocketmine\item\PotionType::LONG_NIGHT_VISION() => 10, - \pocketmine\item\PotionType::LONG_POISON() => 11, - \pocketmine\item\PotionType::LONG_REGENERATION() => 12, - \pocketmine\item\PotionType::LONG_SLOWNESS() => 13, - \pocketmine\item\PotionType::LONG_SLOW_FALLING() => 14, - \pocketmine\item\PotionType::LONG_STRENGTH() => 15, - \pocketmine\item\PotionType::LONG_SWIFTNESS() => 16, - \pocketmine\item\PotionType::LONG_TURTLE_MASTER() => 17, - \pocketmine\item\PotionType::LONG_WATER_BREATHING() => 18, - \pocketmine\item\PotionType::LONG_WEAKNESS() => 19, - \pocketmine\item\PotionType::MUNDANE() => 20, - \pocketmine\item\PotionType::NIGHT_VISION() => 21, - \pocketmine\item\PotionType::POISON() => 22, - \pocketmine\item\PotionType::REGENERATION() => 23, - \pocketmine\item\PotionType::SLOWNESS() => 24, - \pocketmine\item\PotionType::SLOW_FALLING() => 25, - \pocketmine\item\PotionType::STRENGTH() => 26, - \pocketmine\item\PotionType::STRONG_HARMING() => 27, - \pocketmine\item\PotionType::STRONG_HEALING() => 28, - \pocketmine\item\PotionType::STRONG_LEAPING() => 29, - \pocketmine\item\PotionType::STRONG_POISON() => 30, - \pocketmine\item\PotionType::STRONG_REGENERATION() => 31, - \pocketmine\item\PotionType::STRONG_SLOWNESS() => 32, - \pocketmine\item\PotionType::STRONG_STRENGTH() => 33, - \pocketmine\item\PotionType::STRONG_SWIFTNESS() => 34, - \pocketmine\item\PotionType::STRONG_TURTLE_MASTER() => 35, - \pocketmine\item\PotionType::SWIFTNESS() => 36, - \pocketmine\item\PotionType::THICK() => 37, - \pocketmine\item\PotionType::TURTLE_MASTER() => 38, - \pocketmine\item\PotionType::WATER() => 39, - \pocketmine\item\PotionType::WATER_BREATHING() => 40, - \pocketmine\item\PotionType::WEAKNESS() => 41, - \pocketmine\item\PotionType::WITHER() => 42, + \pocketmine\item\PotionType::AWKWARD => 0, + \pocketmine\item\PotionType::FIRE_RESISTANCE => 1, + \pocketmine\item\PotionType::HARMING => 2, + \pocketmine\item\PotionType::HEALING => 3, + \pocketmine\item\PotionType::INVISIBILITY => 4, + \pocketmine\item\PotionType::LEAPING => 5, + \pocketmine\item\PotionType::LONG_FIRE_RESISTANCE => 6, + \pocketmine\item\PotionType::LONG_INVISIBILITY => 7, + \pocketmine\item\PotionType::LONG_LEAPING => 8, + \pocketmine\item\PotionType::LONG_MUNDANE => 9, + \pocketmine\item\PotionType::LONG_NIGHT_VISION => 10, + \pocketmine\item\PotionType::LONG_POISON => 11, + \pocketmine\item\PotionType::LONG_REGENERATION => 12, + \pocketmine\item\PotionType::LONG_SLOWNESS => 13, + \pocketmine\item\PotionType::LONG_SLOW_FALLING => 14, + \pocketmine\item\PotionType::LONG_STRENGTH => 15, + \pocketmine\item\PotionType::LONG_SWIFTNESS => 16, + \pocketmine\item\PotionType::LONG_TURTLE_MASTER => 17, + \pocketmine\item\PotionType::LONG_WATER_BREATHING => 18, + \pocketmine\item\PotionType::LONG_WEAKNESS => 19, + \pocketmine\item\PotionType::MUNDANE => 20, + \pocketmine\item\PotionType::NIGHT_VISION => 21, + \pocketmine\item\PotionType::POISON => 22, + \pocketmine\item\PotionType::REGENERATION => 23, + \pocketmine\item\PotionType::SLOWNESS => 24, + \pocketmine\item\PotionType::SLOW_FALLING => 25, + \pocketmine\item\PotionType::STRENGTH => 26, + \pocketmine\item\PotionType::STRONG_HARMING => 27, + \pocketmine\item\PotionType::STRONG_HEALING => 28, + \pocketmine\item\PotionType::STRONG_LEAPING => 29, + \pocketmine\item\PotionType::STRONG_POISON => 30, + \pocketmine\item\PotionType::STRONG_REGENERATION => 31, + \pocketmine\item\PotionType::STRONG_SLOWNESS => 32, + \pocketmine\item\PotionType::STRONG_STRENGTH => 33, + \pocketmine\item\PotionType::STRONG_SWIFTNESS => 34, + \pocketmine\item\PotionType::STRONG_TURTLE_MASTER => 35, + \pocketmine\item\PotionType::SWIFTNESS => 36, + \pocketmine\item\PotionType::THICK => 37, + \pocketmine\item\PotionType::TURTLE_MASTER => 38, + \pocketmine\item\PotionType::WATER => 39, + \pocketmine\item\PotionType::WATER_BREATHING => 40, + \pocketmine\item\PotionType::WEAKNESS => 41, + \pocketmine\item\PotionType::WITHER => 42, default => throw new \pocketmine\utils\AssumptionFailedError("All PotionType cases should be covered") }); } public function slabType(\pocketmine\block\utils\SlabType &$value) : void{ $this->writeInt(2, match($value){ - \pocketmine\block\utils\SlabType::BOTTOM() => 0, - \pocketmine\block\utils\SlabType::DOUBLE() => 1, - \pocketmine\block\utils\SlabType::TOP() => 2, + \pocketmine\block\utils\SlabType::BOTTOM => 0, + \pocketmine\block\utils\SlabType::DOUBLE => 1, + \pocketmine\block\utils\SlabType::TOP => 2, default => throw new \pocketmine\utils\AssumptionFailedError("All SlabType cases should be covered") }); } public function suspiciousStewType(\pocketmine\item\SuspiciousStewType &$value) : void{ $this->writeInt(4, match($value){ - \pocketmine\item\SuspiciousStewType::ALLIUM() => 0, - \pocketmine\item\SuspiciousStewType::AZURE_BLUET() => 1, - \pocketmine\item\SuspiciousStewType::BLUE_ORCHID() => 2, - \pocketmine\item\SuspiciousStewType::CORNFLOWER() => 3, - \pocketmine\item\SuspiciousStewType::DANDELION() => 4, - \pocketmine\item\SuspiciousStewType::LILY_OF_THE_VALLEY() => 5, - \pocketmine\item\SuspiciousStewType::OXEYE_DAISY() => 6, - \pocketmine\item\SuspiciousStewType::POPPY() => 7, - \pocketmine\item\SuspiciousStewType::TULIP() => 8, - \pocketmine\item\SuspiciousStewType::WITHER_ROSE() => 9, + \pocketmine\item\SuspiciousStewType::ALLIUM => 0, + \pocketmine\item\SuspiciousStewType::AZURE_BLUET => 1, + \pocketmine\item\SuspiciousStewType::BLUE_ORCHID => 2, + \pocketmine\item\SuspiciousStewType::CORNFLOWER => 3, + \pocketmine\item\SuspiciousStewType::DANDELION => 4, + \pocketmine\item\SuspiciousStewType::LILY_OF_THE_VALLEY => 5, + \pocketmine\item\SuspiciousStewType::OXEYE_DAISY => 6, + \pocketmine\item\SuspiciousStewType::POPPY => 7, + \pocketmine\item\SuspiciousStewType::TULIP => 8, + \pocketmine\item\SuspiciousStewType::WITHER_ROSE => 9, default => throw new \pocketmine\utils\AssumptionFailedError("All SuspiciousStewType cases should be covered") }); }