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

Method buildGrassVariant

source/game/StarPlantDatabase.cpp:261–288  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

259}
260
261GrassVariant PlantDatabase::buildGrassVariant(String const& name, float hueShift) const {
262 if (!m_grassConfigs.contains(name))
263 throw PlantDatabaseException(strf("grass '{}' not found in plant database", name));
264
265 GrassVariant grassVariant;
266 auto config = m_grassConfigs.get(name);
267
268 grassVariant.name = name;
269 grassVariant.directory = config.directory;
270 grassVariant.images = jsonToStringList(config.settings.get("images"));
271 grassVariant.hueShift = hueShift;
272 grassVariant.ceiling = config.settings.getBool("ceiling", false);
273
274 JsonObject descriptions;
275 for (auto const& entry : config.settings.iterateObject()) {
276 if (entry.first.endsWith("Description"))
277 descriptions[entry.first] = entry.second;
278 }
279 descriptions["description"] = config.settings.getString("description", name);
280 grassVariant.descriptions = descriptions;
281
282 grassVariant.ephemeral = config.settings.getBool("ephemeral", true);
283 grassVariant.tileDamageParameters = TileDamageParameters(
284 config.settings.get("damageTable", "/plants/grassDamage.config"),
285 config.settings.getFloat("health", 1.0f));
286
287 return grassVariant;
288}
289
290StringList PlantDatabase::bushNames(bool ceiling) const {
291 StringList names;

Callers 1

createItemMethod · 0.80

Calls 10

strfFunction · 0.85
jsonToStringListFunction · 0.85
getBoolMethod · 0.80
iterateObjectMethod · 0.80
getStringMethod · 0.80
getFloatMethod · 0.80
containsMethod · 0.45
getMethod · 0.45
endsWithMethod · 0.45

Tested by

no test coverage detected