@@ -10,11 +10,20 @@ internal object LongJump : PluginModule(
1010 description = " Jump Longer" ,
1111 pluginMain = LongJumpController
1212) {
13- private val farSpeed by setting(" Speed" , 1.0f , 0.0f .. 10.0f , 0.1f , description = " Long Jump Factor" )
13+ private val mode by setting(" Mode" , enumMode.Peak )
14+ private val farSpeed by setting(" Peak Speed" , 1.0f , 0.0f .. 10.0f , 0.1f , { mode.equals(enumMode.Peak ) }, description = " Speed When Falling" )
15+ private val groundSpeed by setting(" Ground Speed" , 2.0f , 0.0f .. 10.0f , 0.1f , { mode.equals(enumMode.Ground ) }, description = " Speed When Jumping" )
1416 private val disableOnRubberband by setting(" Rubberband disable" , false )
1517
1618 var has = false ;
1719
20+ private enum class enumMode {
21+
22+ Peak ,
23+ Ground
24+
25+ }
26+
1827 init {
1928
2029 onEnable {
@@ -23,20 +32,29 @@ internal object LongJump : PluginModule(
2332
2433 safeListener<PlayerTravelEvent > {
2534
26- if (mc.player.motionY <= 0 && ! has) {
27-
28- has = true
35+ if (LagNotifier .paused && disableOnRubberband) {
2936
30- mc.player.jumpMovementFactor = farSpeed
37+ disable()
3138
3239 }
3340
34- if (mc.player.onGround)
35- has = false
41+ if (mode.equals(enumMode. Peak )) {
42+ if (mc.player.motionY <= 0 && ! has) {
3643
37- if ( LagNotifier .paused && disableOnRubberband) {
44+ has = true
3845
39- disable()
46+ mc.player.jumpMovementFactor = farSpeed
47+
48+ }
49+
50+ if (mc.player.onGround)
51+ has = false
52+
53+ } else if (mc.player.onGround) {
54+
55+ mc.player.jump();
56+ mc.player.motionX * = groundSpeed
57+ mc.player.motionY * = groundSpeed
4058
4159 }
4260
0 commit comments