1919import net .wurstclient .events .AirStrafingSpeedListener ;
2020import net .wurstclient .events .UpdateListener ;
2121import net .wurstclient .hack .Hack ;
22+ import net .wurstclient .settings .CheckboxSetting ;
2223import net .wurstclient .settings .SliderSetting ;
2324import net .wurstclient .settings .SliderSetting .ValueDisplay ;
2425import net .wurstclient .util .BlockUtils ;
2526
2627public final class GlideHack extends Hack
2728 implements UpdateListener , AirStrafingSpeedListener
2829{
30+ private final CheckboxSetting doSneakFall =
31+ new CheckboxSetting ("Temporary Disable" ,
32+ "Temporarily disable this hack using your crouch button.\n "
33+ + "Turn off if you want to glide while crouching." ,
34+ true );
35+
2936 private final SliderSetting fallSpeed = new SliderSetting ("Fall speed" ,
3037 0.125 , 0.005 , 0.25 , 0.005 , ValueDisplay .DECIMAL );
3138
@@ -42,6 +49,7 @@ public GlideHack()
4249 super ("Glide" );
4350
4451 setCategory (Category .MOVEMENT );
52+ addSetting (doSneakFall );
4553 addSetting (fallSpeed );
4654 addSetting (moveSpeed );
4755 addSetting (minHeight );
@@ -65,6 +73,12 @@ protected void onDisable()
6573 public void onUpdate ()
6674 {
6775 ClientPlayerEntity player = MC .player ;
76+
77+ if (doSneakFall .isChecked () && player .isSneaking ())
78+ {
79+ return ;
80+ }
81+
6882 Vec3d v = player .getVelocity ();
6983
7084 if (player .isOnGround () || player .isTouchingWater () || player .isInLava ()
0 commit comments