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

Часть функционала KillAura Sprint reset fabric 1.21.8

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
29 Дек 2024
Сообщения
21
Реакции
1
Выберите загрузчик игры
  1. Fabric
сделал для тех кто не знает как написать сброс спринта нормальный под сервера.
дохуища говно кода, код не читаемый вообще, конечно фулл гпт, зато работает
нужно добавить слайдер, тики до удара поставить на 2

Java:
Expand Collapse Copy
private void onStartClientTick(MinecraftClient client) {
    if (!isEnabled()) {
        tickLocalLookReturn(client);
        return;
    }
    syncClientLookState();
    syncRotationModeState();
    updateCriticalAirState(client);
    LivingEntity target = getTrackedTarget(client);
    if (client.player == null || client.interactionManager == null) return;

    tickSprintResetTimeout(client);

    if (sprintResetArmed && !client.player.isGliding()) {
        AutoSprintModule.suppressFor(120L);
        client.player.setSprinting(false);
        if (client.options != null) {
            client.options.sprintKey.setPressed(false);
            sprintKeyForcedRelease = true;
        }
    }

    if (target == null) {
        finishSprintReset(client, true);
        return;
    }

    long now = System.currentTimeMillis();
    double maxRangeSq = getRotationRange(client) * getRotationRange(client);
    if (target.squaredDistanceTo(client.player) > maxRangeSq) {
        finishSprintReset(client, true);
        return;
    }

    if (client.player.isGliding()) {
        refreshAttackRotation(client, target);
    }

    boolean inAttackReach = isWithinAttackReach(client, target);
    if (!inAttackReach) {
        finishSprintReset(client, true);
        return;
    }

    int configuredLeadTicks = getConfiguredSprintResetTicks();
    int ticksUntilAttackWindow = getTicksUntilAttackWindow(client, now);
    boolean smartResetActive = smartSprintReset.getValue()
        && onlyCriticals.getValue()
        && !client.player.isGliding();

    if (smartResetActive && client.player.isSprinting()) {
        if (!sprintResetArmed) {
            if (ticksUntilAttackWindow <= configuredLeadTicks) {
                int waitTicks = Math.max(SPRINT_RESET_MIN_TICKS, ticksUntilAttackWindow);
                armSprintReset(client, waitTicks);
                if (waitTicks > 0) return;
            } else {
                finishSprintReset(client, true);
                return;
            }
        } else if (client.player.age < sprintResetReadyTick) {
            return;
        }
    }

    boolean readyToAttack = ticksUntilAttackWindow <= 0 && canAttackNow(client);
    if (!readyToAttack) {
        maybeRestoreArmedSprint(client);
        return;
    }

    if (!prepareAttackTarget(client, target)) {
        finishSprintReset(client, true);
        return;
    }

    if (!smartResetActive && !sprintResetArmed && !client.player.isGliding() && client.player.isSprinting()) {
        int waitTicks = configuredLeadTicks;
        armSprintReset(client, waitTicks);
        if (waitTicks > 0) return;
    }

    if (sprintResetArmed && client.player.age < sprintResetReadyTick) return;

    if (!client.player.isGliding()) {
        AutoSprintModule.suppressFor(120L);
        client.player.setSprinting(false);
    }

    performAttack(client);
    onAttackPerformed(client, now);
    finishSprintReset(client, true);
}

private void armSprintReset(MinecraftClient client, int leadTicks) {
    if (client == null || client.player == null || client.player.isGliding()) return;
    leadTicks = MathHelper.clamp(leadTicks, SPRINT_RESET_MIN_TICKS, SMART_SPRINT_RESET_MAX_ARM_TICKS);

    sprintResetArmed = true;
    sprintResetShouldRestore = true;
    sprintResetReadyTick = client.player.age + leadTicks;
    sprintResetExpireTick = sprintResetReadyTick + SPRINT_RESET_MAX_WAIT_TICKS;

    AutoSprintModule.suppressFor(220L);
    client.player.setSprinting(false);
    if (client.options != null) {
        client.options.sprintKey.setPressed(false);
        sprintKeyForcedRelease = true;
    }
}

