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

Вопрос Почему ротку на рв флагает? Помогите пэжэ fabric 1.21.4

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
25 Фев 2026
Сообщения
45
Реакции
0
govno:
Expand Collapse Copy
package ezz.onyx.features.modules.impl.combat;

import com.google.common.eventbus.Subscribe;
import ezz.onyx.api.event.impl.EventPacket;
import ezz.onyx.api.event.impl.EventRender;
import ezz.onyx.api.event.impl.EventTick;
import ezz.onyx.api.event.impl.EventVelocity;
import ezz.onyx.features.modules.api.Category;
import ezz.onyx.features.modules.api.Module;
import ezz.onyx.features.modules.api.settings.impl.BooleanSetting;
import ezz.onyx.features.modules.api.settings.impl.EnumSetting;
import ezz.onyx.features.modules.api.settings.impl.MultiEnumSetting;
import ezz.onyx.features.modules.api.settings.impl.SliderSetting;
import ezz.onyx.utility.combat.GCDUtil;
import ezz.onyx.utility.combat.StrikeManager;
import ezz.onyx.utility.other.StopWatch;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.mob.MobEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.text.Text;
import net.minecraft.util.Hand;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;

import java.util.Random;

import static ezz.onyx.utility.Wrapper.mc;

public class NewAura extends Module {

    private enum Rotations {

        ReallyWorld,
        SeenBeSoon


    }


    private enum Targets {

        Players,
        Animals,
        Monsters,
        Mobs

    }


    EnumSetting rotation = new EnumSetting("rotation", Rotations.class, Rotations.ReallyWorld);

    SliderSetting radius = new SliderSetting("radius", 3, 1, 6, 0.1f);

    BooleanSetting smartCrits = new BooleanSetting("smart_crits", false);
    BooleanSetting saveTarget = new BooleanSetting("save_target", false);

    MultiEnumSetting targets = new MultiEnumSetting("targets", Targets.class);

    public static NewAura instance;

    public NewAura() {
        super("NewAura", Category.Combat);
        addSettings(rotation, radius, smartCrits, saveTarget, targets);
        instance = this;
    }


    LivingEntity target = null;

    float targetYaw, targetPitch;
    public static float currentYaw = 0, currentPitch = 0;

    Random random = new Random();
    StopWatch rotTimer = new StopWatch();


    boolean govno = false, rotating = false;

    @Subscribe
    public void onTick(EventTick e) {
        if (mc.player == null || mc.world == null) return;

        target = findTarget();

        if (target == null) return;

        if (!govno) {

            targetYaw = StrikeManager.getRotationsToEntity(target)[0];
            targetPitch = StrikeManager.getRotationsToEntity(target)[1];

        }

        float yawDiff = MathHelper.wrapDegrees(targetYaw - currentYaw);
        float pitchDiff = targetPitch - currentPitch;

        float speed = 35;

        yawDiff = MathHelper.clamp(yawDiff, -speed, speed);
        pitchDiff = MathHelper.clamp(pitchDiff, -speed, speed);

        currentYaw += yawDiff;
        currentPitch += pitchDiff;

        float gcd = GCDUtil.getGCDValue();
        currentYaw -= currentYaw % gcd;
        currentPitch -= currentPitch % gcd;

        currentPitch = MathHelper.clamp(currentPitch, -89f, 89f);

        if (Math.abs(MathHelper.wrapDegrees(targetYaw - currentYaw)) < speed && rotTimer.isReached(250)) {

            currentYaw = targetYaw;
            rotTimer.reset();

            if (smartCrits.getValue()) {

                if (mc.options.jumpKey.isPressed()) {

                    if (StrikeManager.canPerfectCrit()) {

                        govno = true;

                        mc.interactionManager.attackEntity(mc.player, target);
                        mc.player.swingHand(Hand.MAIN_HAND);

                        targetYaw = mc.player.getYaw();
                        rotating = true;

                    }

                } else {

                    if (StrikeManager.canAttack()) {

                        govno = true;

                        mc.interactionManager.attackEntity(mc.player, target);
                        mc.player.swingHand(Hand.MAIN_HAND);

                        targetYaw = mc.player.getYaw();
                        rotating = true;
                    }

                }

            } else {

                if (StrikeManager.canPerfectCrit()) {

                    govno = true;

                    mc.interactionManager.attackEntity(mc.player, target);
                    mc.player.swingHand(Hand.MAIN_HAND);

                    targetYaw = mc.player.getYaw();
                    rotating = true;
                }

            }


        }

        if (rotating && Math.abs(currentYaw - targetYaw) < 0.01f) {

            govno = false;
            rotating = false;

        }



    }

    
    @Subscribe
    public void onPacket(EventPacket.Send.Movement e) {
        
        e.setYaw(currentYaw);
        e.setPitch(currentPitch);
        e.cancel();
        
    }

