MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / PlantDatabase

Method PlantDatabase

source/game/StarPlantDatabase.cpp:104–140  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

102}
103
104PlantDatabase::PlantDatabase() {
105 auto assets = Root::singleton().assets();
106
107 auto& stems = assets->scanExtension("modularstem");
108 auto& foliages = assets->scanExtension("modularfoliage");
109 auto& grasses = assets->scanExtension("grass");
110 auto& bushes = assets->scanExtension("bush");
111
112 assets->queueJsons(stems);
113 assets->queueJsons(foliages);
114 assets->queueJsons(grasses);
115 assets->queueJsons(bushes);
116
117 try {
118 for (auto& file : stems) {
119 auto config = assets->json(file);
120 m_treeStemConfigs.insert(config.getString("name"), Config{AssetPath::directory(file), config.toObject()});
121 }
122
123 for (auto& file : foliages) {
124 auto config = assets->json(file);
125 m_treeFoliageConfigs.insert(config.getString("name"), Config{AssetPath::directory(file), config.toObject()});
126 }
127
128 for (auto& file : grasses) {
129 auto config = assets->json(file);
130 m_grassConfigs.insert(config.getString("name"), Config{AssetPath::directory(file), config.toObject()});
131 }
132
133 for (auto& file : bushes) {
134 auto config = assets->json(file);
135 m_bushConfigs.insert(config.getString("name"), Config{AssetPath::directory(file), config.toObject()});
136 }
137 } catch (StarException const& e) {
138 throw PlantDatabaseException("Error loading plant database", e);
139 }
140}
141
142StringList PlantDatabase::treeStemNames(bool ceiling) const {
143 StringList names;

Callers

nothing calls this directly

Calls 7

singletonClass · 0.85
assetsMethod · 0.80
queueJsonsMethod · 0.80
jsonMethod · 0.80
getStringMethod · 0.80
toObjectMethod · 0.80
insertMethod · 0.45

Tested by

no test coverage detected