*/ private static function loadCompoundFromFile(string $filePath) : CacheableNbt{ return new CacheableNbt((new NetworkNbtSerializer())->read(Filesystem::fileGetContents($filePath))->mustGetCompoundTag()); } private static function make() : self{ return new self( BiomeDefinitionListPacket::create(self::loadCompoundFromFile(BedrockDataFiles::BIOME_DEFINITIONS_NBT)), AvailableActorIdentifiersPacket::create(self::loadCompoundFromFile(BedrockDataFiles::ENTITY_IDENTIFIERS_NBT)) ); } public function __construct( private BiomeDefinitionListPacket $biomeDefs, private AvailableActorIdentifiersPacket $availableActorIdentifiers ){} public function getBiomeDefs() : BiomeDefinitionListPacket{ return $this->biomeDefs; } public function getAvailableActorIdentifiers() : AvailableActorIdentifiersPacket{ return $this->availableActorIdentifiers; } }