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 ;
@@ -602,6 +603,11 @@ public void tick() {
602603 this .deployedFireworkLastTick = false ;
603604 }
604605
606+ final boolean inLava = ctx .player ().isInLava ();
607+ if (inLava ) {
608+ baritone .getInputOverrideHandler ().setInputForceState (Input .JUMP , true );
609+ }
610+
605611 if (solution == null ) {
606612 logDirect ("no solution" );
607613 return ;
@@ -620,7 +626,7 @@ public void tick() {
620626 solution .context .start ,
621627 solution .goingTo ,
622628 solution .context .boost .isBoosted (),
623- solution .forceUseFirework
629+ solution .forceUseFirework || inLava
624630 );
625631 }
626632
@@ -1002,7 +1008,7 @@ public boolean clearView(Vec3 start, Vec3 dest, boolean ignoreLava) {
10021008 // if start == dest then the cpp raytracer dies
10031009 clear = start .equals (dest ) || this .context .raytrace (start , dest );
10041010 } else {
1005- clear = ctx .world ().clip (new ClipContext (start , dest , ClipContext .Block .COLLIDER , ClipContext .Fluid .ANY , ctx .player ())).getType () == HitResult .Type .MISS ;
1011+ clear = ctx .world ().clip (new ClipContext (start , dest , ClipContext .Block .COLLIDER , ClipContext .Fluid .NONE , ctx .player ())).getType () == HitResult .Type .MISS ;
10061012 }
10071013
10081014 if (Baritone .settings ().elytraRenderRaytraces .value ) {
0 commit comments