Remove obsolete TreeType magic numbers

This commit is contained in:
Dylan K. Taylor 2022-08-26 17:07:35 +01:00
parent 64ac20173b
commit 4bd2325828
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D

View File

@ -44,42 +44,20 @@ final class TreeType{
__construct as Enum___construct; __construct as Enum___construct;
} }
/** @var TreeType[] */
private static array $numericIdMap = [];
protected static function setup() : void{ protected static function setup() : void{
self::registerAll( self::registerAll(
new TreeType("oak", "Oak", 0), new TreeType("oak", "Oak"),
new TreeType("spruce", "Spruce", 1), new TreeType("spruce", "Spruce"),
new TreeType("birch", "Birch", 2), new TreeType("birch", "Birch"),
new TreeType("jungle", "Jungle", 3), new TreeType("jungle", "Jungle"),
new TreeType("acacia", "Acacia", 4), new TreeType("acacia", "Acacia"),
new TreeType("dark_oak", "Dark Oak", 5) new TreeType("dark_oak", "Dark Oak")
); );
} }
protected static function register(TreeType $type) : void{
self::Enum_register($type);
self::$numericIdMap[$type->getMagicNumber()] = $type;
}
/**
* @internal
*
* @throws \InvalidArgumentException
*/
public static function fromMagicNumber(int $magicNumber) : TreeType{
self::checkInit();
if(!isset(self::$numericIdMap[$magicNumber])){
throw new \InvalidArgumentException("Unknown tree type magic number $magicNumber");
}
return self::$numericIdMap[$magicNumber];
}
private function __construct( private function __construct(
string $enumName, string $enumName,
private string $displayName, private string $displayName
private int $magicNumber
){ ){
$this->Enum___construct($enumName); $this->Enum___construct($enumName);
} }
@ -87,8 +65,4 @@ final class TreeType{
public function getDisplayName() : string{ public function getDisplayName() : string{
return $this->displayName; return $this->displayName;
} }
public function getMagicNumber() : int{
return $this->magicNumber;
}
} }