private void tickSprintResetTimeout(MinecraftClient client) {
    if (!sprintResetArmed || client == null || client.player == null) return;
    if (client.player.age > sprintResetExpireTick) {
        finishSprintReset(client, true);
    }
}

private void maybeRestoreArmedSprint(MinecraftClient client) {
    if (!sprintResetArmed || client == null || client.player == null) return;

    if ((!smartSprintReset.getValue() || !onlyCriticals.getValue()) && client.player.age >= sprintResetReadyTick) {
        finishSprintReset(client, true);
        return;
    }

    if (client.player.age > sprintResetExpireTick) {
        finishSprintReset(client, true);
    }
}

private int getTicksUntilAttackWindow(MinecraftClient client, long nowMs) {
    int delayTicks = msToTicksCeil(nextAttackAtMs - nowMs);
    float requiredCooldown = onlyCriticals.getValue() ? CRITICAL_ATTACK_COOLDOWN : FULL_ATTACK_COOLDOWN;
    int cooldownTicks = getTicksUntilCooldownReady(client, requiredCooldown);
    int critTicks = getTicksUntilEarliestCritical(client);
    return Math.max(delayTicks, Math.max(cooldownTicks, critTicks));
}

private int getConfiguredSprintResetTicks() {
    if (sprintResetTicks == null) return SPRINT_RESET_ARM_TICKS;
    int value = Math.round(sprintResetTicks.getValue());
    if (value < SPRINT_RESET_MIN_TICKS) return SPRINT_RESET_MIN_TICKS;
    if (value > SMART_SPRINT_RESET_MAX_ARM_TICKS) return SMART_SPRINT_RESET_MAX_ARM_TICKS;
    return value;
}

private static int msToTicksCeil(long ms) {
    if (ms <= 0L) return 0;
    return (int) ((ms + 49L) / 50L);
}

private static int getTicksUntilCooldownReady(MinecraftClient client, float requiredCooldown) {
    if (client == null || client.player == null) return 0;
    if (client.player.getAttackCooldownProgress(0.0f) >= requiredCooldown) return 0;
    for (int ticks = 1; ticks <= COOLDOWN_LOOKAHEAD_TICKS; ticks++) {
        if (client.player.getAttackCooldownProgress(ticks) >= requiredCooldown) {
            return ticks;
        }
    }
    return COOLDOWN_LOOKAHEAD_TICKS;
}

private int getTicksUntilEarliestCritical(MinecraftClient client) {
    if (client == null || client.player == null) return 0;
    if (!onlyCriticals.getValue() || client.player.isGliding()) return 0;
    if (EntityUtil.isPlayerInCriticalState(client.player)) return 0;
    if (client.player.isOnGround()) return 2;
    return client.player.getVelocity().y > 0.0 ? 2 : 1;
}

private void finishSprintReset(MinecraftClient client, boolean restoreSprint) {
    if (restoreSprint
        && sprintResetShouldRestore
        && client != null
        && client.player != null
        && !client.player.isGliding()) {
        client.player.setSprinting(true);
    }
    restoreSprintKeyState(client);
    clearSprintResetState();
}

private void restoreSprintKeyState(MinecraftClient client) {
    if (!sprintKeyForcedRelease || client == null || client.options == null) return;
    boolean physicalPressed = InventoryMoveModule.isPhysicalKeyPressed(client, client.options.sprintKey);
    client.options.sprintKey.setPressed(physicalPressed);
    sprintKeyForcedRelease = false;
}

private void clearSprintResetState() {
    sprintResetArmed = false;
    sprintResetShouldRestore = false;
    sprintKeyForcedRelease = false;
    sprintResetReadyTick = Integer.MIN_VALUE;
    sprintResetExpireTick = Integer.MIN_VALUE;
}
 
