Emitters project coloured beams; the player rotates mirrors to bend each beam into a receiver that
requires that colour. Beams are drawn with particles, client-side.
Fields
| Field | Type | Description |
|---|
emitters | List<LaserEmitterDef> | Laser emitters in this puzzle. |
mirrors | List<LaserMirrorDef> | Mirrors the beams reflect off. |
receivers | List<LaserReceiverDef> | Receivers that must be lit. |
maxReflections | Var<Int> | Reflections a beam may make before it stops. |
beamDensity | Var<Double> | Beam particle density per block. |
solveSound | Sound | Played when every receiver is lit. |
LaserEmitterDef
| Field | Type | Description |
|---|
position | Var<Position> | World position of the emitter. |
color | Var<BeamColor> | Beam colour. |
direction | Var<BlockFace> | Initial beam direction. |
LaserMirrorDef
| Field | Type | Description |
|---|
position | Var<Position> | World position of the mirror. |
rotatable | Var<Boolean> | Whether players can rotate it by right-clicking. |
initialDirection | Var<BlockFace> | Starting horizontal direction. |
mirrorMaterial | Var<Material> | Material used for the mirror visual. |
LaserReceiverDef
| Field | Type | Description |
|---|
position | Var<Position> | World position of the receiver. |
requiredColor | Var<BeamColor> | Beam colour this receiver requires. |
See the shared puzzle fields for lifecycle, timing and
trigger options.
How could this be used?
A vault whose door opens once red and blue beams reach their own crystals. Setting a mirror's
rotatable to false fixes part of the path and turns the room into a real routing problem.