    @Subscribe
    public void onRender(EventRender e) {
        mc.player.setHeadYaw(currentYaw);
        mc.player.setBodyYaw(currentYaw);
        mc.player.renderPitch = currentPitch;
        mc.player.renderYaw = currentYaw;
        mc.player.lastRenderPitch = currentPitch;
        mc.player.lastRenderYaw = currentYaw;
    }


    private LivingEntity findTarget() {


        LivingEntity minDistEntity = null;
        double minDist = Double.MAX_VALUE;

        for (Entity huina : mc.world.getEntities()) {
            if (huina == mc.player) continue;

            if (mc.player.distanceTo(huina) > radius.getValue()) continue;

            if (!(huina instanceof LivingEntity entity)) continue;

            if (entity instanceof PlayerEntity && !targets.isSelected(Targets.Players)) continue;
            if (entity instanceof AnimalEntity && !targets.isSelected(Targets.Animals)) continue;
            if (entity instanceof Monster && !targets.isSelected(Targets.Monsters)) continue;
            if (entity instanceof MobEntity && !targets.isSelected(Targets.Mobs)) continue;

            if (mc.player.distanceTo(entity) < minDist) {

                minDistEntity = entity;
                minDist = mc.player.distanceTo(entity);

            }

        }

        return minDistEntity;


    }




}

Я хз как делать уже, кучу раз переделывал.


вот коррекция

Java:
Expand Collapse Copy
    @Inject(method = "tick", at = @At("HEAD"))
    public void onTick(CallbackInfo ci) {

        if (NewAura.instance.isToggled()) {

            float deltaYaw = mc.player.getYaw() - NewAura.currentYaw;
            float z = KeyboardInput.getMovementMultiplier(playerInput.forward(), playerInput.backward());
            float x = KeyboardInput.getMovementMultiplier(playerInput.left(), playerInput.right());
            float newX = x * MathHelper.cos(deltaYaw * 0.017453292f) - z * MathHelper.sin(deltaYaw * 0.017453292f);
            float newZ = z * MathHelper.cos(deltaYaw * 0.017453292f) + x * MathHelper.sin(deltaYaw * 0.017453292f);
            int movementSideways = Math.round(newX);
            int movementForward = Math.round(newZ);
            this.playerInput = new PlayerInput(
                    movementForward > 0F,
                    movementForward < 0F,
                    movementSideways > 0F,
                    movementSideways < 0F,
                    playerInput.jump(),
                    playerInput.sneak(),
                    playerInput.sprint());

        }


    }

это в KeyboardInputMixin


И вот еще страйк менеджер дам



govno:
Expand Collapse Copy
package ezz.onyx.utility.combat;

import ezz.onyx.features.modules.impl.movement.AutoSprint;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.util.math.Vec3d;

import static ezz.onyx.utility.Wrapper.mc;

public class StrikeManager {

    public static boolean canPerfectCrit() {
        return mc.player.fallDistance > 0.0F
                && !mc.player.isOnGround()
                && !mc.player.isClimbing()
                && !mc.player.isTouchingWater()
                && !mc.player.hasStatusEffect(StatusEffects.BLINDNESS)
                && !mc.player.hasVehicle()
                && !mc.player.getAbilities().flying;
    }

    public static void stopSprintingFor(int ms) {
        mc.player.setSprinting(false);
        mc.options.sprintKey.setPressed(false);
        AutoSprint.instance.stopSprintingFor(ms);
    }