сделал для тех кто не знает как написать сброс спринта нормальный под сервера.
дохуища говно кода, код не читаемый вообще, конечно фулл гпт, зато работает
нужно добавить слайдер, тики до удара поставить на 2

Java:
Expand Collapse Copy
private void onStartClientTick(MinecraftClient client) {
    if (!isEnabled()) {
        tickLocalLookReturn(client);
        return;
    }
    syncClientLookState();
    syncRotationModeState();
    updateCriticalAirState(client);
    LivingEntity target = getTrackedTarget(client);
    if (client.player == null || client.interactionManager == null) return;

    tickSprintResetTimeout(client);

    if (sprintResetArmed && !client.player.isGliding()) {
        AutoSprintModule.suppressFor(120L);
        client.player.setSprinting(false);
        if (client.options != null) {
            client.options.sprintKey.setPressed(false);
            sprintKeyForcedRelease = true;
        }
    }

    if (target == null) {
        finishSprintReset(client, true);
        return;
    }

    long now = System.currentTimeMillis();
    double maxRangeSq = getRotationRange(client) * getRotationRange(client);
    if (target.squaredDistanceTo(client.player) > maxRangeSq) {
        finishSprintReset(client, true);
        return;
    }

    if (client.player.isGliding()) {
        refreshAttackRotation(client, target);
    }

    boolean inAttackReach = isWithinAttackReach(client, target);
    if (!inAttackReach) {
        finishSprintReset(client, true);
        return;
    }

    int configuredLeadTicks = getConfiguredSprintResetTicks();
    int ticksUntilAttackWindow = getTicksUntilAttackWindow(client, now);
    boolean smartResetActive = smartSprintReset.getValue()
        && onlyCriticals.getValue()
        && !client.player.isGliding();

    if (smartResetActive && client.player.isSprinting()) {
        if (!sprintResetArmed) {
            if (ticksUntilAttackWindow <= configuredLeadTicks) {
                int waitTicks = Math.max(SPRINT_RESET_MIN_TICKS, ticksUntilAttackWindow);
                armSprintReset(client, waitTicks);
                if (waitTicks > 0) return;
            } else {
                finishSprintReset(client, true);
                return;
            }
        } else if (client.player.age < sprintResetReadyTick) {
            return;
        }
    }

    boolean readyToAttack = ticksUntilAttackWindow <= 0 && canAttackNow(client);
    if (!readyToAttack) {
        maybeRestoreArmedSprint(client);
        return;
    }

    if (!prepareAttackTarget(client, target)) {
        finishSprintReset(client, true);
        return;
    }

    if (!smartResetActive && !sprintResetArmed && !client.player.isGliding() && client.player.isSprinting()) {
        int waitTicks = configuredLeadTicks;
        armSprintReset(client, waitTicks);
        if (waitTicks > 0) return;
    }

    if (sprintResetArmed && client.player.age < sprintResetReadyTick) return;

    if (!client.player.isGliding()) {
        AutoSprintModule.suppressFor(120L);
        client.player.setSprinting(false);
    }

    performAttack(client);
    onAttackPerformed(client, now);
    finishSprintReset(client, true);
}

private void armSprintReset(MinecraftClient client, int leadTicks) {
    if (client == null || client.player == null || client.player.isGliding()) return;
    leadTicks = MathHelper.clamp(leadTicks, SPRINT_RESET_MIN_TICKS, SMART_SPRINT_RESET_MAX_ARM_TICKS);

    sprintResetArmed = true;
    sprintResetShouldRestore = true;
    sprintResetReadyTick = client.player.age + leadTicks;
    sprintResetExpireTick = sprintResetReadyTick + SPRINT_RESET_MAX_WAIT_TICKS;

    AutoSprintModule.suppressFor(220L);
    client.player.setSprinting(false);
    if (client.options != null) {
        client.options.sprintKey.setPressed(false);
        sprintKeyForcedRelease = true;
    }
}

