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

Вопрос Помогите с свободной коррекцией [РЕШЕНО]

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
22 Апр 2026
Сообщения
11
Реакции
0
В модуле FixMovement:
Expand Collapse Copy
        EventInput.getInstance().subscribe(this, () -> {
            if (RotationManager.target == null || AttackAura.target == null) return;

            EventInput e = EventInput.getInstance();
            float z = KeyboardInput.getMovementMultiplier(e.isForward(), e.isBackward());
            float x = KeyboardInput.getMovementMultiplier(e.isLeft(), e.isRight());

            if (z == 0 && x == 0) return;

            float deltaYaw = MathHelper.wrapDegrees(MathHelper.wrapDegrees(mc.player.getYaw()) - MathHelper.wrapDegrees(RotationManager.currentYaw));
            float radians = deltaYaw * 0.017453292519943295f;

            float newX = x * MathHelper.cos(radians) - z * MathHelper.sin(radians);
            float newZ = z * MathHelper.cos(radians) + x * MathHelper.sin(radians);

            int movementForward = Math.round(newZ);
            int movementSideways = Math.round(newX);
            
            e.setForward(movementForward > 0);
            e.setBackward(movementForward < 0);
            e.setLeft(movementSideways > 0);
            e.setRight(movementSideways < 0);
            e.cancel();
        });


Миксин в KeyboardInput:
Expand Collapse Copy
@Mixin(KeyboardInput.class)
public class KeyboardInputMixin extends Input {
    @ModifyExpressionValue(method = "tick", at = @At(value = "NEW", target = "(ZZZZZZZ)Lnet/minecraft/util/PlayerInput;"))
    public PlayerInput onTick(PlayerInput original) {
        EventInput eventInput = EventInput.getInstance();
        eventInput.setForward(original.forward());
        eventInput.setBackward(original.backward());
        eventInput.setLeft(original.left());
        eventInput.setRight(original.right());
        eventInput.call();

        if (eventInput.isCancelled()) {
            PlayerInput modified = new PlayerInput(eventInput.isForward(), eventInput.isBackward(), eventInput.isLeft(), eventInput.isRight(), original.jump(), original.sneak(), original.sprint());
            float f = getMovementMultiplier(modified.forward(), modified.backward());
            float g = getMovementMultiplier(modified.left(), modified.right());
            this.movementVector = (new Vec2f(g, f)).normalize();
            return modified;
        }

        return original;
    }
}

EventInput:
Expand Collapse Copy
@Getter @Setter
public class EventInput extends Event {
    @Getter
    private static final EventInput instance = new EventInput();

    boolean forward, backward, left, right;

}


Вместо того чтобы идти в ту сторону в которую шел, он идет в какую то пизду(сворачивает в сторону) и потом ач начинает флагать. ИИ помочь не смог, по этому пишу сюда
 
Назад
Сверху Снизу