Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Обход античита Rotation SpookyTime 14.04.26

?
1776783620581.png
 
всем ку сливаю ротку которая может щас работает может нет,не тестил но на момент 14.04 она работала точно и да я знаю что на спавне ач не работает я чисто для примера показал
сс -
Пожалуйста, авторизуйтесь для просмотра ссылки.

код (присутствует щитгпт)-
Java:
Expand Collapse Copy
public final class SpookyTimeRotationNEW implements IMinecraft {
private static final float[] POINT_HEIGHTS = { 0.85f, 0.55f, 0.20f };
private static final float[] POINT_WEIGHTS = { 0.45f, 0.40f, 0.15f };
private static boolean snapActive = false;
private static float snapFromYaw = 0f;
private static float snapFromPitch = 0f;
private static float snapToYaw = 0f;
private static float snapToPitch = 0f;
private static float snapProgress = 0f;
private static final float SNAP_SPEED = 0.22f;
private static float frozenYaw = Float.NaN;
private static float frozenPitch = Float.NaN;
private static boolean prevCanAttack = false;
private static long lastPitchTime = 0;
private static float microPitchTarget = 0f;
private static float microPitchOffset = 0f;
private static final Random RNG = new Random();
public static void rotate(LivingEntity target, boolean canAttack, float attackDistance, boolean check) {
if (target == null || mc.player == null) return;
if (Float.isNaN(frozenYaw)) {
frozenYaw = mc.player.rotationYaw;
frozenPitch = mc.player.rotationPitch;
        }
boolean hitMoment = canAttack && !prevCanAttack;
 prevCanAttack = canAttack;
 if (hitMoment) {
float[] angles = calcTargetAngles(target, pickPointHeight());
snapFromYaw = frozenYaw;
snapFromPitch = frozenPitch - microPitchOffset;
snapToYaw = angles[0];
snapToPitch = angles[1];
snapProgress = 0f;
snapActive = true;
        }
if (snapActive) {
snapProgress = Math.min(1f, snapProgress + SNAP_SPEED);
float ease = easeInOutSine(snapProgress);
float yawDelta = MathHelper.wrapDegrees(snapToYaw - snapFromYaw);
frozenYaw = MathHelper.wrapDegrees(snapFromYaw + yawDelta * ease);
frozenPitch = snapFromPitch + (snapToPitch - snapFromPitch) * ease;
if (snapProgress >= 1f) snapActive = false;
        }

long now = System.currentTimeMillis();
if (!snapActive) {
float osc1 = (float) Math.sin(now / 155.0) * 0.12f;
float osc2 = (float) Math.cos(now / 135.0) * 0.12f;
float osc3 = (float) Math.sin(now / 175.0) * 0.08f;
float kd = AttackAura.getInstance().cooldownFromLastSwing();
float jitter = (1.0f - kd) * 3.0f;
float yawJitter = Mathf.randomValue(-jitter, jitter);
float[] base = calcTargetAngles(target, 0.55f);
float targetYaw = base[0] + osc1 + osc2 + osc3 + yawJitter;
float gcd = dev.kodek.client.utils.rotation.aura.Rotation.getGCDValue();
targetYaw -= (targetYaw - mc.player.rotationYaw) % gcd;

 frozenYaw = targetYaw;
        }
if (!snapActive) {
if (now - lastPitchTime >= 30) {
 lastPitchTime = now;
microPitchTarget = (RNG.nextFloat() - 0.5f) * 1.4f;
            }
microPitchOffset += (microPitchTarget - microPitchOffset) * 0.3f;
} else {
microPitchOffset = 0f;
        }

float finalYaw = frozenYaw;
float finalPitch = MathHelper.clamp(frozenPitch + microPitchOffset, -89f, 89f);

float yawSpeed = snapActive ? 50f : 8f;
float pitchSpeed = snapActive ? 35f : 6f;
float returnYaw = Mathf.randomValue(11f, 16f);
float returnPitch = Mathf.randomValue(5f, 7f);
RotationComponent.update(new Rotation(finalYaw, finalPitch),
yawSpeed, pitchSpeed, returnYaw, returnPitch, 1, 15, false);
    }

private static float[] calcTargetAngles(LivingEntity target, float heightFactor) {
Vector3d eye = mc.player.getEyePosition(mc.getRenderPartialTicks());
        Vector3d point = target.getPositionVec().add(
(RNG.nextDouble() - 0.5) * 0.12,
                target.getHeight() * heightFactor,
(RNG.nextDouble() - 0.5) * 0.12
        );
        Vector3d dir = point.subtract(eye);
float yaw = (float) Math.toDegrees(Math.atan2(-dir.x, dir.z));
float pitch = (float) -Math.toDegrees(Math.atan2(dir.y, Math.hypot(dir.x, dir.z)));
return new float[]{ MathHelper.wrapDegrees(yaw), MathHelper.clamp(pitch, -89f, 89f) };
    }

private static float pickPointHeight() {
float r = RNG.nextFloat(), cumulative = 0f;
for (int i = 0; i < POINT_WEIGHTS.length; i++) {
cumulative += POINT_WEIGHTS[i];
if (r < cumulative) return POINT_HEIGHTS[i];
        }
return POINT_HEIGHTS[1];
    }

private static float easeInOutSine(float t) {
return (float) (-(Math.cos(Math.PI * t) - 1) / 2);
    }

public static void applyDisableTwitch() {
if (mc.player == null) return;
 reset();
    }

public static void reset() {
frozenYaw = Float.NaN;
frozenPitch = Float.NaN;
snapActive = false;
snapProgress = 0f;
prevCanAttack = false;
lastPitchTime = 0;
microPitchOffset = 0f;
microPitchTarget = 0f;
    }
}
сомневаюсь что это обходит и не понимаю зачем делать на снапах
 
Назад
Сверху Снизу