puzzle_block_push
A sokoban-style puzzle: the player pushes blocks across the floor until each one sits in a matching hole.
Fields
| Field | Type | Description |
|---|---|---|
pushBlocks | List<PushBlockDef> | Pushable blocks and their starting positions. |
targetHoles | List<TargetHoleDef> | Target holes, with position and accepted material. |
allowPull | Var<Boolean> | Whether blocks may also be pulled backward. |
pushSound | Sound | Played when a block moves. |
solveSound | Sound | Played when every block is in place. |
blockMaterial | Var<Material> | Material used for the pushable block visual. |
holeMaterial | Var<Material> | Material used for the target hole visual. |
PushBlockDef
| Field | Type | Description |
|---|---|---|
position | Var<Position> | Starting position of the pushable block. |
TargetHoleDef
| Field | Type | Description |
|---|---|---|
position | Var<Position> | Position of the target hole. |
acceptedMaterial | Var<Material> | Material this hole accepts. AIR accepts any block. |
See the shared puzzle fields for lifecycle, timing and trigger options.
How could this be used?
A crypt floor where three sarcophagi must be slid onto their engraved slabs. Turn allowPull on if
a player who pushes a block into a corner should be able to recover instead of being stuck.