Skip to content

Commit

Permalink
feat(Scaffold): telly rotation reset modes (#4758)
Browse files Browse the repository at this point in the history
**RESET:** the old method
**REVERSE:** instead of returning null rotation this returns the camera's current rotation rounded to 45degrees, which works better because its not waiting for the ticksuntillreset and instantly rotating

Fixes #4841
  • Loading branch information
larryngton2 authored Dec 15, 2024
1 parent 25b569a commit a421137
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,11 @@ import net.ccbluex.liquidbounce.features.module.modules.world.scaffold.technique
import net.ccbluex.liquidbounce.features.module.modules.world.scaffold.techniques.normal.ScaffoldEagleFeature
import net.ccbluex.liquidbounce.features.module.modules.world.scaffold.techniques.normal.ScaffoldStabilizeMovementFeature
import net.ccbluex.liquidbounce.features.module.modules.world.scaffold.techniques.normal.ScaffoldTellyFeature
import net.ccbluex.liquidbounce.features.module.modules.world.scaffold.techniques.normal.ScaffoldTellyFeature.Mode
import net.ccbluex.liquidbounce.utils.aiming.Rotation
import net.ccbluex.liquidbounce.utils.aiming.raycast
import net.ccbluex.liquidbounce.utils.block.targetfinding.*
import net.ccbluex.liquidbounce.utils.entity.rotation
import net.ccbluex.liquidbounce.utils.kotlin.EventPriorityConvention
import net.ccbluex.liquidbounce.utils.math.geometry.Line
import net.ccbluex.liquidbounce.utils.math.sq
Expand All @@ -39,6 +41,7 @@ import net.minecraft.item.ItemStack
import net.minecraft.util.hit.HitResult
import net.minecraft.util.math.Vec3d
import net.minecraft.util.math.Vec3i
import kotlin.math.round
import kotlin.random.Random

/**
Expand Down Expand Up @@ -93,7 +96,14 @@ object ScaffoldNormalTechnique : ScaffoldTechnique("Normal") {

override fun getRotations(target: BlockPlacementTarget?): Rotation? {
if (ScaffoldTellyFeature.enabled && ScaffoldTellyFeature.doNotAim) {
return null
return when (ScaffoldTellyFeature.resetMode) {
Mode.REVERSE -> Rotation(
round(player.rotation.yaw / 45) * 45,
if (player.pitch < 45f) 45f else player.pitch
)

Mode.RESET -> null
}
}

if (requiresSight) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
*/
package net.ccbluex.liquidbounce.features.module.modules.world.scaffold.techniques.normal

import net.ccbluex.liquidbounce.config.types.NamedChoice
import net.ccbluex.liquidbounce.config.types.ToggleableConfigurable
import net.ccbluex.liquidbounce.event.events.GameTickEvent
import net.ccbluex.liquidbounce.event.events.MovementInputEvent
Expand All @@ -27,6 +28,7 @@ import net.ccbluex.liquidbounce.features.module.modules.world.scaffold.ModuleSca
import net.ccbluex.liquidbounce.features.module.modules.world.scaffold.techniques.ScaffoldNormalTechnique
import net.ccbluex.liquidbounce.utils.aiming.RotationManager
import net.ccbluex.liquidbounce.utils.entity.moving
import net.ccbluex.liquidbounce.utils.entity.rotation

/**
* Telly feature
Expand All @@ -49,6 +51,7 @@ object ScaffoldTellyFeature : ToggleableConfigurable(ScaffoldNormalTechnique, "T
private var offGroundTicks = 0
private var ticksUntilJump = 0

val resetMode by enumChoice("ResetMode", Mode.RESET)
private val straightTicks by int("Straight", 0, 0..5, "ticks")
private val jumpTicksOpt by intRange("Jump", 0..0, 0..10, "ticks")
private var jumpTicks = jumpTicksOpt.random()
Expand All @@ -70,8 +73,10 @@ object ScaffoldTellyFeature : ToggleableConfigurable(ScaffoldNormalTechnique, "T
}

val isStraight = RotationManager.currentRotation == null || straightTicks == 0
if (isStraight && ticksUntilJump >= jumpTicks) {
event.jumping = true

when (resetMode) {
Mode.REVERSE -> event.jumping = true
Mode.RESET -> if (isStraight && ticksUntilJump >= jumpTicks) event.jumping = true
}
}

Expand All @@ -81,4 +86,9 @@ object ScaffoldTellyFeature : ToggleableConfigurable(ScaffoldNormalTechnique, "T
jumpTicks = jumpTicksOpt.random()
}

enum class Mode(override val choiceName: String) : NamedChoice {
REVERSE("Reverse"),
RESET("Reset")
}

}

0 comments on commit a421137

Please sign in to comment.