Item Cannon
Posted: Sat Dec 24, 2022 6:26 am
This is a hex that's able to launch an item or falling block to hit any target of your choice within at least 1000 blocks, assuming the intermediate chunks are loaded. It's the same concept as my Precision Launcher hex, but with a totally different (and simpler and shorter and faster) implementation. This hex uses Hexal's macro feature in a couple places; the macros are listed below the main hex. (You can also skip using macros and directly draw the patterns if you want — they're pretty short. The hex also uses Hexal for some math stuff though, so you need it anyway.)
Video demo
Item Cannon
This hex is meant to be used with a CAD. Sneak-click to set the target block, then click items or falling blocks to launch them to the target.
It should work for other entity types with some modification, though I haven't tested it. Constants are written in several places in the hex, all commented. To use this hex with entities other than items or falling blocks, replace the constants with the corresponding values for your desired entity type from this table.
Minimization Distillation
num, num -> num
Min function.
Maximization Distillation
num, num -> num
Max function.
Video demo
Item Cannon
This hex is meant to be used with a CAD. Sneak-click to set the target block, then click items or falling blocks to launch them to the target.
It should work for other entity types with some modification, though I haven't tested it. Constants are written in several places in the hex, all commented. To use this hex with entities other than items or falling blocks, replace the constants with the corresponding values for your desired entity type from this table.
Code: Select all
{
Mind's Reflection
Stadiometer's Purification
Numerical Reflection: 1.5
Maximus Distillation
Consideration: {
// get target entity and distances to target block
{
Bookkeeper's Gambit: - // target block placeholder
}
Flock's Disintegration
Mind's Reflection
Compass' Purification
Mind's Reflection
Alidade's Purification
Scout's Distillation
Undertaker's Gambit
Compass' Purification II
Subtractive Distillation
Vector Disintegration
Rotation Gambit
Numerical Reflection: 0
Rotation Gambit
Vector Exaltation
Gemini Decomposition
Length Purification
Undertaker's Gambit
Division Distillation
Rotation Gambit II
Jester's Gambit
// algorithm to get launch parameters
Prospector's Gambit
Numerical Reflection: 50 // 1/drag
Division Distillation
Numerical Reflection: 8 // tune as necessary; should be >> v_terminal
Minimization Distillation
Prospector's Gambit
Numerical Reflection: 35 // tune as necessary
Division Distillation
Numerical Reflection: 0
Maximization Distillation
Additive Distillation
Numerical Reflection: 2 // v_terminal
Additive Distillation
Undertaker's Gambit
Numerical Reflection: 2 // v_terminal
Additive Distillation
Rotation Gambit II
Dioscuri Gambit
Numerical Reflection: 0
Minimus Distillation
Numerical Reflection: 50 // 2/gravity
Numerical Reflection: 25 // 1/gravity
Augur's Exaltation
Multiplicative Distillation
Numerical Reflection: 0
Numerical Reflection: 2
Flock's Gambit
Huginn's Gambit
Rotation Gambit
Numerical Reflection: 10 // Newton's Method max iterations
Gemini's Gambit
Numerical Reflection: 10 // as above
Flock's Gambit
Consideration: {
Euler's Reflection
Muninn's Reflection
Flock's Disintegration
Bookkeeper's Gambit: v
Undertaker's Gambit
Numerical Reflection: -50 // -1/drag
Division Distillation
Power Distillation
Rotation Gambit
Prospector's Gambit
Dioscuri Gambit
Numerical Reflection: 1
Subtractive Distillation
Multiplicative Distillation
Numerical Reflection: 50 // 1/drag
Multiplicative Distillation
Rotation Gambit II
Multiplicative Distillation
Numerical Reflection: 2 // v_terminal
Subtractive Distillation
Jester's Gambit
Numerical Reflection: 3 // should be 4, but Fisherman II is broken right now
Fisherman's Gambit II
Numerical Reflection: 2 // v_terminal
Multiplicative Distillation
Additive Distillation
Numerical Reflection: 5
Fisherman's Gambit
Additive Distillation
Gemini Decomposition
Length Purification
// Newton's Method epsilon
Numerical Reflection: 1
Numerical Reflection: 10
Numerical Reflection: 100
Multiplicative Distillation
Division Distillation
Minimus Distillation
{
Charon's Gambit
Bookkeeper's Gambit: -
}
Flock's Disintegration
Augur's Exaltation
Hermes' Gambit
Jester's Gambit
Division Distillation
Rotation Gambit
Additive Distillation
Jester's Gambit
Numerical Reflection: 2
Flock's Gambit
Huginn's Gambit
Consideration: }
Jester's Gambit
Thoth's Gambit
Bookkeeper's Gambit: vv
Muninn's Reflection
Numerical Reflection: 1
Selection Distillation
Numerical Reflection: 1
Jester's Gambit
Numerical Reflection: 4
Gemini's Gambit
Numerical Reflection: 5
Flock's Gambit
Running Product Purification
Running Sum Purification
Retrograde Purification
Numerical Reflection: 0
Selection Distillation
Rotation Gambit
Multiplicative Distillation
Numerical Reflection: 50 // 1/drag
Division Distillation
// launch the item
Rotation Gambit
Multiplicative Distillation
Vector Disintegration
Bookkeeper's Gambit: v-
Rotation Gambit
Jester's Gambit
Vector Exaltation
Prospector's Gambit
Gemini Decomposition
Pace Purification
// don't subtract velocity for items
// because pace returns the item's FLOATING SPEED when it's NOT MOVING
Jester's Gambit
Compass' Purification
Entity Purification: Item
Augur's Purification
{
Bookkeeper's Gambit: v
Subtractive Distillation
}
Flock's Disintegration
Augur's Exaltation
Hermes' Gambit
Impulse
Consideration: }
Consideration: {
// set the target block
Scribe's Reflection
Numerical Reflection: 6
Mind's Reflection
Compass' Purification
Mind's Reflection
Alidade's Purification
Dioscuri Gambit
Archer's Distillation
Rotation Gambit II
Architect's Distillation
// aim for the very top of the target block, not half a block above it
Numerical Reflection: 2
Division Distillation
Additive Distillation
Surgeon's Exaltation
Scribe's Gambit
Consideration: }
Augur's Exaltation
Hermes' Gambit
}
num, num -> num
Min function.
Code: Select all
{
Dioscuri Gambit
Minimus Distillation
Rotation Gambit II
Augur's Exaltation
}
num, num -> num
Max function.
Code: Select all
{
Dioscuri Gambit
Maximus Distillation
Rotation Gambit II
Augur's Exaltation
}