Skip to content

Commit 6436240

Browse files
committed
fix flagging caused by firework desync
1 parent 6542571 commit 6436240

2 files changed

Lines changed: 8 additions & 6 deletions

File tree

src/main/kotlin/com/lambda/module/modules/movement/elytrafly/ElytraFly.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import com.lambda.util.Timer
4040
import com.lambda.util.extension.isElytraFlying
4141
import com.lambda.util.extension.prevPos
4242
import com.lambda.util.player.MovementUtils.addSpeed
43+
import com.lambda.util.player.PlayerUtils.hasFirework
4344
import net.minecraft.component.DataComponentTypes
4445
import net.minecraft.entity.MovementType
4546
import net.minecraft.item.Items
@@ -116,14 +117,13 @@ object ElytraFly : Module(
116117
}
117118
onDisable { mode.elytraFly.onDisableListeners.forEach { it() } }
118119

119-
listen<TickEvent.Pre>(priority = { 1 }) {
120+
listen<TickEvent.Pre>(priority = { 2 }) {
120121
if (!player.isGliding) {
121122
hasFirework = false
122123
return@listen
123124
}
124-
if (fireworkTimer.timePassed((lastFireworkDuration - safetyMargin).seconds)) {
125-
hasFirework = false
126-
}
125+
if (!withinFireworkTimeframe()) hasFirework = false
126+
hasFirework = hasFirework || player.hasFirework
127127
}
128128

129129
listen<PacketEvent.Send.Pre> { event ->
@@ -133,7 +133,6 @@ object ElytraFly : Module(
133133
if (stack.item != Items.FIREWORK_ROCKET) return@listen
134134
fireworkTimer.reset()
135135
lastFireworkDuration = (stack.get(DataComponentTypes.FIREWORKS)?.flightDuration ?: 1) * 0.5 + 0.5
136-
hasFirework = true
137136
}
138137

139138
listen<TickEvent.Pre> {
@@ -219,6 +218,8 @@ object ElytraFly : Module(
219218
)
220219
}
221220

221+
fun withinFireworkTimeframe() = !fireworkTimer.timePassed((lastFireworkDuration - safetyMargin).seconds)
222+
222223
private fun farthestPointInBox(bounds: DoubleArray, aim: Vec3d): Vec3d? {
223224
val center = Vec3d(
224225
(bounds[0] + bounds[3]) / 2.0,

src/main/kotlin/com/lambda/module/modules/movement/elytrafly/modes/GrimControlElytraFly.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import com.lambda.module.modules.movement.BetterFirework.startFirework
3030
import com.lambda.module.modules.movement.elytrafly.ElytraFly
3131
import com.lambda.module.modules.movement.elytrafly.ElytraFly.FlyMode
3232
import com.lambda.module.modules.movement.elytrafly.ElytraFly.hasFirework
33+
import com.lambda.module.modules.movement.elytrafly.ElytraFly.withinFireworkTimeframe
3334
import com.lambda.module.modules.movement.elytrafly.ElytraFlyMode
3435
import com.lambda.module.modules.render.Freecam
3536
import com.lambda.util.NamedEnum
@@ -116,7 +117,7 @@ class GrimControlElytraFly(
116117
if (flipFlopMode == FlipFlopMode.WithFirework) return@listen
117118
}
118119

119-
if (!hasFirework) {
120+
if (!hasFirework && !withinFireworkTimeframe()) {
120121
if (findFirework() == null) return@listen
121122
startFirework(inventory)
122123
}

0 commit comments

Comments
 (0)