Page 1 of 1

Meta-Evaluation limit on older versions

Posted: Wed Dec 17, 2025 8:09 pm
by BestPseudonym
Hi I'm having an issue on hexcasting 1.18 on ftb direwolf 20 (1.18) with getting delve too deep mishaps after 64 meta-evaluations.
But according to FAQ that should only happen after 512 meta-evaluations
Does any one know if older versions/ftb has a reduced meta-evaluations limit?

More info, Im on a java 1.18 multiplayer server.
Im using thoth on a 343 element list of vectors (associated with a 7x7x7 cube), using an empty list of patterns, and delve too deep is returning the element at index 63.

Re: Meta-Evaluation limit on older versions

Posted: Thu Jan 01, 2026 6:29 pm
by Chloe
https://github.com/FallingColors/HexMod ... g.java#L63

Code: Select all

int DEFAULT_MAX_RECURSE_DEPTH = 64;
https://github.com/FallingColors/HexMod ... g.java#L65

Code: Select all

int DEFAULT_MAX_RECURSE_DEPTH = 512;
in 1.18 it's 64, but in 1.19 it's 512
it can be changed in the config, but using tricks like loop unrolling let you get practically infinite evals in those versions (even more than in the latest version where the eval limit was removed and replaced with a 100000 pattern limit lol)

for example with your vector list, you could do

Code: Select all

Scribe's Reflection //get vector list

{
    Speaker's Decomposition
    Break Block
}
Numerical Reflection: 343
Gemini Gambit // make a ton of copies of [speakers, break], [speakers, break], ... on the stack

{
    Combination Distillation
}
Flock's Disintegration
Numerical Reflection: 343
Gemini Gambit
Numerical Reflection: 343
Flock's Gambit // make a big list of [combination, combination, ...]

Hermes' Gambit //execute the combination list, using one eval to create a single huge list of [speakers, break, speakers, break, ...]

Hermes' Gambit //execute the resulting list, using 1 more eval to loop over the whole budding list, for 2 evals in total
you could replace the speakers+break with some more complicated logic
and you could even do conditionals with no evals, using the feature where hermes doesn't use evals when executing single patterns, only pattern lists

Code: Select all

//some condition
{
    Break Block
    Bookkeeper's Gambit: v
}
Jester's Gambit
Selection Distillation
Hermes' Gambit