Skip to content

Add ElytraFly Boost mode #6172

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: nextgen
Choose a base branch
from
Open

Add ElytraFly Boost mode #6172

wants to merge 8 commits into from

Conversation

gqwg2003
Copy link

@gqwg2003 gqwg2003 commented May 21, 2025

I propose integrating a universal feature into the core cheat module, compatible with most servers. While the solution appears straightforward, it delivers flawless real-world performance.

I acknowledge that the current implementation has room for refinement, but it maintains production-ready stability.
Should you identify any imperfections, please notify me—I will implement immediate code corrections.

Key implementation highlights:

Codebase compliance: Seamless alignment with the repository structure and project file system

Full development lifecycle: Rigorous progression through development → testing → deployment

Combat-tested reliability: Verified functionality in live server environments

@gqwg2003
Copy link
Author

Visually, it looks something like this

Screenshot 2025-05-21 222544

Comment on lines 213 to 220
mc.options.jumpKey.isPressed -> {
val upSpeed = (ModuleElytraFly.Speed.vertical.toDouble() * verticalControl) + pullUpBoost
event.movement.withY(event.movement.y + upSpeed)
}
mc.options.sneakKey.isPressed -> {
val downSpeed = ModuleElytraFly.Speed.vertical.toDouble() * verticalControl
event.movement.withY(event.movement.y - downSpeed)
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you should check if both are pressed

*/
internal object ElytraFlyModeBoost : ElytraFlyMode("Boost") {

private fun Vec3d.withY(y: Double): Vec3d = Vec3d(this.x, y, this.z)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

put this in net.ccbluex.liquidbounce.utils.math.MinecraftVectorExtensions

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will implement all the suggestions and carry out a detailed revision. I am sure that much can be improved.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

put this in net.ccbluex.liquidbounce.utils.math.MinecraftVectorExtensions

We already have Vec3d.copy(y=xxx)

@@ -141,3 +141,5 @@ fun Vec3d.preferOver(other: Vec3d): Vec3d {
val z = if (this.z == 0.0) other.z else this.z
return Vec3d(x, y, z)
}

fun Vec3d.withY(y: Double): Vec3d = Vec3d(this.x, y, this.z)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace with Vec3d.copy(y=...)

Copy link
Author

@gqwg2003 gqwg2003 May 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I should have studied the code more closely. I probably missed something.

Comment on lines 49 to 53
private var currentAcceleration = 0.0f
private var currentDiveSpeed = 0.0f

private val diveAcceleration by float("DiveAcceleration", 0.05f, 0.01f..0.1f)
private val diveEfficiency by float("DiveEfficiency", 0.8f, 0.4f..1.5f)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

other variables settings should be above other variables

Comment on lines 64 to 65
currentAcceleration = 0.0f
currentDiveSpeed = 0.0f
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
currentAcceleration = 0.0f
currentDiveSpeed = 0.0f
currentAcceleration = 0f
currentDiveSpeed = 0f

val diveFactor = min(player.pitch / 90f, 1f)
currentDiveSpeed = min(
currentDiveSpeed + diveAcceleration * diveFactor,
1.2f // Maximum dive speed multiplier
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use constants

@1zun4 1zun4 added this to the 0.31.0 milestone May 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants