This is the online version of the Hextra Patterns documentation.

Entries which are blurred are spoilers. Click to reveal them, but be aware that they may spoil endgame progression. Alternatively, click here to get a version with all spoilers showing.

A list of all the patterns I've discovered, as well as what they do.

ArrowVector Literals

Vector Literals

Interestingly, flipping any Vector Reflection horizontally allows it to be subject to the same rules as Number Reflection. The direction of the head determines the direction, much like the tail of Vector Reflection.


Vector Rfln. +X/-X II (→ vector)

Your browser does not support visualizing patterns. Pattern code: aeqqqqqaw Your browser does not support visualizing patterns. Pattern code: aqeeeeedw

A head that sharply bends to the left will output a vector along the X axis.


Vector Rfln. +Y/-Y II (→ vector)

Your browser does not support visualizing patterns. Pattern code: weqqqqqaw Your browser does not support visualizing patterns. Pattern code: wqeeeeedw

A head that doesn't bend will output a vector along the Y axis.


Vector Rfln. +Z/-Z II (→ vector)

Your browser does not support visualizing patterns. Pattern code: deqqqqqaw Your browser does not support visualizing patterns. Pattern code: dqeeeeedw

A head that sharply bends to the right will output a vector along the Z axis.


Vector Rfln. +1/-1 II (→ vector)

Your browser does not support visualizing patterns. Pattern code: qeqqqqqaw Your browser does not support visualizing patterns. Pattern code: qqeeeeedw

A head that slightly bends to the left will output a vector where all 3 components are the same.


First, I draw one of the eight shapes shown on the prior pages. Next, the angles following will modify a running count starting at 0.

Forward: Add 1

Left: Add 5

Right: Add 10

Sharp Left: Multiply by 2

Sharp Right: Divide by 2.
The clockwise version of the pattern, on the right of the other page, will negate the value at the very end. (The left-hand counter-clockwise version keeps the number positive).

Once I finish drawing, the a vector's pushed to the top of the stack.


Example 1

Your browser does not support visualizing patterns. Pattern code: aeqqqqqawe

This pattern pushes (10, 0, 0).


Example 2

Your browser does not support visualizing patterns. Pattern code: weqqqqqawqww

This pattern pushes (0, 7, 0): 5 + 1 + 1.


Example 3

Your browser does not support visualizing patterns. Pattern code: dqeeeeedwwqea

This pattern pushes (0, 0, -32): negate 1 + 5 + 10 * 2.


Example 4

Your browser does not support visualizing patterns. Pattern code: qeqqqqqawqdww

This pattern pushes (4.5, 4.5, 4.5): 5 / 2 + 1 + 1.


Popped Chorus FruitHextra Math

Radian Purification (number → number)

Your browser does not support visualizing patterns. Pattern code: qqqqqdwdq

Converts an angle in degrees to an angle in radians. Essentially multiplies by pi then divides by 180.


Degree Purification (number → number)

Your browser does not support visualizing patterns. Pattern code: qdwdqqqqq

Converts an angle in radians to an angle in degrees. Essentially multiplies by 180 then divides by pi.


Norm Purification (vector → vector)

Your browser does not support visualizing patterns. Pattern code: eeeeedww

Sets the length of the vector to one.


Pitch Distillation (vector, number → vector)

Your browser does not support visualizing patterns. Pattern code: aaqqqqqea

Rotates the vector by the given angle in radians around the X axis.


Yaw Distillation (vector, number → vector)

Your browser does not support visualizing patterns. Pattern code: aaqqqqqew

Rotates the vector by the given angle in radians around the Y axis.


Roll Distillation (vector, number → vector)

Your browser does not support visualizing patterns. Pattern code: aaqqqqqed

Rotates the vector by the given angle in radians around the Z axis.


Pitch Purification (number → vector)

Your browser does not support visualizing patterns. Pattern code: daqqqqqea

Converts an angle in radians to a unit vector where X=0. +Z at 0 radians and +Y at pi/4 radians.


Yaw Purification (number → vector)

Your browser does not support visualizing patterns. Pattern code: daqqqqqew

Converts an angle in radians to a unit vector where Y=0. +Z at 0 radians and -X at pi/4 radians. Some texts have mentioned something called F3, but I haven't been able to tell what that means.


Roll Purification (number → vector)

Your browser does not support visualizing patterns. Pattern code: daqqqqqed

Converts an angle in radians to a unit vector where Z=0. -X at 0 radians and +Y at pi/4 radians.


ObsidianHextra Constants

Vector Rfln. +1/-1 (→ vector)

Your browser does not support visualizing patterns. Pattern code: qqqqqeq Your browser does not support visualizing patterns. Pattern code: eeeeeqq

The left-hand counter-clockwise pattern adds (1, 1, 1) to the stack; the right-hand clockwise pattern adds (-1, -1, -1).


Redstone LampHextra Logic

Maximus Distillation (vector, vector → bool)

Your browser does not support visualizing patterns. Pattern code: e

If the first vector is longer than the second, return True. Otherwise, return False.


Minimus Distillation (vector, vector → bool)

Your browser does not support visualizing patterns. Pattern code: q

If the first vector is shorter than the second, return True. Otherwise, return False.


Maximus Distillation II (vector, vector → bool)

Your browser does not support visualizing patterns. Pattern code: ee

If the first vector is longer or the same length as the second, return True. Otherwise, return False.


Minimus Distillation II (vector, vector → bool)

Your browser does not support visualizing patterns. Pattern code: qq

If the first vector is shorter or the same length the second, return True. Otherwise, return False.


Length Equality Dstl. (vector, vector → bool)

Your browser does not support visualizing patterns. Pattern code: adqqaqw

If the two vectors are the same length (within small tolerance), return True. Otherwise, return False


Length Inequality Dstl. (vector, vector → bool)

Your browser does not support visualizing patterns. Pattern code: daeedew

If the two vectors are not the same length (outside small tolerance), return True. Otherwise, return False