#pragma once #include "StarJson.hpp" #include "StarVector.hpp" #include "StarBiMap.hpp" #include "StarWeightedPool.hpp" namespace Star { STAR_EXCEPTION(SpawnTypeDatabaseException, StarException); STAR_CLASS(SpawnTypeDatabase); struct SpawnParameters { enum class Area : uint8_t { Surface, Ceiling, Air, Liquid, Solid }; enum class Region : uint8_t { All, Enclosed, Exposed }; enum class Time : uint8_t { All, Day, Night }; static EnumMap const AreaNames; static EnumMap const RegionNames; static EnumMap