This is the online version of the MoreIotas documentation.

Embedded images and patterns are included, but not crafting recipes or items. There's an in-game book for those.

Additionally, this is built from the latest code on GitHub. It may describe newer features that you may not necessarily have, even on the latest CurseForge version!

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.

Hex Notebook

I seem to have discovered a new method of magical arts, in which one draws patterns strange and wild onto a hexagonal grid. It fascinates me. I've decided to start a journal of my thoughts and findings.

Discord Server Link

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

Matrices

Matrices are a helpful tool for manipulating vectors to do as I wish, able to represent any linear transformation that can be applied to a vector. Of note with these patterns is that many are forgiving with their inputs, accepting in place of matrices things that can be easily mapped to matrices, namely numbers and vectors.


For example, attempting to multiply a 3x3 matrix with a vector, rather than mishapping, will return a new vector. For more information on how to make use of matrices to their fullest potential, the below is a helpful resource.

3blue1brown


Transformation Purification (num | vec | list → mat)

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

Converts the iota on top of the stack into a matrix. This iota can be a number, vector, or list.


If it is a number, it becomes a 1x1 matrix. If it's a vector, it becomes a 3x1 matrix. If it's a list, it must be a list of purely numbers, purely vectors, or purely lists of numbers (each of which must be the same length). If it's a list of numbers it'll be 1 by n, if it's a list of vectors it'll be 3 by n, and if it's a list of lists it'll be n by m, where n is the inner list length and m is the outer list length.


Restoration Purification (mat → num | vec | list)

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

Converts the iota on top of the stack back from a matrix into a number, vector, or list depending on the vector's size.


A 1x1 matrix will become a number. A 1x3 or 3x1 matrix will become a vector. A 3 by n or n by 3 matrix will become a list of vectors, and any matrix not covered by the previous will become a list of list of numbers, with each inner list being one column of the matrix.


Identity Purification (int ≥ 0 → mat)

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

Accepts a positive integer n, and returns an n by n matrix with 1 along the diagonal and 0 elsewhere.


Zero Distillation (int ≥ 0, int ≥ 0 → mat)

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

Accepts positive integers n and m, and returns an n by m matrix of zeros.


Rotation Distillation (vec, num → mat)

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

Accepts a vec v and number θ, and returns a matrix representing rotating by θ radians around v.


Addition Distillation: Matrix (mat, mat → mat)

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

Adds two matrices together; they must have the same number of columns and rows.


Multiplication Distillation: Matrix (mat, mat → mat)

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

Multiplies the first n by m matrix with an m by p matrix.


Transpose Purification (mat → mat)

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

Accepts an n by m matrix and returns an m by n matrix where every entry has been flipped along the diagonal.


Inverse Purification (mat → mat)

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

Accepts an n by n matrix and returns the n by n matrix such that in*out = identity.


Determinant Purification (mat → num)

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

Accepts a square matrix and returns the determinant of that matrix. Mishaps for matrices larger than 4x4.


Tower Distillation (mat, mat → mat)

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

Accepts an n by m matrix and an n by p matrix and produces an n by (m+p) matrix by putting the first matrix on top of the second.


Sprawling Distillation (mat, mat → mat)

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

Accepts an m by n matrix and a p by n matrix and produces an (m+p) by n matrix by putting the first matrix to the left of the second.


Toppling Gambit (mat, num → mat, mat)

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

Accepts an n by m matrix and an int from 0 to n, and returns two matrices created by splitting the input matrix vertically at the inputted int.


Mitosis Gambit (mat, num → mat, mat)

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

Accepts an n by m matrix and an int from 0 to m, and returns two matrices created by splitting the input matrix horizontally at the inputted int.


Strings

Concatenation Distillation (str, str → str)

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

Removes the top two strings from the stack and combines them together.


Separation Distillation (str, str → [str])

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

Removes the top two strings from the stack and splits the first string, using the second string as the delimiter and returning as a list.


Input Purification (str → num | null)

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

Removes a string from the top of the stack and returns the number that string parses as (or null if it doesn't parse).


Discoverer's Distillation (str, str → num)

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

Removes two strings from the top of the stack, and returns the first index of the first string where the second string is a substring.


Winnowing Distillation (str, num, num → str)

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

Removes a string and two positive integers from the top of the stack, and returns the substring from the first to the second (inclusive first, exclusive second).


Length Distillation: Str (str → num)

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

Removes a string and returns its length.


Blank Reflection (→ str)

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

Add an empty string to the stack, useful for combining with other strings.


Spacing Reflection (→ str)

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

Add a blank space string to the stack, useful for combining with other strings.


Comma Reflection (→ str)

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

Add a comma string to the stack, useful for combining with other strings.


Breaking Reflection (→ str)

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

Add a string to the stack representing a break between lines, useful for combining with other strings.


Whisper Reflection (→ str)

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

Adds the last message the caster sent to the stack as a string.


Listener's Reflection (→ str)

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

Adds the last message anyone sent to the stack as a string.


Sifter's Gambit (str | null →)

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

Accepts a string; All future chat messages starting with that string won't be seen by others, and only messages prefixed with that string can be read by Whisper Reflection.


Sifter's Reflection (→ str | null)

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

Returns the last string you passed to Sifter's Gambit.


Reader's Purification (vec → str | [str])

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

Removes a vector from the stack. If that vector is pointing at a sign or lectern, it returns that sign or lectern's text to the stack. Otherwise, it returns null.


Write (vec, str | [str] →)

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

Removes a vector and a string from the stack. If that vector is pointing at a sign or lectern, it writes that string to that sign or lectern. Costs a hundredth of an Amethyst Dust.


Scrivener's Purification (any → str)

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

Converts the iota on top of the stack into a string.


Patternmaster's Purification (pattern → str | null)

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

Converts the pattern on top of the stack into the string for that pattern's name. If there is no action associated with that pattern, or if the associated pattern is a Great Spell, it returns null.


Moniker Purification (entity → str)

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

Takes an entity and returns that entity's name. If it is an item entity, return the item's name.


Name (str, entity →)

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

Takes a string and an entity, and sets that entities name to the given string. If the entity is an item entity, also set the item's name. Costs a hundredth of an Amethyst Dust.


Case Distillation (str, bool | null → str)

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

Removes a string and a bool or null. If it was true, return the string in upper case. If false, lowercase. If null, toggle each character's case.