    public static boolean canAttack() {

        if (!(mc.player.getAttackCooldownProgress(0f) >= 0.95f)) return false;
        return !mc.player.isUsingItem();

    }

    public static float[] getRotationsToEntity(LivingEntity target) {
        Vec3d eyes = new Vec3d(mc.player.getX(), mc.player.getY() + mc.player.getEyeHeight(mc.player.getPose()), mc.player.getZ());
        Vec3d targetPos = new Vec3d(target.getX(), target.getY() + target.getEyeHeight(target.getPose()) - 0.1, target.getZ());
        double difX = targetPos.x - eyes.x;
        double difY = targetPos.y - eyes.y;
        double difZ = targetPos.z - eyes.z;
        double dist = Math.sqrt(difX * difX + difZ * difZ);
        float yaw = (float) Math.toDegrees(Math.atan2(difZ, difX)) - 90f;
        float pitch = (float) -Math.toDegrees(Math.atan2(difY, dist));
        while (yaw > 180f) yaw -= 360f;
        while (yaw < -180f) yaw += 360f;
        return new float[]{yaw, pitch};
    }

}
 
govno:
Expand Collapse Copy
package ezz.onyx.features.modules.impl.combat;

import com.google.common.eventbus.Subscribe;
import ezz.onyx.api.event.impl.EventPacket;
import ezz.onyx.api.event.impl.EventRender;
import ezz.onyx.api.event.impl.EventTick;
import ezz.onyx.api.event.impl.EventVelocity;
import ezz.onyx.features.modules.api.Category;
import ezz.onyx.features.modules.api.Module;
import ezz.onyx.features.modules.api.settings.impl.BooleanSetting;
import ezz.onyx.features.modules.api.settings.impl.EnumSetting;
import ezz.onyx.features.modules.api.settings.impl.MultiEnumSetting;
import ezz.onyx.features.modules.api.settings.impl.SliderSetting;
import ezz.onyx.utility.combat.GCDUtil;
import ezz.onyx.utility.combat.StrikeManager;
import ezz.onyx.utility.other.StopWatch;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.mob.MobEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.text.Text;
import net.minecraft.util.Hand;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;

import java.util.Random;

import static ezz.onyx.utility.Wrapper.mc;

public class NewAura extends Module {

    private enum Rotations {

        ReallyWorld,
        SeenBeSoon


    }


    private enum Targets {

        Players,
        Animals,
        Monsters,
        Mobs

    }


    EnumSetting rotation = new EnumSetting("rotation", Rotations.class, Rotations.ReallyWorld);

    SliderSetting radius = new SliderSetting("radius", 3, 1, 6, 0.1f);

    BooleanSetting smartCrits = new BooleanSetting("smart_crits", false);
    BooleanSetting saveTarget = new BooleanSetting("save_target", false);

    MultiEnumSetting targets = new MultiEnumSetting("targets", Targets.class);

    public static NewAura instance;

    public NewAura() {
        super("NewAura", Category.Combat);
        addSettings(rotation, radius, smartCrits, saveTarget, targets);
        instance = this;
    }


    LivingEntity target = null;

    float targetYaw, targetPitch;
    public static float currentYaw = 0, currentPitch = 0;

    Random random = new Random();
    StopWatch rotTimer = new StopWatch();


    boolean govno = false, rotating = false;