private void tickSprintResetTimeout(MinecraftClient client) {
    if (!sprintResetArmed || client == null || client.player == null) return;
    if (client.player.age > sprintResetExpireTick) {
        finishSprintReset(client, true);
    }
}

private void maybeRestoreArmedSprint(MinecraftClient client) {
    if (!sprintResetArmed || client == null || client.player == null) return;

    if ((!smartSprintReset.getValue() || !onlyCriticals.getValue()) && client.player.age >= sprintResetReadyTick) {
        finishSprintReset(client, true);
        return;
    }

    if (client.player.age > sprintResetExpireTick) {
        finishSprintReset(client, true);
    }
}

private int getTicksUntilAttackWindow(MinecraftClient client, long nowMs) {
    int delayTicks = msToTicksCeil(nextAttackAtMs - nowMs);
    float requiredCooldown = onlyCriticals.getValue() ? CRITICAL_ATTACK_COOLDOWN : FULL_ATTACK_COOLDOWN;
    int cooldownTicks = getTicksUntilCooldownReady(client, requiredCooldown);
    int critTicks = getTicksUntilEarliestCritical(client);
    return Math.max(delayTicks, Math.max(cooldownTicks, critTicks));
}

private int getConfiguredSprintResetTicks() {
    if (sprintResetTicks == null) return SPRINT_RESET_ARM_TICKS;
    int value = Math.round(sprintResetTicks.getValue());
    if (value < SPRINT_RESET_MIN_TICKS) return SPRINT_RESET_MIN_TICKS;
    if (value > SMART_SPRINT_RESET_MAX_ARM_TICKS) return SMART_SPRINT_RESET_MAX_ARM_TICKS;
    return value;
}

private static int msToTicksCeil(long ms) {
    if (ms <= 0L) return 0;
    return (int) ((ms + 49L) / 50L);
}

private static int getTicksUntilCooldownReady(MinecraftClient client, float requiredCooldown) {
    if (client == null || client.player == null) return 0;
    if (client.player.getAttackCooldownProgress(0.0f) >= requiredCooldown) return 0;
    for (int ticks = 1; ticks <= COOLDOWN_LOOKAHEAD_TICKS; ticks++) {
        if (client.player.getAttackCooldownProgress(ticks) >= requiredCooldown) {
            return ticks;
        }
    }
    return COOLDOWN_LOOKAHEAD_TICKS;
}

private int getTicksUntilEarliestCritical(MinecraftClient client) {
    if (client == null || client.player == null) return 0;
    if (!onlyCriticals.getValue() || client.player.isGliding()) return 0;
    if (EntityUtil.isPlayerInCriticalState(client.player)) return 0;
    if (client.player.isOnGround()) return 2;
    return client.player.getVelocity().y > 0.0 ? 2 : 1;
}

private void finishSprintReset(MinecraftClient client, boolean restoreSprint) {
    if (restoreSprint
        && sprintResetShouldRestore
        && client != null
        && client.player != null
        && !client.player.isGliding()) {
        client.player.setSprinting(true);
    }
    restoreSprintKeyState(client);
    clearSprintResetState();
}

private void restoreSprintKeyState(MinecraftClient client) {
    if (!sprintKeyForcedRelease || client == null || client.options == null) return;
    boolean physicalPressed = InventoryMoveModule.isPhysicalKeyPressed(client, client.options.sprintKey);
    client.options.sprintKey.setPressed(physicalPressed);
    sprintKeyForcedRelease = false;
}

private void clearSprintResetState() {
    sprintResetArmed = false;
    sprintResetShouldRestore = false;
    sprintKeyForcedRelease = false;
    sprintResetReadyTick = Integer.MIN_VALUE;
    sprintResetExpireTick = Integer.MIN_VALUE;
}
нахуя столько кода? он в пару тройку строк делается
 
