Open CaryCatZ opened 1 year ago
the problem with solving this is nailing down a specific weighting between priority and distance
I think users requesting this expect something like "If there happens to be a secondary ore and the detour from the original path is small compared to the length of the path, then go for it." The original bit is important, because it prevents chaining small detours without ever reaching the actual target.
Implementation wise I think we could probably either do it by keeping the original path around to measure distances from it, or by forcing Baritone towards primary ores by only considering secondary ores if they are closer (i.e. lower heuristic) than the closest-so-far player position.
JankyGoalComposite
does distinguish between primary and secondary goals already, so that's also an option (I don't think it's much more janky than the other options)
There's also a bunch of ways to more or less approximate "double prio is treated as if it always took half the actual time", but I'm not sure whether any of those (including actual approximation free weighted paths) would fit this issue, because they have this chaining problem so it can take ages to get close enough to a primary ore (for #3812 that's the way to go though.)
This is probably a duplicate of #3742 (which specifically requests a solution prone to secondary ore chaining, but ok)
Mine things by priority
Find the main target to mine and only mine other targets when they are near.
Settings
Set priorities in the order of the arguments.
Context
For example, I want diamonds and some iron ores. The diamond is the main target, the iron is secondary. So I would like baritone to find and mine diamonds mainly and only mine iron ores when there are iron ores near.
Final checklist