59 $stringIndexLookup = [];
61 $addString =
function(
string $string) use (&$stringIndexLookup, &$strings) :
int{
62 if(isset($stringIndexLookup[$string])){
63 return $stringIndexLookup[$string];
66 $stringIndexLookup[$string] = count($stringIndexLookup);
68 return $stringIndexLookup[$string];
72 $addString($entry->getBiomeName()),
74 $entry->getTemperature(),
75 $entry->getDownfall(),
76 $entry->getRedSporeDensity(),
77 $entry->getBlueSporeDensity(),
78 $entry->getAshDensity(),
79 $entry->getWhiteAshDensity(),
82 $entry->getMapWaterColor(),
84 $entry->
getTags() ===
null ?
null : array_map($addString, $entry->
getTags()),
85 $entry->getChunkGenData(),
88 return self::create($definitionData, $strings);
108 $this->locateString($data->getNameIndex()),
110 $data->getTemperature(),
111 $data->getDownfall(),
112 $data->getRedSporeDensity(),
113 $data->getBlueSporeDensity(),
114 $data->getAshDensity(),
115 $data->getWhiteAshDensity(),
118 $data->getMapWaterColor(),
120 ($tagIndexes = $data->getTagIndexes()) === null ? null : array_map($this->locateString(...), $tagIndexes),
121 $data->getChunkGenData(),
122 ), $this->definitionData);