49 private static function loadCompoundFromFile(
string $filePath) :
CacheableNbt{
56 private static function loadBiomeDefinitionModel(
string $filePath) : array{
57 $biomeEntries = json_decode(Filesystem::fileGetContents($filePath), associative:
true);
58 if(!is_array($biomeEntries)){
62 $jsonMapper = new \JsonMapper();
63 $jsonMapper->bExceptionOnMissingData =
true;
64 $jsonMapper->bStrictObjectTypeChecking =
true;
65 $jsonMapper->bEnforceMapType =
false;
68 foreach(Utils::promoteKeys($biomeEntries) as $biomeName => $entry){
69 if(!is_array($entry)){
76 $mapWaterColour = $biomeDefinition->mapWaterColour;
80 $biomeDefinition->temperature,
81 $biomeDefinition->downfall,
82 $biomeDefinition->redSporeDensity,
83 $biomeDefinition->blueSporeDensity,
84 $biomeDefinition->ashDensity,
85 $biomeDefinition->whiteAshDensity,
86 $biomeDefinition->depth,
87 $biomeDefinition->scale,
94 $biomeDefinition->rain,
95 count($biomeDefinition->tags) > 0 ? $biomeDefinition->tags :
null,
97 }
catch(\JsonMapper_Exception $e){
98 throw new \RuntimeException($e->getMessage(), 0, $e);
105 private static function make() :
self{
112 public function __construct(
118 return $this->biomeDefs;
122 return $this->availableActorIdentifiers;