2424import baritone .api .event .events .*;
2525import baritone .api .pathing .goals .GoalBlock ;
2626import baritone .api .utils .*;
27+ import baritone .api .utils .input .Input ;
2728import baritone .process .ElytraProcess ;
2829import baritone .utils .BlockStateInterface ;
2930import 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