QtCraft API C++ classes QML types Handbook

QcMineshaftSettings Struct

Abandoned mine shafts of the terrain generator ("mineshafts" in worldgen/terrain.json, decision E-570): a network of corridors on several levels below a central room, laid out on a square lattice, with wooden supports, rails, cobwebs, chest minecarts with loot and spawners; levels joined by staircases, plank bridges on pillars where a corridor crosses a cave, and a ladder shaft with a headframe up to the surface in some of them. More...

Header: #include <common/content/worldgen/QcMineshaftDefinition.h>

Public Types

struct BiomeChance

Public Functions

double entranceChanceIn(const QString &biome) const
int extent() const
bool fitsRoom(int sizeX, int sizeY, int sizeZ) const
int spacing() const

Public Variables

int attempts
QString cart
double cartChance
double chance
QString cobweb
double cobwebChance
bool enabled
QList<QcMineshaftSettings::BiomeChance> entranceBiomes
double entranceChance
double extraStairChance
int groundCover
int inclineWeight
QString ladder
int ladderWeight
int levelSpacing
QString light
double lightChance
int lightDistance
double loopChance
QString lootTable
int maxLevels
int maxNodes
int maxPillar
int maxRooms
int maxRun
int maxSpawners
int maxY
int minLevels
int minNodes
int minSpawners
int minY
QString mob
QString planks
QString post
int radius
QString rail
double railChance
int regionSize
double roomChance
int roomHalf
int roomHeight
QString seal
QString spawner
int supportSpacing

Static Public Members

const int maxEntranceWeight
const int maxLevelCount
const int maxRadius
const int maxRegionSize
const int maxRoomFootprint
const int maxRunLength

Detailed Description

Rooms come from structures that name a "mineshaft" weight. Server side only.

Member Function Documentation

double QcMineshaftSettings::entranceChanceIn(const QString &biome) const

Returns the chance of a surface entrance in biome: its entry in entranceBiomes, else entranceChance.

int QcMineshaftSettings::extent() const

Returns how far from its centre a mine shaft may reach (room, corridors, structures; not the entrance's headframe, which stays above the room).

bool QcMineshaftSettings::fitsRoom(int sizeX, int sizeY, int sizeZ) const

Returns whether a structure fits as a room: odd sides of at most maxRoomFootprint (its door in the middle of a side) and lower than a level. sizeX, sizeY and sizeZ are the structure's sizes.

int QcMineshaftSettings::spacing() const

Returns the lattice spacing: crossings are this many blocks apart.

Member Variable Documentation

int QcMineshaftSettings::attempts

Places tried for the central room per region.

double QcMineshaftSettings::chance

Chance that a region gets a mine shaft ("chance", 0 to 1).

QString QcMineshaftSettings::cobweb

Cobweb block placed at the sides of corridors ("cobweb").

double QcMineshaftSettings::cobwebChance

Chance of a cobweb in a corridor's upper side cells; in the lower ones a quarter of it ("cobwebChance", 0 to 1).

bool QcMineshaftSettings::enabled

No "mineshafts" object, or "enabled": false: none.

QList<QcMineshaftSettings::BiomeChance> QcMineshaftSettings::entranceBiomes

Entrance chances of single biomes ("entranceBiomes", biome name to chance); they replace entranceChance in those biomes.

double QcMineshaftSettings::entranceChance

Surface entrance: a ladder shaft from the central room up with a headframe, with entranceChance, or the chance of the biome at the shaft.

double QcMineshaftSettings::extraStairChance

Chance of a second staircase between two levels.

int QcMineshaftSettings::groundCover

Ground left above every corridor at least.

QString QcMineshaftSettings::ladder

Ladder block of the entrance shaft ("ladder").

int QcMineshaftSettings::levelSpacing

Height between two levels: also the number of steps of a staircase, and the lattice spacing is three more (the corridor between two crossings is as long as a staircase).

double QcMineshaftSettings::loopChance

Chance of a corridor between two crossings of a level that are joined another way already.

const int QcMineshaftSettings::maxEntranceWeight

Largest accepted weight in "entranceKinds".

const int QcMineshaftSettings::maxLevelCount

Largest accepted minLevels and maxLevels.

int QcMineshaftSettings::maxPillar

Pillars under bridges reach the ground within this many blocks, or the corridor is not made.

const int QcMineshaftSettings::maxRadius

Largest accepted radius.

const int QcMineshaftSettings::maxRegionSize

Largest accepted regionSize.

const int QcMineshaftSettings::maxRoomFootprint

Rooms from structures fit into a lattice cell beside their corridor.

int QcMineshaftSettings::maxRun

Lattice steps a level grows straight on from a node at most per try (decision E-889): runs of crossings in a line read as long corridors; 1: one step per try.

const int QcMineshaftSettings::maxRunLength

Largest accepted maxRun.

QString QcMineshaftSettings::mob

Mob the spawners spawn ("mob").

QString QcMineshaftSettings::planks

Plank block of the support beams, the bridges and the entrances ("planks").

QString QcMineshaftSettings::post

Post block of the supports and of the pillars under bridges ("post").

int QcMineshaftSettings::radius

Lattice steps from the centre a crossing may lie.

QString QcMineshaftSettings::rail

Rail block ("rail"); its straight and ascending states are used.

double QcMineshaftSettings::railChance

Chance of rails along a corridor ("railChance", 0 to 1).

int QcMineshaftSettings::regionSize

One mine shaft at most per square region of this many blocks, with chance; the whole network stays inside its region.

QString QcMineshaftSettings::seal

Turns liquid beside a corridor into this block, so generated liquids stay still.

QString QcMineshaftSettings::spawner

Spawner block ("spawner").

int QcMineshaftSettings::supportSpacing

A support (two posts and a beam) every this many cells of a corridor.