    @Subscribe
    public void onTick(EventTick e) {
        if (mc.player == null || mc.world == null) return;

        target = findTarget();

        if (target == null) return;

        if (!govno) {

            targetYaw = StrikeManager.getRotationsToEntity(target)[0];
            targetPitch = StrikeManager.getRotationsToEntity(target)[1];

        }

        float yawDiff = MathHelper.wrapDegrees(targetYaw - currentYaw);
        float pitchDiff = targetPitch - currentPitch;

        float speed = 35;

        yawDiff = MathHelper.clamp(yawDiff, -speed, speed);
        pitchDiff = MathHelper.clamp(pitchDiff, -speed, speed);

        currentYaw += yawDiff;
        currentPitch += pitchDiff;

        float gcd = GCDUtil.getGCDValue();
        currentYaw -= currentYaw % gcd;
        currentPitch -= currentPitch % gcd;

        currentPitch = MathHelper.clamp(currentPitch, -89f, 89f);

        if (Math.abs(MathHelper.wrapDegrees(targetYaw - currentYaw)) < speed && rotTimer.isReached(250)) {

            currentYaw = targetYaw;
            rotTimer.reset();

            if (smartCrits.getValue()) {

                if (mc.options.jumpKey.isPressed()) {

                    if (StrikeManager.canPerfectCrit()) {

                        govno = true;

                        mc.interactionManager.attackEntity(mc.player, target);
                        mc.player.swingHand(Hand.MAIN_HAND);

                        targetYaw = mc.player.getYaw();
                        rotating = true;

                    }

                } else {

                    if (StrikeManager.canAttack()) {

                        govno = true;

                        mc.interactionManager.attackEntity(mc.player, target);
                        mc.player.swingHand(Hand.MAIN_HAND);

                        targetYaw = mc.player.getYaw();
                        rotating = true;
                    }

                }

            } else {

                if (StrikeManager.canPerfectCrit()) {

                    govno = true;

                    mc.interactionManager.attackEntity(mc.player, target);
                    mc.player.swingHand(Hand.MAIN_HAND);

                    targetYaw = mc.player.getYaw();
                    rotating = true;
                }

            }


        }

        if (rotating && Math.abs(currentYaw - targetYaw) < 0.01f) {

            govno = false;
            rotating = false;

        }



    }

   
    @Subscribe
    public void onPacket(EventPacket.Send.Movement e) {
       
        e.setYaw(currentYaw);
        e.setPitch(currentPitch);
        e.cancel();
       
    }

    @Subscribe
    public void onRender(EventRender e) {
        mc.player.setHeadYaw(currentYaw);
        mc.player.setBodyYaw(currentYaw);
        mc.player.renderPitch = currentPitch;
        mc.player.renderYaw = currentYaw;
        mc.player.lastRenderPitch = currentPitch;
        mc.player.lastRenderYaw = currentYaw;
    }


    private LivingEntity findTarget() {


        LivingEntity minDistEntity = null;
        double minDist = Double.MAX_VALUE;

        for (Entity huina : mc.world.getEntities()) {
            if (huina == mc.player) continue;

            if (mc.player.distanceTo(huina) > radius.getValue()) continue;

            if (!(huina instanceof LivingEntity entity)) continue;

            if (entity instanceof PlayerEntity && !targets.isSelected(Targets.Players)) continue;
            if (entity instanceof AnimalEntity && !targets.isSelected(Targets.Animals)) continue;
            if (entity instanceof Monster && !targets.isSelected(Targets.Monsters)) continue;
            if (entity instanceof MobEntity && !targets.isSelected(Targets.Mobs)) continue;

            if (mc.player.distanceTo(entity) < minDist) {

                minDistEntity = entity;
                minDist = mc.player.distanceTo(entity);

            }

        }

        return minDistEntity;


    }




}

Я хз как делать уже, кучу раз переделывал.


вот коррекция

Java:
Expand Collapse Copy
    @Inject(method = "tick", at = @At("HEAD"))
    public void onTick(CallbackInfo ci) {

        if (NewAura.instance.isToggled()) {

            float deltaYaw = mc.player.getYaw() - NewAura.currentYaw;
            float z = KeyboardInput.getMovementMultiplier(playerInput.forward(), playerInput.backward());
            float x = KeyboardInput.getMovementMultiplier(playerInput.left(), playerInput.right());
            float newX = x * MathHelper.cos(deltaYaw * 0.017453292f) - z * MathHelper.sin(deltaYaw * 0.017453292f);
            float newZ = z * MathHelper.cos(deltaYaw * 0.017453292f) + x * MathHelper.sin(deltaYaw * 0.017453292f);
            int movementSideways = Math.round(newX);
            int movementForward = Math.round(newZ);
            this.playerInput = new PlayerInput(
                    movementForward > 0F,
                    movementForward < 0F,
                    movementSideways > 0F,
                    movementSideways < 0F,
                    playerInput.jump(),
                    playerInput.sneak(),
                    playerInput.sprint());

        }


    }