сделал для тех кто не знает как написать сброс спринта нормальный под сервера.
дохуища говно кода, код не читаемый вообще, конечно фулл гпт, зато работает
нужно добавить слайдер, тики до удара поставить на 2

Java:
Expand Collapse Copy
private void onStartClientTick(MinecraftClient client) {
    if (!isEnabled()) {
        tickLocalLookReturn(client);
        return;
    }
    syncClientLookState();
    syncRotationModeState();
    updateCriticalAirState(client);
    LivingEntity target = getTrackedTarget(client);
    if (client.player == null || client.interactionManager == null) return;

    tickSprintResetTimeout(client);

    if (sprintResetArmed && !client.player.isGliding()) {
        AutoSprintModule.suppressFor(120L);
        client.player.setSprinting(false);
        if (client.options != null) {
            client.options.sprintKey.setPressed(false);
            sprintKeyForcedRelease = true;
        }
    }

    if (target == null) {
        finishSprintReset(client, true);
        return;
    }

    long now = System.currentTimeMillis();
    double maxRangeSq = getRotationRange(client) * getRotationRange(client);
    if (target.squaredDistanceTo(client.player) > maxRangeSq) {
        finishSprintReset(client, true);
        return;
    }

    if (client.player.isGliding()) {
        refreshAttackRotation(client, target);
    }

    boolean inAttackReach = isWithinAttackReach(client, target);
    if (!inAttackReach) {
        finishSprintReset(client, true);
        return;
    }

    int configuredLeadTicks = getConfiguredSprintResetTicks();
    int ticksUntilAttackWindow = getTicksUntilAttackWindow(client, now);
    boolean smartResetActive = smartSprintReset.getValue()
        && onlyCriticals.getValue()
        && !client.player.isGliding();

    if (smartResetActive && client.player.isSprinting()) {
        if (!sprintResetArmed) {
            if (ticksUntilAttackWindow <= configuredLeadTicks) {
                int waitTicks = Math.max(SPRINT_RESET_MIN_TICKS, ticksUntilAttackWindow);
                armSprintReset(client, waitTicks);
                if (waitTicks > 0) return;
            } else {
                finishSprintReset(client, true);
                return;
            }
        } else if (client.player.age < sprintResetReadyTick) {
            return;
        }
    }

    boolean readyToAttack = ticksUntilAttackWindow <= 0 && canAttackNow(client);
    if (!readyToAttack) {
        maybeRestoreArmedSprint(client);
        return;
    }

    if (!prepareAttackTarget(client, target)) {
        finishSprintReset(client, true);
        return;
    }

    if (!smartResetActive && !sprintResetArmed && !client.player.isGliding() && client.player.isSprinting()) {
        int waitTicks = configuredLeadTicks;
        armSprintReset(client, waitTicks);
        if (waitTicks > 0) return;
    }

    if (sprintResetArmed && client.player.age < sprintResetReadyTick) return;

    if (!client.player.isGliding()) {
        AutoSprintModule.suppressFor(120L);
        client.player.setSprinting(false);
    }

    performAttack(client);
    onAttackPerformed(client, now);
    finishSprintReset(client, true);
}

private void armSprintReset(MinecraftClient client, int leadTicks) {
    if (client == null || client.player == null || client.player.isGliding()) return;
    leadTicks = MathHelper.clamp(leadTicks, SPRINT_RESET_MIN_TICKS, SMART_SPRINT_RESET_MAX_ARM_TICKS);

    sprintResetArmed = true;
    sprintResetShouldRestore = true;
    sprintResetReadyTick = client.player.age + leadTicks;
    sprintResetExpireTick = sprintResetReadyTick + SPRINT_RESET_MAX_WAIT_TICKS;

    AutoSprintModule.suppressFor(220L);
    client.player.setSprinting(false);
    if (client.options != null) {
        client.options.sprintKey.setPressed(false);
        sprintKeyForcedRelease = true;
    }
}

