recover from flying into lava (and fix ignoreLava)

This commit is contained in:
Babbaj 2023-08-19 15:33:12 -04:00
parent e063475ebd
commit 5f5567f283
No known key found for this signature in database
GPG Key ID: F044309848A07CAC
1 changed files with 8 additions and 2 deletions

View File

@ -24,6 +24,7 @@ import baritone.api.behavior.look.ITickableAimProcessor;
import baritone.api.event.events.*;
import baritone.api.pathing.goals.GoalBlock;
import baritone.api.utils.*;
import baritone.api.utils.input.Input;
import baritone.process.ElytraProcess;
import baritone.utils.BlockStateInterface;
import baritone.utils.IRenderer;
@ -601,6 +602,11 @@ public final class ElytraBehavior implements Helper {
this.deployedFireworkLastTick = false;
}
final boolean inLava = ctx.player().isInLava();
if (inLava) {
baritone.getInputOverrideHandler().setInputForceState(Input.JUMP, true);
}
if (solution == null) {
logDirect("no solution");
return;
@ -619,7 +625,7 @@ public final class ElytraBehavior implements Helper {
solution.context.start,
solution.goingTo,
solution.context.boost.isBoosted(),
solution.forceUseFirework
solution.forceUseFirework || inLava
);
}
@ -1001,7 +1007,7 @@ public final class ElytraBehavior implements Helper {
// if start == dest then the cpp raytracer dies
clear = start.equals(dest) || this.context.raytrace(start, dest);
} else {
clear = ctx.world().clip(new ClipContext(start, dest, ClipContext.Block.COLLIDER, ClipContext.Fluid.ANY, ctx.player())).getType() == HitResult.Type.MISS;
clear = ctx.world().clip(new ClipContext(start, dest, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, ctx.player())).getType() == HitResult.Type.MISS;
}
if (Baritone.settings().elytraRenderRaytraces.value) {