это в KeyboardInputMixin


И вот еще страйк менеджер дам



govno:
Expand Collapse Copy
package ezz.onyx.utility.combat;

import ezz.onyx.features.modules.impl.movement.AutoSprint;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.util.math.Vec3d;

import static ezz.onyx.utility.Wrapper.mc;

public class StrikeManager {

    public static boolean canPerfectCrit() {
        return mc.player.fallDistance > 0.0F
                && !mc.player.isOnGround()
                && !mc.player.isClimbing()
                && !mc.player.isTouchingWater()
                && !mc.player.hasStatusEffect(StatusEffects.BLINDNESS)
                && !mc.player.hasVehicle()
                && !mc.player.getAbilities().flying;
    }

    public static void stopSprintingFor(int ms) {
        mc.player.setSprinting(false);
        mc.options.sprintKey.setPressed(false);
        AutoSprint.instance.stopSprintingFor(ms);
    }

    public static boolean canAttack() {

        if (!(mc.player.getAttackCooldownProgress(0f) >= 0.95f)) return false;
        return !mc.player.isUsingItem();

    }

    public static float[] getRotationsToEntity(LivingEntity target) {
        Vec3d eyes = new Vec3d(mc.player.getX(), mc.player.getY() + mc.player.getEyeHeight(mc.player.getPose()), mc.player.getZ());
        Vec3d targetPos = new Vec3d(target.getX(), target.getY() + target.getEyeHeight(target.getPose()) - 0.1, target.getZ());
        double difX = targetPos.x - eyes.x;
        double difY = targetPos.y - eyes.y;
        double difZ = targetPos.z - eyes.z;
        double dist = Math.sqrt(difX * difX + difZ * difZ);
        float yaw = (float) Math.toDegrees(Math.atan2(difZ, difX)) - 90f;
        float pitch = (float) -Math.toDegrees(Math.atan2(difY, dist));
        while (yaw > 180f) yaw -= 360f;
        while (yaw < -180f) yaw += 360f;
        return new float[]{yaw, pitch};
    }

}
Флагает не ротка а сброс спринта который скорее всего у тебя пакетный, на рв вообще нет каких либо аим чеков
 
Флагает не ротка а сброс спринта который скорее всего у тебя пакетный, на рв вообще нет каких либо аим чеков
я же дал сброс спринта, что в нем не так? как сделать нормальный?
 
я же дал сброс спринта, что в нем не так? как сделать нормальный?
у тебя не сбрасывается спринт насколько я понял, у тебя ведь не вызывается нигде stopSprintingFor
 
у тебя не сбрасывается спринт насколько я понял, у тебя ведь не вызывается нигде stopSprintingFor
я какую то херню написал, сброса спринта у меня нет, но я и не включал автоспринт. проблема в коррекции похоже
 
я какую то херню написал, сброса спринта у меня нет, но я и не включал автоспринт. проблема в коррекции похоже
ты если в спринте ударишь тебя флагать будет потому что сброса нету включен автоспринт или выключен
 
govno:
Expand Collapse Copy
package ezz.onyx.features.modules.impl.combat;

import com.google.common.eventbus.Subscribe;
import ezz.onyx.api.event.impl.EventPacket;
import ezz.onyx.api.event.impl.EventRender;
import ezz.onyx.api.event.impl.EventTick;
import ezz.onyx.api.event.impl.EventVelocity;
import ezz.onyx.features.modules.api.Category;
import ezz.onyx.features.modules.api.Module;
import ezz.onyx.features.modules.api.settings.impl.BooleanSetting;
import ezz.onyx.features.modules.api.settings.impl.EnumSetting;
import ezz.onyx.features.modules.api.settings.impl.MultiEnumSetting;
import ezz.onyx.features.modules.api.settings.impl.SliderSetting;
import ezz.onyx.utility.combat.GCDUtil;
import ezz.onyx.utility.combat.StrikeManager;
import ezz.onyx.utility.other.StopWatch;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.mob.MobEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.text.Text;
import net.minecraft.util.Hand;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;

import java.util.Random;

