Skip to content

Commit 5f5567f

Browse files
committed
recover from flying into lava (and fix ignoreLava)
1 parent e063475 commit 5f5567f

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

src/main/java/baritone/process/elytra/ElytraBehavior.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import baritone.api.event.events.*;
2525
import baritone.api.pathing.goals.GoalBlock;
2626
import baritone.api.utils.*;
27+
import baritone.api.utils.input.Input;
2728
import baritone.process.ElytraProcess;
2829
import baritone.utils.BlockStateInterface;
2930
import baritone.utils.IRenderer;
@@ -601,6 +602,11 @@ public void tick() {
601602
this.deployedFireworkLastTick = false;
602603
}
603604

605+
final boolean inLava = ctx.player().isInLava();
606+
if (inLava) {
607+
baritone.getInputOverrideHandler().setInputForceState(Input.JUMP, true);
608+
}
609+
604610
if (solution == null) {
605611
logDirect("no solution");
606612
return;
@@ -619,7 +625,7 @@ public void tick() {
619625
solution.context.start,
620626
solution.goingTo,
621627
solution.context.boost.isBoosted(),
622-
solution.forceUseFirework
628+
solution.forceUseFirework || inLava
623629
);
624630
}
625631

@@ -1001,7 +1007,7 @@ public boolean clearView(Vec3 start, Vec3 dest, boolean ignoreLava) {
10011007
// if start == dest then the cpp raytracer dies
10021008
clear = start.equals(dest) || this.context.raytrace(start, dest);
10031009
} else {
1004-
clear = ctx.world().clip(new ClipContext(start, dest, ClipContext.Block.COLLIDER, ClipContext.Fluid.ANY, ctx.player())).getType() == HitResult.Type.MISS;
1010+
clear = ctx.world().clip(new ClipContext(start, dest, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, ctx.player())).getType() == HitResult.Type.MISS;
10051011
}
10061012

10071013
if (Baritone.settings().elytraRenderRaytraces.value) {

0 commit comments

Comments
 (0)