Skip to content

Commit 012430f

Browse files
committed
RocketExtend keepalive
1 parent e244027 commit 012430f

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

common/src/main/kotlin/com/lambda/module/modules/movement/RocketExtend.kt

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import com.lambda.event.listener.SafeListener.Companion.listener
55
import com.lambda.module.Module
66
import com.lambda.module.tag.ModuleTag
77
import com.lambda.threading.runSafe
8-
import com.lambda.util.Communication.info
9-
import net.minecraft.entity.Entity
8+
import com.lambda.util.KeyCode
109
import net.minecraft.entity.projectile.FireworkRocketEntity
1110
import net.minecraft.network.packet.c2s.common.CommonPongC2SPacket
1211
import net.minecraft.network.packet.s2c.play.EntitiesDestroyS2CPacket
@@ -15,10 +14,13 @@ import net.minecraft.network.packet.s2c.play.PlayerPositionLookS2CPacket
1514
object RocketExtend : Module(
1615
name = "RocketExtend",
1716
description = "Extends rocket length on grim",
18-
defaultTags = setOf(ModuleTag.MOVEMENT)
17+
defaultTags = setOf(ModuleTag.MOVEMENT),
18+
defaultKeybind = KeyCode.GraveAccent
1919
) {
2020
private var extendedRockets = mutableListOf<FireworkRocketEntity>()
2121
private var pingPacket: CommonPongC2SPacket? = null
22+
private var lastPingTime = -1L
23+
private val keepAliveTime by setting("Keepalive timeout seconds", 45, 0..60, 1)
2224

2325
init {
2426
listener<PacketEvent.Receive.Pre> { event ->
@@ -35,6 +37,14 @@ object RocketExtend : Module(
3537

3638
listener<PacketEvent.Send.Pre> { event ->
3739
if (event.packet !is CommonPongC2SPacket) return@listener
40+
if (extendedRockets.isEmpty()) {
41+
lastPingTime = System.currentTimeMillis()
42+
return@listener
43+
}
44+
if(System.currentTimeMillis() - lastPingTime > keepAliveTime * 1000) {
45+
reset()
46+
return@listener
47+
}
3848
pingPacket = event.packet
3949
event.cancel()
4050
}
@@ -47,5 +57,6 @@ object RocketExtend : Module(
4757
extendedRockets.clear()
4858
pingPacket?.let(connection::sendPacket)
4959
pingPacket = null
60+
lastPingTime = System.currentTimeMillis()
5061
}
5162
}

0 commit comments

Comments
 (0)