The Cavator, an overengineered area miner [Hexchanting]

Post your coolest Hexcasting creations here.

New topics are NOT for chatting or asking help, put those in the comments of a post or in a different forum.
User avatar
MeeperCreep
Posts: 1
Joined: Thu Nov 27, 2025 1:24 am

The Cavator, an overengineered area miner [Hexchanting]

Post by MeeperCreep »

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: Below is my deranged scribbles, updated to reflect its current functionality, and you'll basically get the gist if you can read it.
Deranged scribblings of a hyperfixated madman
Deranged scribblings of a hyperfixated madman
bogus_dark.png (238.54 KiB) Viewed 388 times
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
Alternatively: Get my PureRef file

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-
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.
  • 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.
The value of these three variables are offsets from the origin (mined block), in order to find the corners and then subsequently find all the vector inside the area.

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.
-- THE OFFHAND DATA FORMAT --

Code: Select all

[[h₁,h₂],[l₁,l₂],[d],[[f,f],false],[e]]
The format is a nested list, and it's easy to make. You just have to know what each variable corresponds to.
  • 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.
Below is how I usually set up the data:

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
--- 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! :]
eadwqdwwwddwawadwdeaadeqwqeawwwaeqqwww