import static ezz.onyx.utility.Wrapper.mc;

public class NewAura extends Module {

    private enum Rotations {

        ReallyWorld,
        SeenBeSoon


    }


    private enum Targets {

        Players,
        Animals,
        Monsters,
        Mobs

    }


    EnumSetting rotation = new EnumSetting("rotation", Rotations.class, Rotations.ReallyWorld);

    SliderSetting radius = new SliderSetting("radius", 3, 1, 6, 0.1f);

    BooleanSetting smartCrits = new BooleanSetting("smart_crits", false);
    BooleanSetting saveTarget = new BooleanSetting("save_target", false);

    MultiEnumSetting targets = new MultiEnumSetting("targets", Targets.class);

    public static NewAura instance;

    public NewAura() {
        super("NewAura", Category.Combat);
        addSettings(rotation, radius, smartCrits, saveTarget, targets);
        instance = this;
    }


    LivingEntity target = null;

    float targetYaw, targetPitch;
    public static float currentYaw = 0, currentPitch = 0;

    Random random = new Random();
    StopWatch rotTimer = new StopWatch();


    boolean govno = false, rotating = false;

    @Subscribe
    public void onTick(EventTick e) {
        if (mc.player == null || mc.world == null) return;

        target = findTarget();

        if (target == null) return;

        if (!govno) {

            targetYaw = StrikeManager.getRotationsToEntity(target)[0];
            targetPitch = StrikeManager.getRotationsToEntity(target)[1];

        }

        float yawDiff = MathHelper.wrapDegrees(targetYaw - currentYaw);
        float pitchDiff = targetPitch - currentPitch;

        float speed = 35;

        yawDiff = MathHelper.clamp(yawDiff, -speed, speed);
        pitchDiff = MathHelper.clamp(pitchDiff, -speed, speed);

        currentYaw += yawDiff;
        currentPitch += pitchDiff;

        float gcd = GCDUtil.getGCDValue();
        currentYaw -= currentYaw % gcd;
        currentPitch -= currentPitch % gcd;

        currentPitch = MathHelper.clamp(currentPitch, -89f, 89f);

        if (Math.abs(MathHelper.wrapDegrees(targetYaw - currentYaw)) < speed && rotTimer.isReached(250)) {

            currentYaw = targetYaw;
            rotTimer.reset();

            if (smartCrits.getValue()) {

                if (mc.options.jumpKey.isPressed()) {

                    if (StrikeManager.canPerfectCrit()) {

                        govno = true;

                        mc.interactionManager.attackEntity(mc.player, target);
                        mc.player.swingHand(Hand.MAIN_HAND);

                        targetYaw = mc.player.getYaw();
                        rotating = true;

                    }

                } else {

                    if (StrikeManager.canAttack()) {

                        govno = true;

                        mc.interactionManager.attackEntity(mc.player, target);
                        mc.player.swingHand(Hand.MAIN_HAND);

                        targetYaw = mc.player.getYaw();
                        rotating = true;
                    }

                }

            } else {

                if (StrikeManager.canPerfectCrit()) {

                    govno = true;

                    mc.interactionManager.attackEntity(mc.player, target);
                    mc.player.swingHand(Hand.MAIN_HAND);

                    targetYaw = mc.player.getYaw();
                    rotating = true;
                }

            }


        }

        if (rotating && Math.abs(currentYaw - targetYaw) < 0.01f) {

            govno = false;
            rotating = false;

        }



    }

   
    @Subscribe
    public void onPacket(EventPacket.Send.Movement e) {
       
        e.setYaw(currentYaw);
        e.setPitch(currentPitch);
        e.cancel();
       
    }

    @Subscribe
    public void onRender(EventRender e) {
        mc.player.setHeadYaw(currentYaw);
        mc.player.setBodyYaw(currentYaw);
        mc.player.renderPitch = currentPitch;
        mc.player.renderYaw = currentYaw;
        mc.player.lastRenderPitch = currentPitch;
        mc.player.lastRenderYaw = currentYaw;
    }


