- changed keybind reflections to return -1 when not active
- changed pattern for Caliper's Purification to not conflict with HexVR
- changed some translations to fit on the page
- changed Epiphany Reflection to Epiphany Purification, now takes in a player
- changed Greater Blink to two dust to reward math
- changed Displace to be free
- changed Wristpocket to be an eighth of a dust rather than three dust
- changed Conjure Compass to be three dust rather than a shard
- fixed conjured staff's mirror disguise not being held properly
- fixed evocation kicking every player outside of render distance
- fixed media jar not dropping
- fixed piercing raycasts not working because the identifier is in the wrong place
- fixed special raycasts not returning the center of blocks but their corner instead
- fixed translation error for identifier iota
- fixed minor typos in documentation
- fixed prestidigitation not working on sheeps and pumpkins
- fixed incorrect typing of wristpocket reflections in documentation
- added more advancements
- added hexbursts - adds an iota to your stack when eaten
- added hextitos - casts a hex using the player stack when eaten
- added Theodolites' Purification - returns vector pointing up from a creeper's head
- added Caliper's Purification - returns an entity's width
- added Sekhmet's Gambit - clears the stack except the top n iota
- colors
- added dye iota
- added Chromatic Purification and Dye spell to get and set dyes of blocks and entities
- added pattern to translate dyes into RGB vector
- added pattern to sample RGB vector at position
- added data-driven process to add color associations to blocks so you can add support for mods with simple datapacks
- added Gasp spell - instantly refills your air bubbles for a dust
- added evocation - enlightened players can cast spells by holding a keybind for some time
- added internal iota storage to handheld lamp and patterns to interact with it
- added Perlin Distillation - get quasi-random number corresponding to a location and time
- added Similarity Distillation - get if two iota are of the same type
- added Congruence Distillation - get if two patterns are the same, regardless of orientation
- added Charge, Dodge, Retreat, and Evade Reflection patterns - pushes how long you've pressed the wasd keys
- added Conjure Compass spell - conjure a compass that always points towards a location
- added Conjure Spike spell - conjure an amethyst spike that will strike through a location after a customizable delay
- added pyrotechnic spells
- added Conjure Firework spell - conjures a firework with a vast number of options and possibilities
- added Simulate Firework spell - conjures a firework based off the firework star in your offhand
- added Magic Missile spell - fire silver of amethyst that deals knockback and weak damage
- added Greater Blink spell - blink with a relative positional and rotational offset for much cheaper than GTP
- added Prestidigitation spell - dozens of small magical effect on blocks and entities
- added data-driven process to add prestidigitation associations
- exposed registry for prestidigitation effects, allowing you to make an addon for custom magical effects
- added Wristpocket spell - hide items magically
- added Ingest spell - eat wristpocketed item
- added Mage Hand spell - use your wristpocketed item to interact with blocks and entities
- living scroll
- added spell to age living scrolls
- added spell to color a living scroll
- added spell to make living scroll parchment vanish
- added spell to make living scroll ink glow in the dark
- added medium living scrolls
- added ability to read from and write to living scrolls with Chronicler's
- added a bunch of context checking patterns to get the current context of a hex is being cast in
- added shader spells - alter your vision with an array of shaders for fun and for utility
- added mishap to Chorus Blink if you don't have chorus fruit in your inventory
- added semi-permeable mage block modifier: only the person who casted it can walk through them
- added sprites for conjured staff
- added a ton of world scrying patterns
- added hex candles - amethyst candles whose flames take on the pigments of whomever last interacted with them
- added meshes - similar to specks but they take in a list of vectors and connect them with pigmented lines
- added decorative glowing media jar - don't drink it!
- added Naval and Lilypad Distillation - raycast for fluids
- added Railgun and Laser Exaltation - pierce regular blocks until hitting identifier block type
- added Librarian's Purification and Gambit - write directly to akashic bookshelves without need for a record
- added soroban patterns - keep and manipulate a constantly incrementing number, useful for recursion and Thoth's
- added ability to right-click akashic bookshelves to download their iota onto your stack
- added Epiphany Reflection - pushes whether the caster is enlightened
- added Sentience Purification - pushes whether an entity has been flayed or null if not possible to flay
- changed conjured staff sprite to be less messy
- changed Identify pattern to have ambit limitation
- changed speed and variance of living scroll patterns
- changed specks to be one block big by default, can be scaled
- changed some item scrying patterns to take item type identifiers instead
- changed all the food scrying patterns to take item type identifiers instead
- changed Miner's and Demoman's Purification to take block type identifiers instead
- moved them into separate blocks category
- dropped support for Forge in order to prioritize development speed and features
- fixed specks being slightly off-center
- fixed living scrolls always having a pattern by default
- fixed advancements occasionally breaking
- fixed Conjure Speck spell costing too little
- fixed Janus' Gambit to actually terminate the hex now
- fixed archgenie lamps where it can cast for free if it wasn't in your main inventory
- fixed conjured staff where inputs aren't always neatly intercepted and you can accidentally break blocks
- fixed conjured staff bug where multiple clicks can make a lower rank staff do nothing
- fixed bug that allowed conjured staffs to have infinite media
- fixed Finale Reflection that always returned null
- fixed specks crashing the client
- optimize speck and living scroll rendering massively by caching patterns and verts
- overhauled project structure completely
- overhauled genie lamps completely and entirely
- overhauled world scrying patterns
- removed casting sounds from conjured staves
- removed grimoire locking patterns since no one really used them, they were janky and risked leaking truenames, and there are hexbursts now
- updated documentation
- updated telepathy code to share code with movement reflections
- added more achievements
- added lightning rod staff, with strong knockback and slow swing speed
- added Displace spell for circles to teleport entities for cheap
- added energized mage blocks modifier to emit Redstone power
- added living scrolls
- added proper speck text rendering
- added more meta-evals
- added Janus' Gambit
- added Sisyphus' Gambit
- added z-axis rotation for specks
- added iota storage for conjured staves
- added Dioscuri Gambit II
- changed Conjure Speck to push the speck to the stack
- changed Nephthys' Gambit to no longer need a number, instead relying on tail length
- fixed accidental swapping of Sloth and Racer's Purification
- fixed being able to use Recharge Item to recharge lamps
- fixed conjured staves not casting properly
- fixed mage block breaking particles
- fixed Nephthys' Gambit not working on single patterns
- fixed speck pattern saving
- remove ambit requirement for altering specks
- updated documentation
- overhauled a lot of code
- overhauled world scrying
- added enchantment patterns
- added entity patterns
- added food patterns
- added identifier patterns
- added item patterns
- added status effect patterns
- added world patterns
- added identifier iota
- added
zh_cn
translation - added mishap to grimoire patterns if you are not holding a grimoire in your offhand
- changed creative inventory lamps to have media by default
- changed Conjure Staff to take in dust rather than media for battery
- fixed telepathy crashing on servers