QtCraft API C++ classes QML types Handbook

QcPistonPlan Struct

What a piston would do now (decision E-337), worked out against the world as it is, before anything moves: pistons that act in the same step are planned on the same world and then checked against each other (QcPistonPlanner::resolveConflicts). More...

Header: #include <server/signal/QcPistonPlanner.h>

Public Functions

QcBlockPos head() const
QList<QcBlockPos> touched() const

Public Variables

QcBlockPos base
QList<QcBlockPos> broken
bool extend
QcBlockFace facing
QList<QcBlockPos> moved
bool sticky

Detailed Description

Member Function Documentation

Returns the cell of the piston's head.

QList<QcBlockPos> QcPistonPlan::touched() const

Returns every cell the plan reads or writes: the piston, its head, where blocks come from and go to.

Member Variable Documentation

QcBlockPos QcPistonPlan::base

The position of the piston.

QList<QcBlockPos> QcPistonPlan::broken

Blocks in the way that break with their drops (plants, torches, dust, liquids).

bool QcPistonPlan::extend

It extends (else it retracts).

QcBlockFace QcPistonPlan::facing

Where it points.

QList<QcBlockPos> QcPistonPlan::moved

Blocks that move one cell along facing (extending) or back against it (a sticky piston pulling), nearest to the piston first.

bool QcPistonPlan::sticky

It is a sticky piston.