QtCraft API C++ classes QML types Handbook

QcMineshaftPlanner Class

Plans the mine shaft of a region (decision E-570) from the seed and the terrain noise: whether the region has one (chance), how many levels, a place for the central room deep enough with a solid floor, the lattice network grown level by level (QcMineshaftNetwork, judged by QcMineshaftSite), laid out as nodes and corridors (QcMineshaftFrame), then rooms from structures and the surface entrance (QcMineshaftAccess) and the corridors' details (QcMineshaftDetails). More...

Header: #include <worldgen/mineshafts/QcMineshaftPlanner.h>

Public Functions

QcMineshaftPlanner(const QcTerrainGenerator &terrain, const QcContentRegistry &content, quint64 seed)
QcMineshaftPlanner(const QcMineshaftPlanner &)
QcMineshaftPlanner(QcMineshaftPlanner &&)
const QcMineshaftBlocks &blocks() const
bool enabled() const
std::shared_ptr<const QcMineshaftPlan> plan(int regionX, int regionZ) const
const QcMineshaftSettings &settings() const
const QStringList &warnings() const
QcMineshaftPlanner &operator=(QcMineshaftPlanner &&)
QcMineshaftPlanner &operator=(const QcMineshaftPlanner &)

Detailed Description

Thread-safe: plan() only reads immutable state.

Member Function Documentation

QcMineshaftPlanner::QcMineshaftPlanner(const QcTerrainGenerator &terrain, const QcContentRegistry &content, quint64 seed)

Plans with the mine shaft settings of content over the noise of terrain, seeded from seed. Unresolvable blocks switch mine shafts off with a warning (warnings()).

[delete] QcMineshaftPlanner::QcMineshaftPlanner(const QcMineshaftPlanner &)

Copy-constructs an instance of QcMineshaftPlanner. This function is deleted.

[delete] QcMineshaftPlanner::QcMineshaftPlanner(QcMineshaftPlanner &&)

Move-constructs an instance of QcMineshaftPlanner. This function is deleted.

const QcMineshaftBlocks &QcMineshaftPlanner::blocks() const

Returns the resolved blocks.

bool QcMineshaftPlanner::enabled() const

Returns whether mine shafts are planned: enabled in the settings and every block known.

std::shared_ptr<const QcMineshaftPlan> QcMineshaftPlanner::plan(int regionX, int regionZ) const

Returns the mine shaft of the region regionX, regionZ; null without one.

const QcMineshaftSettings &QcMineshaftPlanner::settings() const

Returns the mine shaft settings of the content.

const QStringList &QcMineshaftPlanner::warnings() const

Returns the problems found in the settings (unknown blocks, unknown entrance biomes).

[delete] QcMineshaftPlanner &QcMineshaftPlanner::operator=(QcMineshaftPlanner &&)

Move-assigns other to this QcMineshaftPlanner instance. This function is deleted.

[delete] QcMineshaftPlanner &QcMineshaftPlanner::operator=(const QcMineshaftPlanner &)

Copy-assigns other to this QcMineshaftPlanner instance. This function is deleted.