    private LivingEntity findTarget() {


        LivingEntity minDistEntity = null;
        double minDist = Double.MAX_VALUE;

        for (Entity huina : mc.world.getEntities()) {
            if (huina == mc.player) continue;

            if (mc.player.distanceTo(huina) > radius.getValue()) continue;

            if (!(huina instanceof LivingEntity entity)) continue;

            if (entity instanceof PlayerEntity && !targets.isSelected(Targets.Players)) continue;
            if (entity instanceof AnimalEntity && !targets.isSelected(Targets.Animals)) continue;
            if (entity instanceof Monster && !targets.isSelected(Targets.Monsters)) continue;
            if (entity instanceof MobEntity && !targets.isSelected(Targets.Mobs)) continue;

            if (mc.player.distanceTo(entity) < minDist) {

                minDistEntity = entity;
                minDist = mc.player.distanceTo(entity);

            }

        }

        return minDistEntity;


    }




}

Я хз как делать уже, кучу раз переделывал.


вот коррекция

Java:
Expand Collapse Copy
    @Inject(method = "tick", at = @At("HEAD"))
    public void onTick(CallbackInfo ci) {

        if (NewAura.instance.isToggled()) {

            float deltaYaw = mc.player.getYaw() - NewAura.currentYaw;
            float z = KeyboardInput.getMovementMultiplier(playerInput.forward(), playerInput.backward());
            float x = KeyboardInput.getMovementMultiplier(playerInput.left(), playerInput.right());
            float newX = x * MathHelper.cos(deltaYaw * 0.017453292f) - z * MathHelper.sin(deltaYaw * 0.017453292f);
            float newZ = z * MathHelper.cos(deltaYaw * 0.017453292f) + x * MathHelper.sin(deltaYaw * 0.017453292f);
            int movementSideways = Math.round(newX);
            int movementForward = Math.round(newZ);
            this.playerInput = new PlayerInput(
                    movementForward > 0F,
                    movementForward < 0F,
                    movementSideways > 0F,
                    movementSideways < 0F,
                    playerInput.jump(),
                    playerInput.sneak(),
                    playerInput.sprint());

        }


    }

это в KeyboardInputMixin


И вот еще страйк менеджер дам



govno:
Expand Collapse Copy
package ezz.onyx.utility.combat;

import ezz.onyx.features.modules.impl.movement.AutoSprint;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.util.math.Vec3d;

import static ezz.onyx.utility.Wrapper.mc;

public class StrikeManager {

    public static boolean canPerfectCrit() {
        return mc.player.fallDistance > 0.0F
                && !mc.player.isOnGround()
                && !mc.player.isClimbing()
                && !mc.player.isTouchingWater()
                && !mc.player.hasStatusEffect(StatusEffects.BLINDNESS)
                && !mc.player.hasVehicle()
                && !mc.player.getAbilities().flying;
    }

    public static void stopSprintingFor(int ms) {
        mc.player.setSprinting(false);
        mc.options.sprintKey.setPressed(false);
        AutoSprint.instance.stopSprintingFor(ms);
    }

    public static boolean canAttack() {

        if (!(mc.player.getAttackCooldownProgress(0f) >= 0.95f)) return false;
        return !mc.player.isUsingItem();

    }

    public static float[] getRotationsToEntity(LivingEntity target) {
        Vec3d eyes = new Vec3d(mc.player.getX(), mc.player.getY() + mc.player.getEyeHeight(mc.player.getPose()), mc.player.getZ());
        Vec3d targetPos = new Vec3d(target.getX(), target.getY() + target.getEyeHeight(target.getPose()) - 0.1, target.getZ());
        double difX = targetPos.x - eyes.x;
        double difY = targetPos.y - eyes.y;
        double difZ = targetPos.z - eyes.z;
        double dist = Math.sqrt(difX * difX + difZ * difZ);
        float yaw = (float) Math.toDegrees(Math.atan2(difZ, difX)) - 90f;
        float pitch = (float) -Math.toDegrees(Math.atan2(difY, dist));
        while (yaw > 180f) yaw -= 360f;
        while (yaw < -180f) yaw += 360f;
        return new float[]{yaw, pitch};
    }

}
на юг десятки сурсов.. просто посмотри реализацию в любом другом клиенте
 
Назад
Сверху Снизу