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

Method BeamMiningTool

source/game/items/StarTools.cpp:326–349  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

324}
325
326BeamMiningTool::BeamMiningTool(Json const& config, String const& directory, Json const& parameters)
327 : Item(config, directory, parameters), FireableItem(config), BeamItem(config.setAll(parameters.toObject())) {
328 auto assets = Root::singleton().assets();
329
330 m_blockRadius = instanceValue("blockRadius").toFloat();
331 m_altBlockRadius = instanceValue("altBlockRadius").toFloat();
332 m_tileDamage = instanceValue("tileDamage", 1.0f).toFloat();
333 m_harvestLevel = instanceValue("harvestLevel", 1).toUInt();
334 m_canCollectLiquid = instanceValue("canCollectLiquid", false).toBool();
335 m_strikeSounds = jsonToStringList(instanceValue("strikeSounds"));
336 m_toolVolume = assets->json("/sfx.config:miningToolVolume").toFloat();
337 m_blockVolume = assets->json("/sfx.config:miningBlockVolume").toFloat();
338 m_endType = EndType::Object;
339
340 if (auto jRate = instanceValue("scaleRate")) {
341 if (jRate.canConvert(Json::Type::Float)) {
342 float rate = jRate.toFloat();
343 m_tileDamage /= rate;
344 m_cooldownTime /= rate;
345 }
346 }
347
348 m_inhandStatusEffects = instanceValue("inhandStatusEffects", JsonArray()).toArray().transformed(jsonToPersistentStatusEffect);
349}
350
351ItemPtr BeamMiningTool::clone() const {
352 return make_shared<BeamMiningTool>(*this);

Callers

nothing calls this directly

Calls 12

singletonClass · 0.85
jsonToStringListFunction · 0.85
setAllMethod · 0.80
toObjectMethod · 0.80
assetsMethod · 0.80
toFloatMethod · 0.80
toUIntMethod · 0.80
toBoolMethod · 0.80
jsonMethod · 0.80
canConvertMethod · 0.80
toArrayMethod · 0.80
transformedMethod · 0.45

Tested by

no test coverage detected