Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Плавная ротация

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
8 Дек 2025
Сообщения
10
Реакции
0
как сделать так чтобы киллаура наводилась плавно. я сделал киллауру но она дерганная как починить (киллаура для теста)

KillAura:
Expand Collapse Copy
package nerselirt.xyz.client.modules.impl.combat;

import nerselirt.xyz.client.modules.Category;
import nerselirt.xyz.client.modules.Module;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
import org.lwjgl.glfw.GLFW;

public final class KillAura extends Module {
    private static final MinecraftClient mc = MinecraftClient.getInstance();
    public static volatile boolean ENABLED = false;

    private static final double RANGE = 4.0;

    public KillAura() {
        super("KillAura", "Aura", Category.COMBAT, GLFW.GLFW_KEY_Z);
    }

    @Override
    public void onDisable() {
        ENABLED = false;
    }

    @Override
    public void onEnable() {
        ENABLED = true;
    }

    @Override
    public void onUpdate() {
        ClientPlayerEntity player = mc.player;
        if (player == null || mc.world == null) return;

        LivingEntity target = findNearestLiving(player, RANGE);
        if (target == null) return;

        Vec3d aimPos = target.getBoundingBox().getCenter();

        double deltaX = target.getPos().x - player.getPos().x;
        double deltaY = target.getPos().y - player.getPos().y;
        double deltaZ = target.getPos().z - player.getPos().z;

        double horizontalDistance = Math.sqrt(deltaX * deltaX + deltaZ * deltaZ);

        float yaw = (float) Math.toDegrees(Math.atan2(deltaZ, deltaX)) - 90.0F;
        float pitch = (float) -Math.toDegrees(Math.atan2(deltaY, horizontalDistance));

        yaw = MathHelper.wrapDegrees(yaw);

        player.setPitch(pitch);
        player.setYaw(yaw);
    }


    private static LivingEntity findNearestLiving(ClientPlayerEntity player, double range) {
        double bestSq = range * range;
        LivingEntity best = null;

        for (Entity e : mc.world.getEntities()) {
            if (!(e instanceof LivingEntity living)) continue;
            if (!living.isAlive()) continue;
            if (living == player) continue;

            double d = player.squaredDistanceTo(living);
            if (d > bestSq) continue;

            bestSq = d;
            best = living;
        }
        return best;
    }
}
 
Назад
Сверху Снизу