Stuck Arrow Filter

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
[object Object]
Posts: 70
Joined: Fri Dec 02, 2022 12:37 am

Stuck Arrow Filter

Post by [object Object] »

This hex iterates over all nearby arrows that aren't (or are, with one change) stuck in a block. Uses meta-eval levels equal to the number of non-item, non-living, non-wisp entities within range (which needs to be 1 block less than the available ambit, so the block the arrow is stuck to can be raycasted). As written, the hex just reveals all non-stuck arrows, but you can add whatever code you want at the commented location. Thanks to Argitechno on Discord for the idea for the mechanism behind this. Uses Conditional Continue as a macro. I recommend using Locator's Scalpel to replace the Reveal with actual functionality when using this template.

Code: Select all

// macros
#define Conditional Continue (SOUTH_WEST aqdeedd) = bool -> 

{
    Consideration: {
        // if height != 0.5, continue
        Numerical Reflection: 6
        Gemini Gambit
        Stadiometer's Purification
        Numerical Reflection: 0.5
        Inequality Distillation
        Conditional Continue

        // if the vertical look component is zero, continue (filters xp)
        Alidade's Purification
        Vector Disintegration
        Bookkeeper's Gambit: v-v
        Numerical Reflection: 0
        Equality Distillation
        Conditional Continue

        // if the velocity is zero, continue (filters item frames)
        Pace Purification
        Vector Reflection Zero
        Equality Distillation
        Conditional Continue

        // if the arrow is moving toward something solid within one block, continue (only keep non-stuck arrows)
        Compass' Purification II
        Undertaker's Gambit

        Jester's Gambit
        Pace Purification
        Archer's Distillation

        Dioscuri Gambit
        Nullary Reflection
        Inequality Distillation
        Rotation Gambit II
        
        Numerical Reflection: 2
        Additive Distillation
        Augur's Exaltation

        Subtractive Distillation
        Length Purification
        Numerical Reflection: 1
        Minimus Distillation // replace with maximus to only keep stuck arrows
        Conditional Continue
        
        // do something with the non-stuck arrow (insert second)
        Reveal
    Consideration: }

    Mind's Reflection
    Compass' Purification
    Numerical Reflection: 31 // ambit - 1 so archer's works properly (insert first if you need to change it)
    Dioscuri Gambit
    Dioscuri Gambit

    Zone Distillation: Non-Item
    Rotation Gambit II
    Zone Distillation: Non-Living
    Intersection Distillation
    Rotation Gambit II
    Zone Distillation: Non-Wisp
    Intersection Distillation

    Thoth's Gambit
    Bookkeeper's Gambit: v
}