The Cavator, an overengineered area miner [Hexchanting]
Posted: Sat Nov 29, 2025 2:30 pm
Hello!! I'm pretty new to Hexcasting, and I've been experimenting with a lot of stuff in a friend's server. And I've come up with something that I'm kinda proud of :D
Requirements:
The Cavator's "Cavation":
Alternatively: Get my PureRef file
My friend's "Cuboid Distillation", aka the get all block vectors from 2 corner vectors
But simply put, what the hex "Cavation" does is take the specifications from your offhand, and mine out an area based on where you are looking.
> For convenience, I set this up so it only happens when you are holding [Call Telepathy], acting as some sort of "veinminer" held keybind.
There are 3 main variables: height, length, and depth.
Most of the code is sorting out these three variables and applying the necessary negations depending on some factors as I've found. I optimized the logic as much as I could!
There are 2 extra optional features included:
The format is a nested list, and it's easy to make. You just have to know what each variable corresponds to.
--- LIMITATIONS ---
Stack limit is easily reached if given a high area of blocks. This is probably due to how Cuboid Distillation works, and if there is a better way to get all the vectors in a given area without reaching the stack limit, then you can probably mine a whole chunk. /hyp
Quick showcase:
https://youtu.be/cInfkXn4ECY
/gIve knot commands for Cavator code, if you wanna try it out. Too big to fit in one item so I separated them-- you could use Hexical 2.0.0's pedestals if you wanna combine them together easily!
https://pastebin.com/fqBLzMqv
Anyway, yeah :D Just really wanted to share this!
I don't think I went the most optimal route but it was really fun figuring this out on my own! Special thanks to my friend who shared their vector code with me! If ya'll have any ideas on optimizing this even further, I mean it is a *really* long code, I would greatly appreciate it! Hope you like it! :]
Requirements:
- Hexchanting
- If Hexical 1.5.0:
- If Hexical 2.0.0+:
The Cavator's "Cavation":
Code: Select all
// CAVATOR FULL CODE
// check if [call telepathy] is being held
// and if there is something to read in offhand
// if either are false, stop execution
Auditor's Reflection
Telepathic Reflection
Numerical Reflection: 1
Additive Distillation
Augur's Purification
Conjunction Distillation
{
}
{
Janus' Gambit
}
Augur's Exaltation
Hermes' Gambit
// save origin to ravenmind
Huginn's Gambit
// blockface check via conjured block on the broken block vector
Muninn's Reflection
Conjure Block
Mind's Reflection
Compass' Purification
Mind's Reflection
Alidade's Purification
Architect's Distillation
Gemini Decomposition
Vector Disintegration
Bookkeeper's Gambit: v-v
Numerical Reflection: 0
Inequality Distillation
{
// case for blockface (0,n,0)
Vector Disintegration
Bookkeeper's Gambit: v-v
Numerical Reflection: 0
Minimus Distillation
Mind's Reflection
Theodolite's Purification
Vector Disintegration
Bookkeeper's Gambit: -v-
Length Purification
Jester's Gambit
Length Purification
Minimus Distillation II
{
// case for if facing x
Scribe's Reflection
Numerical Reflection: 0
Selection Distillation
Numerical Reflection: 0
Selection Distillation
Numerical Reflection: 0
Scribe's Reflection
Numerical Reflection: 1
Selection Distillation
Numerical Reflection: 0
Selection Distillation
Vector Exaltation
Mind's Reflection
Theodolite's Purification
Vector Disintegration
Bookkeeper's Gambit: -vv
Axial Purification
Gemini Decomposition
Numerical Reflection: -1
Multiplicative Distillation
Mind's Reflection
Alidade's Purification
Vector Disintegration
Bookkeeper's Gambit: v-v
Numerical Reflection: 0
Minimus Distillation
{
Jester's Gambit
Numerical Reflection: -1
Multiplicative Distillation
Jester's Gambit
}
{
}
Augur's Exaltation
Hermes' Gambit
}
{
// case for if facing z
Scribe's Reflection
Numerical Reflection: 1
Selection Distillation
Numerical Reflection: 0
Selection Distillation
Numerical Reflection: 0
Scribe's Reflection
Numerical Reflection: 0
Selection Distillation
Numerical Reflection: 0
Selection Distillation
Vector Exaltation
Scribe's Reflection
Numerical Reflection: 1
Selection Distillation
Numerical Reflection: 1
Selection Distillation
Scribe's Reflection
Numerical Reflection: 2
Selection Distillation
Numerical Reflection: 0
Selection Distillation
Scribe's Reflection
Numerical Reflection: 0
Selection Distillation
Numerical Reflection: 1
Selection Distillation
Vector Exaltation
Mind's Reflection
Theodolite's Purification
Vector Disintegration
Bookkeeper's Gambit: vv-
Axial Purification
Gemini Decomposition
Mind's Reflection
Alidade's Purification
Vector Disintegration
Bookkeeper's Gambit: v-v
Numerical Reflection: 0
Minimus Distillation
{
Numerical Reflection: -1
Multiplicative Distillation
}
{
}
Augur's Exaltation
Hermes' Gambit
}
Augur's Exaltation
Hermes' Gambit
Numerical Reflection: 1
Jester's Gambit
Vector Exaltation
Numerical Reflection: 3
Fisherman's Gambit
{
}
{
Numerical Reflection: -1
Multiplicative Distillation
}
Augur's Exaltation
Hermes' Gambit
}
{
Gemini Decomposition
Vector Disintegration
Bookkeeper's Gambit: -vv
Numerical Reflection: 0
Inequality Distillation
{
// case for blockface (n,0,0)
Numerical Reflection: 0
Scribe's Reflection
Numerical Reflection: 0
Selection Distillation
Numerical Reflection: 0
Selection Distillation
Scribe's Reflection
Numerical Reflection: 1
Selection Distillation
Numerical Reflection: 0
Selection Distillation
Vector Exaltation
Scribe's Reflection
Numerical Reflection: 2
Selection Distillation
Numerical Reflection: 0
Selection Distillation
Scribe's Reflection
Numerical Reflection: 0
Selection Distillation
Numerical Reflection: 1
Selection Distillation
Scribe's Reflection
Numerical Reflection: 1
Selection Distillation
Numerical Reflection: 1
Selection Distillation
Vector Exaltation
Rotation Gambit
Vector Disintegration
Bookkeeper's Gambit: -vv
Axial Purification
Numerical Reflection: -1
Multiplicative Distillation
Gemini Decomposition
}
{
// case for blockface (0,0,n)
Scribe's Reflection
Numerical Reflection: 1
Selection Distillation
Numerical Reflection: 0
Selection Distillation
Scribe's Reflection
Numerical Reflection: 0
Selection Distillation
Numerical Reflection: 0
Selection Distillation
Numerical Reflection: 0
Vector Exaltation
Scribe's Reflection
Numerical Reflection: 1
Selection Distillation
Numerical Reflection: 1
Selection Distillation
Scribe's Reflection
Numerical Reflection: 0
Selection Distillation
Numerical Reflection: 1
Selection Distillation
Scribe's Reflection
Numerical Reflection: 2
Selection Distillation
Numerical Reflection: 0
Selection Distillation
Vector Exaltation
Rotation Gambit
Vector Disintegration
Bookkeeper's Gambit: vv-
Axial Purification
Gemini Decomposition
Numerical Reflection: -1
Multiplicative Distillation
}
Augur's Exaltation
Hermes' Gambit
Numerical Reflection: 1
Jester's Gambit
Vector Exaltation
}
Augur's Exaltation
Hermes' Gambit
Rotation Gambit II
Jester's Gambit
Numerical Reflection: 2
Fisherman's Gambit II
Vector Disintegration
Numerical Reflection: 3
Fisherman's Gambit
Vector Disintegration
Numerical Reflection: 669
Swindler's Gambit
Multiplicative Distillation
Numerical Reflection: -4
Fisherman's Gambit
Multiplicative Distillation
Numerical Reflection: -2
Fisherman's Gambit
Multiplicative Distillation
Vector Exaltation
Rotation Gambit II
Vector Disintegration
Numerical Reflection: 3
Fisherman's Gambit
Vector Disintegration
Numerical Reflection: 669
Swindler's Gambit
Multiplicative Distillation
Numerical Reflection: -4
Fisherman's Gambit
Multiplicative Distillation
Numerical Reflection: -2
Fisherman's Gambit
Multiplicative Distillation
Vector Exaltation
Muninn's Reflection
Additive Distillation
Jester's Gambit
Muninn's Reflection
Additive Distillation
Muninn's Reflection
Break Block
// >> INSERT GET ALL VECTOR SPELL << //
{
Sekmet's Gambit: 1
Gemini Decomposition
Scribe's Reflection
Numerical Reflection: 3
Selection Distillation
Gemini Decomposition
Augur's Purification
{
// filter check
Numerical Reflection: 0
Selection Distillation
{
Sekmet's Gambit: 2
Jester's Gambit
Detective's Purification
Equality Distillation
}
Jester's Gambit
Thoth's Gambit
True Reflection
Locator's Distillation
Numerical Reflection: 1
Additive Distillation
Augur's Purification
Scribe's Reflection
Numerical Reflection: 3
Selection Distillation
Numerical Reflection: 1
Selection Distillation
Exclusion Distillation
}
{
Novice's Gambit
True Reflection
}
Augur's Exaltation
Hermes' Gambit
Jester's Gambit
Ambit Purification
Conjunction Distillation
{
Break Block
}
{
}
Augur's Exaltation
Hermes' Gambit
}
Jester's Gambit
Thoth's Gambit
Novice's Gambit
Scribe's Reflection
Numerical Reflection: 4
Selection Distillation
Hermes' Gambit
My friend's "Cuboid Distillation", aka the get all block vectors from 2 corner vectors
Code: Select all
Vacant Reflection
Huginn's Gambit
Vector Disintegration
Numerical Reflection: 3
Fisherman's Gambit
Vector Disintegration
Numerical Reflection: 50
Swindler's Gambit
Dioscuri Gambit
Minimus Distillation
{
}
{
Jester's Gambit
}
Augur's Exaltation
Hermes' Gambit
Prospector's Gambit
Subtractive Distillation
Floor Purification
Vacant Reflection
Rotation Gambit II
{
Dioscuri Gambit
Additive Distillation
Numerical Reflection: 3
Fisherman's Gambit
Jester's Gambit
Integration Distillation
Rotation Gambit II
Numerical Reflection: 1
Subtractive Distillation
Gemini Decomposition
Numerical Reflection: 0
Minimus Distillation
{
Bookkeeper's Gambit: v-vv
}
{
Numerical Reflection: 3
Fisherman's Gambit II
Hermes' Gambit
}
Augur's Exaltation
Hermes' Gambit
}
Numerical Reflection: 18
Swindler's Gambit
Numerical Reflection: 3
Fisherman's Gambit II
Hermes' Gambit
Rotation Gambit II
Dioscuri Gambit
Minimus Distillation
{
}
{
Jester's Gambit
}
Augur's Exaltation
Hermes' Gambit
Prospector's Gambit
Subtractive Distillation
Floor Purification
Vacant Reflection
Rotation Gambit II
{
Dioscuri Gambit
Additive Distillation
Numerical Reflection: 3
Fisherman's Gambit
Jester's Gambit
Integration Distillation
Rotation Gambit II
Numerical Reflection: 1
Subtractive Distillation
Gemini Decomposition
Numerical Reflection: 0
Minimus Distillation
{
Bookkeeper's Gambit: v-vv
}
{
Numerical Reflection: 3
Fisherman's Gambit II
Hermes' Gambit
}
Augur's Exaltation
Hermes' Gambit
}
Numerical Reflection: 18
Swindler's Gambit
Numerical Reflection: 3
Fisherman's Gambit II
Hermes' Gambit
Rotation Gambit
Numerical Reflection: 3
Fisherman's Gambit
Dioscuri Gambit
Minimus Distillation
{
}
{
Jester's Gambit
}
Augur's Exaltation
Hermes' Gambit
Prospector's Gambit
Subtractive Distillation
Floor Purification
Vacant Reflection
Rotation Gambit II
{
Dioscuri Gambit
Additive Distillation
Numerical Reflection: 3
Fisherman's Gambit
Jester's Gambit
Integration Distillation
Rotation Gambit II
Numerical Reflection: 1
Subtractive Distillation
Gemini Decomposition
Numerical Reflection: 0
Minimus Distillation
{
Bookkeeper's Gambit: v-vv
}
{
Numerical Reflection: 3
Fisherman's Gambit II
Hermes' Gambit
}
Augur's Exaltation
Hermes' Gambit
}
Numerical Reflection: 18
Swindler's Gambit
Numerical Reflection: 3
Fisherman's Gambit II
Hermes' Gambit
{
Rotation Gambit II
{
Jester's Gambit
{
Vector's Exaltation
Muninn's Reflection
Jester's Gambit
Integration Distillation
Huginn's Gambit
}
Jester's Gambit
Thoth's Gambit
}
Jester's Gambit
Thoth's Gambit
}
Jester's Gambit
Thoth's Gambit
Muninn's Reflection
Bookkeeper's Gambit: vvv-
> For convenience, I set this up so it only happens when you are holding [Call Telepathy], acting as some sort of "veinminer" held keybind.
There are 3 main variables: height, length, and depth.
- Height is the relative up. If you are looking straight forward, this will be the Y-axis. But, in cases where you are looking down, the height will be the direction you are facing, the inverse if you are looking up.
- Length is the relative right. I think this will always correspond to the cardinal direction to your right.
- Depth is the relative forward. This will always correspond to the direction you are facing. If you are looking down, depth is negative y. If you are looking at positive x, then depth is positive x.
Most of the code is sorting out these three variables and applying the necessary negations depending on some factors as I've found. I optimized the logic as much as I could!
There are 2 extra optional features included:
- Filter, using Identifiers.
- Post-execution, casts the provided pattern lists as the end of cavation.
Code: Select all
[[h₁,h₂],[l₁,l₂],[d],[[f,f],false],[e]]- You know height, length and depth already, but why are there two values... well, subscript 1 is the upper bound and subscript 2 is the lower bound. Remember that the numbers you assign these are the relative offset to the origin. So you can keep sub 2 values as 0, if you want to have the origin be at the bottom left of the area. But weird things start to happen when you make the lower bound greater than 0, or upper bound less than 0, because you can offset the area so that it is not even connected to the origin. Dunno if that's useful, but that is something it can do.
- The filters parameter contains two things: a list and a boolean. The list is where you store all of your block identifiers, and the boolean determines the mode. If false, then it will ONLY mine the blocks that match the identifier. If true, then it will mine everything BUT the blocks that match the identifier. The filters parameter is completely optional btw, it can just be left as an empty list.
- The last parameter is just the post-execution parameter, basically just a list of patterns to execute after cavation. You can probably use this to blink forward after mining, or maybe even teleporting all the item entities to you. Just thought it would be cool to include.
Code: Select all
NO FILTER:
(number for h1)
(number for h2)
Numerical Reflection: 2
Flock's Gambit
(number for l1)
(number for l2)
Numerical Reflection: 2
Flock's Gambit
(number for d)
Single's Purification
{
}
{
// patterns here
}
Numerical Reflection: 5
Scribe's Gambit
Code: Select all
WITH FILTER:
(number for h1)
(number for h2)
Numerical Reflection: 2
Flock's Gambit
(number for l1)
(number for l2)
Numerical Reflection: 2
Flock's Gambit
(number for d)
Single's Purification
(block identifier)
(block identifier)...
(amount of block identifiers)
Flock's Gambit
True/False Reflection
Numerical Reflection: 2
Flock's Gambit
{
// patterns here
}
Numerical Reflection: 5
Scribe's Gambit
Stack limit is easily reached if given a high area of blocks. This is probably due to how Cuboid Distillation works, and if there is a better way to get all the vectors in a given area without reaching the stack limit, then you can probably mine a whole chunk. /hyp
Quick showcase:
https://youtu.be/cInfkXn4ECY
/gIve knot commands for Cavator code, if you wanna try it out. Too big to fit in one item so I separated them-- you could use Hexical 2.0.0's pedestals if you wanna combine them together easily!
https://pastebin.com/fqBLzMqv
Anyway, yeah :D Just really wanted to share this!
I don't think I went the most optimal route but it was really fun figuring this out on my own! Special thanks to my friend who shared their vector code with me! If ya'll have any ideas on optimizing this even further, I mean it is a *really* long code, I would greatly appreciate it! Hope you like it! :]