bukkure.blocks

back

(back & [x])

See move :south x

calcline

(calcline xt yt zt)

This returns a set of points for a line

clear-mark

(clear-mark mark)

Clears a mark

copy

(copy mark radius)

Copy a sphere of a given radius into a mark

copy-to-mark

(copy-to-mark mark)

Copy a block to a mark

cut

(cut mark radius)

Cut a sphere of a given radius into a mark

cut-to-mark

(cut-to-mark mark)

Cut a block to a mark, replacing everything with a given material or air if not provided

defaction

macro

(defaction name docstring ctx-binding params & method-body)

down

(down & [x])

See move :down x

extrude

(extrude direction x & actions)

find-relative-dir

(find-relative-dir d r)

Find relative direction, where forward is north, and left is west

fork

(fork actions)

Run actions with ctx but don’t update current ctx - effectively a subprocess

forward

(forward & [x])

See move :north x

gen-mark

(gen-mark)

Returns a random UUID as a string

jump

(jump mark)

Jump your pointer to a given mark

left

(left & [x])

See move :east x

left-face

(left-face key)

Get the face 270deg from the given one. Stays the same for up/down

line

(line fwd lft u)

Draw a line, relative to current position and direction

line-to-mark

(line-to-mark mark)

Draw a line directly to a given mark from current point

location-to-point

(location-to-point origin point)

mark

(mark mark)

Stow away the state of a context into a given key

material

(material material-key)

Set the current material to paint with

move

(move direction distance)

Move the current point in a direction

opposite-face

(opposite-face key)

Get the opposite facing direction

paste

(paste mark)

Paste a previously copied or cut block against a mark

pen

(pen type)

Do something with the ‘pen’, set whether it should paint as you move or not

pen-down

(pen-down)

pen-from-mark

(pen-from-mark mark)

Restore the pen state from mark

pen-toggle

(pen-toggle)

pen-up

(pen-up)

right

(right & [x])

See move :west x

right-face

(right-face key)

Get the face 90deg from the given one. Stays the same for up/down

run-action

multimethod

run-actions

(run-actions ctx & actions)

setup-context

(setup-context player-name)

turn

(turn relativedir)

Turn the direction the current context is facing

turn-around

(turn-around)

turn-left

(turn-left)

turn-right

(turn-right)

up

(up & [x])

See move :up x