private void tickSprintResetTimeout(MinecraftClient client) {
    if (!sprintResetArmed || client == null || client.player == null) return;
    if (client.player.age > sprintResetExpireTick) {
        finishSprintReset(client, true);
    }
}

private void maybeRestoreArmedSprint(MinecraftClient client) {
    if (!sprintResetArmed || client == null || client.player == null) return;

    if ((!smartSprintReset.getValue() || !onlyCriticals.getValue()) && client.player.age >= sprintResetReadyTick) {
        finishSprintReset(client, true);
        return;
    }

    if (client.player.age > sprintResetExpireTick) {
        finishSprintReset(client, true);
    }
}

private int getTicksUntilAttackWindow(MinecraftClient client, long nowMs) {
    int delayTicks = msToTicksCeil(nextAttackAtMs - nowMs);
    float requiredCooldown = onlyCriticals.getValue() ? CRITICAL_ATTACK_COOLDOWN : FULL_ATTACK_COOLDOWN;
    int cooldownTicks = getTicksUntilCooldownReady(client, requiredCooldown);
    int critTicks = getTicksUntilEarliestCritical(client);
    return Math.max(delayTicks, Math.max(cooldownTicks, critTicks));
}

private int getConfiguredSprintResetTicks() {
    if (sprintResetTicks == null) return SPRINT_RESET_ARM_TICKS;
    int value = Math.round(sprintResetTicks.getValue());
    if (value < SPRINT_RESET_MIN_TICKS) return SPRINT_RESET_MIN_TICKS;
    if (value > SMART_SPRINT_RESET_MAX_ARM_TICKS) return SMART_SPRINT_RESET_MAX_ARM_TICKS;
    return value;
}

private static int msToTicksCeil(long ms) {
    if (ms <= 0L) return 0;
    return (int) ((ms + 49L) / 50L);
}

private static int getTicksUntilCooldownReady(MinecraftClient client, float requiredCooldown) {
    if (client == null || client.player == null) return 0;
    if (client.player.getAttackCooldownProgress(0.0f) >= requiredCooldown) return 0;
    for (int ticks = 1; ticks <= COOLDOWN_LOOKAHEAD_TICKS; ticks++) {
        if (client.player.getAttackCooldownProgress(ticks) >= requiredCooldown) {
            return ticks;
        }
    }
    return COOLDOWN_LOOKAHEAD_TICKS;
}

private int getTicksUntilEarliestCritical(MinecraftClient client) {
    if (client == null || client.player == null) return 0;
    if (!onlyCriticals.getValue() || client.player.isGliding()) return 0;
    if (EntityUtil.isPlayerInCriticalState(client.player)) return 0;
    if (client.player.isOnGround()) return 2;
    return client.player.getVelocity().y > 0.0 ? 2 : 1;
}

private void finishSprintReset(MinecraftClient client, boolean restoreSprint) {
    if (restoreSprint
        && sprintResetShouldRestore
        && client != null
        && client.player != null
        && !client.player.isGliding()) {
        client.player.setSprinting(true);
    }
    restoreSprintKeyState(client);
    clearSprintResetState();
}

private void restoreSprintKeyState(MinecraftClient client) {
    if (!sprintKeyForcedRelease || client == null || client.options == null) return;
    boolean physicalPressed = InventoryMoveModule.isPhysicalKeyPressed(client, client.options.sprintKey);
    client.options.sprintKey.setPressed(physicalPressed);
    sprintKeyForcedRelease = false;
}

private void clearSprintResetState() {
    sprintResetArmed = false;
    sprintResetShouldRestore = false;
    sprintKeyForcedRelease = false;
    sprintResetReadyTick = Integer.MIN_VALUE;
    sprintResetExpireTick = Integer.MIN_VALUE;
}
че щас с км происходит уже нормальный сброс спринта сделать не могут в 10 строк и гпт просят, я вахуи
 
Назад
Сверху Снизу