Вопрос EventMotion(РЕШЕНА ПРОБЛЕМА)

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
5 Мар 2024
Сообщения
8
Реакции
1
mcp 1.21.4 своя база | При включение attack aura начинает флагать при передвижение, стою норм, fixmove есть но слабый, на hvh серверах тоже если че флагает. Понятно что из за разницы ротации килки и клиента, но как исправить хз, хелпаните.

сам ивент, часть из классов кубов(LocalPlayer).

EventMotion in LocalPlayer:
Expand Collapse Copy
private final EventMotion motionEvent = new EventMotion(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot(), this.onGround(), null);

    private void sendPosition() {
        this.sendIsSprintingIfNeeded();
        if (this.isControlledCamera()) {
            motionEvent.setX(this.getX());
            motionEvent.setY(this.getY());
            motionEvent.setZ(this.getZ());
            motionEvent.setYaw(this.getYRot());
            motionEvent.setPitch(this.getXRot());
            motionEvent.setOnGround(this.onGround());

            EventManager.call(motionEvent);
            if (motionEvent.isCancelled()) {
                motionEvent.intercept();
                return;
            }
            double d0 = motionEvent.getX() - this.xLast;
            double d1 = motionEvent.getY() - this.yLast;
            double d2 = motionEvent.getZ() - this.zLast;
            double d3 = motionEvent.getYaw() - this.yRotLast;
            double d4 = motionEvent.getPitch() - this.xRotLast;
            this.positionReminder++;
            boolean flag = Mth.lengthSquared(d0, d1, d2) > Mth.square(2.0E-4) || this.positionReminder >= 20;
            boolean flag1 = d3 != 0.0 || d4 != 0.0;
            if (flag && flag1) {
                this.connection
                        .send(
                                new ServerboundMovePlayerPacket.PosRot(
                                        motionEvent.getX(), motionEvent.getY(), motionEvent.getZ(), motionEvent.getYaw(), motionEvent.getPitch(), this.onGround(), this.horizontalCollision
                                )
                        );
            } else if (flag) {
                this.connection
                        .send(new ServerboundMovePlayerPacket.Pos(motionEvent.getX(), motionEvent.getY(), motionEvent.getZ(), this.onGround(), this.horizontalCollision));
            } else if (flag1) {
                this.connection.send(new ServerboundMovePlayerPacket.Rot(motionEvent.getYaw(), motionEvent.getPitch(), this.onGround(), this.horizontalCollision));
            } else if (this.lastOnGround != this.onGround() || this.lastHorizontalCollision != this.horizontalCollision) {
                this.connection.send(new ServerboundMovePlayerPacket.StatusOnly(this.onGround(), this.horizontalCollision));
            }

            if (flag) {
                this.xLast = motionEvent.getX();
                this.yLast = motionEvent.getY();
                this.zLast = motionEvent.getZ();
                this.positionReminder = 0;
            }

            if (flag1) {
                this.yRotLast = motionEvent.getYaw();
                this.xRotLast = motionEvent.getPitch();
                this.positionReminder = 0;
            }

            this.lastOnGround = motionEvent.isOnGround();
            this.lastHorizontalCollision = this.horizontalCollision;
            this.autoJumpEnabled = this.minecraft.options.autoJump().get();
            EventManager.call(new PostMotionEvent());
            if (motionEvent.getPostMotion() != null) {
                motionEvent.getPostMotion().run();
            }
        }
    }
 
mcp 1.21.4 своя база | При включение attack aura начинает флагать при передвижение, стою норм, fixmove есть но слабый, на hvh серверах тоже если че флагает. Понятно что из за разницы ротации килки и клиента, но как исправить хз, хелпаните.

сам ивент, часть из классов кубов(LocalPlayer).

EventMotion in LocalPlayer:
Expand Collapse Copy
private final EventMotion motionEvent = new EventMotion(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot(), this.onGround(), null);

    private void sendPosition() {
        this.sendIsSprintingIfNeeded();
        if (this.isControlledCamera()) {
            motionEvent.setX(this.getX());
            motionEvent.setY(this.getY());
            motionEvent.setZ(this.getZ());
            motionEvent.setYaw(this.getYRot());
            motionEvent.setPitch(this.getXRot());
            motionEvent.setOnGround(this.onGround());

            EventManager.call(motionEvent);
            if (motionEvent.isCancelled()) {
                motionEvent.intercept();
                return;
            }
            double d0 = motionEvent.getX() - this.xLast;
            double d1 = motionEvent.getY() - this.yLast;
            double d2 = motionEvent.getZ() - this.zLast;
            double d3 = motionEvent.getYaw() - this.yRotLast;
            double d4 = motionEvent.getPitch() - this.xRotLast;
            this.positionReminder++;
            boolean flag = Mth.lengthSquared(d0, d1, d2) > Mth.square(2.0E-4) || this.positionReminder >= 20;
            boolean flag1 = d3 != 0.0 || d4 != 0.0;
            if (flag && flag1) {
                this.connection
                        .send(
                                new ServerboundMovePlayerPacket.PosRot(
                                        motionEvent.getX(), motionEvent.getY(), motionEvent.getZ(), motionEvent.getYaw(), motionEvent.getPitch(), this.onGround(), this.horizontalCollision
                                )
                        );
            } else if (flag) {
                this.connection
                        .send(new ServerboundMovePlayerPacket.Pos(motionEvent.getX(), motionEvent.getY(), motionEvent.getZ(), this.onGround(), this.horizontalCollision));
            } else if (flag1) {
                this.connection.send(new ServerboundMovePlayerPacket.Rot(motionEvent.getYaw(), motionEvent.getPitch(), this.onGround(), this.horizontalCollision));
            } else if (this.lastOnGround != this.onGround() || this.lastHorizontalCollision != this.horizontalCollision) {
                this.connection.send(new ServerboundMovePlayerPacket.StatusOnly(this.onGround(), this.horizontalCollision));
            }

            if (flag) {
                this.xLast = motionEvent.getX();
                this.yLast = motionEvent.getY();
                this.zLast = motionEvent.getZ();
                this.positionReminder = 0;
            }

            if (flag1) {
                this.yRotLast = motionEvent.getYaw();
                this.xRotLast = motionEvent.getPitch();
                this.positionReminder = 0;
            }

            this.lastOnGround = motionEvent.isOnGround();
            this.lastHorizontalCollision = this.horizontalCollision;
            this.autoJumpEnabled = this.minecraft.options.autoJump().get();
            EventManager.call(new PostMotionEvent());
            if (motionEvent.getPostMotion() != null) {
                motionEvent.getPostMotion().run();
            }
        }
    }
ты это используешь что бы сайлент сделать же?(типо что у тебя на клиенте камера к ротации не фиксируется)
 
ты это используешь что бы сайлент сделать же?(типо что у тебя на клиенте камера к ротации не фиксируется)
Да, грубо говоря как во всех клиента, камера игрока или же клиента не трогаю, онли задаю ротацию и применяю ее пакетно для серверов.
 
Да, грубо говоря как во всех клиента, камера игрока или же клиента не трогаю, онли задаю ротацию и применяю ее пакетно для серверов.
используй этот ивент:
rotation:
Expand Collapse Copy
public class RotationEvent extends Event {
    private float xRot, yRot;
    private final float staticXrot, staticYrot;
    private boolean modified = false;

    public RotationEvent(float xRot, float yRot) {
        this.staticXrot = xRot;
        this.staticYrot = yRot;
        this.xRot = xRot;
        this.yRot = yRot;
    }

    public float getXRot() {
        return xRot;
    }

    public float getYRot() {
        return yRot;
    }

    public void setXRot(float xRot) {
        this.xRot = xRot;
        this.modified = true;
    }

    public void setYRot(float yRot) {
        this.yRot = yRot;
        this.modified = true;
    }

    public float getStaticXrot() {
        return staticXrot;
    }

    public float getStaticYrot() {
        return staticYrot;
    }

    public boolean isEquals() {
        return xRot == staticXrot && yRot == staticYrot;
    }

    public boolean isModified() {
        return modified;
    }
}
его юзай в методе tick() класс LocalPlayer
tick:
Expand Collapse Copy
@Override
public void tick() {
float originalPitch = this.getXRot();
float originalYaw = this.getYRot();

rotationEvent = new RotationEvent(this.getXRot(), this.getYRot());
EventManager.call(rotationEvent);
EventManager.call(new TickEvent());

if (rotationEvent.isModified()) {
this.setXRot(rotationEvent.getXRot());
this.setYRot(rotationEvent.getYRot());
    }

if (this.level().hasChunkAt(this.getBlockX(), this.getBlockZ())) {
 super.tick();
if (this.isPassenger()) {
this.connection.send(new ServerboundMovePlayerPacket.Rot(this.getYRot(), this.getXRot(), this.onGround()));
this.connection.send(new ServerboundPlayerInputPacket(this.xxa, this.zza, this.input.jumping, this.input.shiftKeyDown));
Entity entity = this.getRootVehicle();
if (entity != this && entity.isControlledByLocalInstance()) {
this.connection.send(new ServerboundMoveVehiclePacket(entity));
 this.sendIsSprintingIfNeeded();
            }
} else {
packetPitch = this.getXRot();
packetYaw = this.getYRot();
 this.sendPosition();
        }

for(AmbientSoundHandler ambientsoundhandler : this.ambientSoundHandlers) {
            ambientsoundhandler.tick();
        }
    }


 this.setXRot(originalPitch);
 this.setYRot(originalYaw);
}
потом в своей килке убери с метода ротации установку углов через Mc.player или через что ты там устанавливаешь и юзай:

Код:
Expand Collapse Copy
    @EventHandler
    public void onRotation(RotationEvent event) {
        if (silentRotating && target != null && rotationMode.getCurrentMode().equals("Silent")) {
            float yawOffset = silentYaw - event.getStaticYrot();
            float pitchOffset = silentPitch - event.getStaticXrot();

            event.setYRot(event.getYRot() + yawOffset);
            event.setXRot(event.getXRot() + pitchOffset);
        }
    }
Код:
Expand Collapse Copy
float[] targetAngles = calculateAnglesToTarget(targetPoint);
        switch (rotationMode.getCurrentMode()) {
            case "Silent":
                
                silentYaw = targetAngles[0];
                silentPitch = targetAngles[1];
                silentRotating = true;

                break;

Код:
Expand Collapse Copy
 private float[] calculateAnglesToTarget(Vec3 targetPos) {
        Vec3 eyes = mc.player.getEyePosition();

        double diffX = targetPos.x - eyes.x;
        double diffY = targetPos.y - eyes.y;
        double diffZ = targetPos.z - eyes.z;

        double dist = Math.sqrt(diffX * diffX + diffZ * diffZ);

        float yaw = (float) Math.toDegrees(Math.atan2(diffZ, diffX)) - 90;
        float pitch = (float) -Math.toDegrees(Math.atan2(diffY, dist));

        if (randomization.isTrue() ) {
            yaw += (float) RandomSystem.LegitDouble(-0.8f, 0.8f, RandomSystem.PatternMode.HUMAN_TREMOR);
            pitch += (float) RandomSystem.LegitDouble(-0.4f, 0.4f, RandomSystem.PatternMode.HUMAN_TREMOR);
        }

        return new float[]{yaw, pitch};
    }

рандом с югейма взят если что
 
используй этот ивент:
rotation:
Expand Collapse Copy
public class RotationEvent extends Event {
    private float xRot, yRot;
    private final float staticXrot, staticYrot;
    private boolean modified = false;

    public RotationEvent(float xRot, float yRot) {
        this.staticXrot = xRot;
        this.staticYrot = yRot;
        this.xRot = xRot;
        this.yRot = yRot;
    }

    public float getXRot() {
        return xRot;
    }

    public float getYRot() {
        return yRot;
    }

    public void setXRot(float xRot) {
        this.xRot = xRot;
        this.modified = true;
    }

    public void setYRot(float yRot) {
        this.yRot = yRot;
        this.modified = true;
    }

    public float getStaticXrot() {
        return staticXrot;
    }

    public float getStaticYrot() {
        return staticYrot;
    }

    public boolean isEquals() {
        return xRot == staticXrot && yRot == staticYrot;
    }

    public boolean isModified() {
        return modified;
    }
}
его юзай в методе tick() класс LocalPlayer
tick:
Expand Collapse Copy
@Override
public void tick() {
float originalPitch = this.getXRot();
float originalYaw = this.getYRot();

rotationEvent = new RotationEvent(this.getXRot(), this.getYRot());
EventManager.call(rotationEvent);
EventManager.call(new TickEvent());

if (rotationEvent.isModified()) {
this.setXRot(rotationEvent.getXRot());
this.setYRot(rotationEvent.getYRot());
    }

if (this.level().hasChunkAt(this.getBlockX(), this.getBlockZ())) {
 super.tick();
if (this.isPassenger()) {
this.connection.send(new ServerboundMovePlayerPacket.Rot(this.getYRot(), this.getXRot(), this.onGround()));
this.connection.send(new ServerboundPlayerInputPacket(this.xxa, this.zza, this.input.jumping, this.input.shiftKeyDown));
Entity entity = this.getRootVehicle();
if (entity != this && entity.isControlledByLocalInstance()) {
this.connection.send(new ServerboundMoveVehiclePacket(entity));
 this.sendIsSprintingIfNeeded();
            }
} else {
packetPitch = this.getXRot();
packetYaw = this.getYRot();
 this.sendPosition();
        }

for(AmbientSoundHandler ambientsoundhandler : this.ambientSoundHandlers) {
            ambientsoundhandler.tick();
        }
    }


 this.setXRot(originalPitch);
 this.setYRot(originalYaw);
}
потом в своей килке убери с метода ротации установку углов через Mc.player или через что ты там устанавливаешь и юзай:

Код:
Expand Collapse Copy
    @EventHandler
    public void onRotation(RotationEvent event) {
        if (silentRotating && target != null && rotationMode.getCurrentMode().equals("Silent")) {
            float yawOffset = silentYaw - event.getStaticYrot();
            float pitchOffset = silentPitch - event.getStaticXrot();

            event.setYRot(event.getYRot() + yawOffset);
            event.setXRot(event.getXRot() + pitchOffset);
        }
    }
Код:
Expand Collapse Copy
float[] targetAngles = calculateAnglesToTarget(targetPoint);
        switch (rotationMode.getCurrentMode()) {
            case "Silent":
               
                silentYaw = targetAngles[0];
                silentPitch = targetAngles[1];
                silentRotating = true;

                break;

Код:
Expand Collapse Copy
 private float[] calculateAnglesToTarget(Vec3 targetPos) {
        Vec3 eyes = mc.player.getEyePosition();

        double diffX = targetPos.x - eyes.x;
        double diffY = targetPos.y - eyes.y;
        double diffZ = targetPos.z - eyes.z;

        double dist = Math.sqrt(diffX * diffX + diffZ * diffZ);

        float yaw = (float) Math.toDegrees(Math.atan2(diffZ, diffX)) - 90;
        float pitch = (float) -Math.toDegrees(Math.atan2(diffY, dist));

        if (randomization.isTrue() ) {
            yaw += (float) RandomSystem.LegitDouble(-0.8f, 0.8f, RandomSystem.PatternMode.HUMAN_TREMOR);
            pitch += (float) RandomSystem.LegitDouble(-0.4f, 0.4f, RandomSystem.PatternMode.HUMAN_TREMOR);
        }

        return new float[]{yaw, pitch};
    }

рандом с югейма взят если что
Ща попробую, благодарю)
 
mcp 1.21.4 своя база | При включение attack aura начинает флагать при передвижение, стою норм, fixmove есть но слабый, на hvh серверах тоже если че флагает. Понятно что из за разницы ротации килки и клиента, но как исправить хз, хелпаните.

сам ивент, часть из классов кубов(LocalPlayer).

EventMotion in LocalPlayer:
Expand Collapse Copy
private final EventMotion motionEvent = new EventMotion(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot(), this.onGround(), null);

    private void sendPosition() {
        this.sendIsSprintingIfNeeded();
        if (this.isControlledCamera()) {
            motionEvent.setX(this.getX());
            motionEvent.setY(this.getY());
            motionEvent.setZ(this.getZ());
            motionEvent.setYaw(this.getYRot());
            motionEvent.setPitch(this.getXRot());
            motionEvent.setOnGround(this.onGround());

            EventManager.call(motionEvent);
            if (motionEvent.isCancelled()) {
                motionEvent.intercept();
                return;
            }
            double d0 = motionEvent.getX() - this.xLast;
            double d1 = motionEvent.getY() - this.yLast;
            double d2 = motionEvent.getZ() - this.zLast;
            double d3 = motionEvent.getYaw() - this.yRotLast;
            double d4 = motionEvent.getPitch() - this.xRotLast;
            this.positionReminder++;
            boolean flag = Mth.lengthSquared(d0, d1, d2) > Mth.square(2.0E-4) || this.positionReminder >= 20;
            boolean flag1 = d3 != 0.0 || d4 != 0.0;
            if (flag && flag1) {
                this.connection
                        .send(
                                new ServerboundMovePlayerPacket.PosRot(
                                        motionEvent.getX(), motionEvent.getY(), motionEvent.getZ(), motionEvent.getYaw(), motionEvent.getPitch(), this.onGround(), this.horizontalCollision
                                )
                        );
            } else if (flag) {
                this.connection
                        .send(new ServerboundMovePlayerPacket.Pos(motionEvent.getX(), motionEvent.getY(), motionEvent.getZ(), this.onGround(), this.horizontalCollision));
            } else if (flag1) {
                this.connection.send(new ServerboundMovePlayerPacket.Rot(motionEvent.getYaw(), motionEvent.getPitch(), this.onGround(), this.horizontalCollision));
            } else if (this.lastOnGround != this.onGround() || this.lastHorizontalCollision != this.horizontalCollision) {
                this.connection.send(new ServerboundMovePlayerPacket.StatusOnly(this.onGround(), this.horizontalCollision));
            }

            if (flag) {
                this.xLast = motionEvent.getX();
                this.yLast = motionEvent.getY();
                this.zLast = motionEvent.getZ();
                this.positionReminder = 0;
            }

            if (flag1) {
                this.yRotLast = motionEvent.getYaw();
                this.xRotLast = motionEvent.getPitch();
                this.positionReminder = 0;
            }

            this.lastOnGround = motionEvent.isOnGround();
            this.lastHorizontalCollision = this.horizontalCollision;
            this.autoJumpEnabled = this.minecraft.options.autoJump().get();
            EventManager.call(new PostMotionEvent());
            if (motionEvent.getPostMotion() != null) {
                motionEvent.getPostMotion().run();
            }
        }
    }
ЭТОШТО БРУХ
Тебе буквально надо в некоторых классах подменить просто яв, и все
 
mcp 1.21.4 своя база | При включение attack aura начинает флагать при передвижение, стою норм, fixmove есть но слабый, на hvh серверах тоже если че флагает. Понятно что из за разницы ротации килки и клиента, но как исправить хз, хелпаните.

сам ивент, часть из классов кубов(LocalPlayer).

EventMotion in LocalPlayer:
Expand Collapse Copy
private final EventMotion motionEvent = new EventMotion(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot(), this.onGround(), null);

    private void sendPosition() {
        this.sendIsSprintingIfNeeded();
        if (this.isControlledCamera()) {
            motionEvent.setX(this.getX());
            motionEvent.setY(this.getY());
            motionEvent.setZ(this.getZ());
            motionEvent.setYaw(this.getYRot());
            motionEvent.setPitch(this.getXRot());
            motionEvent.setOnGround(this.onGround());

            EventManager.call(motionEvent);
            if (motionEvent.isCancelled()) {
                motionEvent.intercept();
                return;
            }
            double d0 = motionEvent.getX() - this.xLast;
            double d1 = motionEvent.getY() - this.yLast;
            double d2 = motionEvent.getZ() - this.zLast;
            double d3 = motionEvent.getYaw() - this.yRotLast;
            double d4 = motionEvent.getPitch() - this.xRotLast;
            this.positionReminder++;
            boolean flag = Mth.lengthSquared(d0, d1, d2) > Mth.square(2.0E-4) || this.positionReminder >= 20;
            boolean flag1 = d3 != 0.0 || d4 != 0.0;
            if (flag && flag1) {
                this.connection
                        .send(
                                new ServerboundMovePlayerPacket.PosRot(
                                        motionEvent.getX(), motionEvent.getY(), motionEvent.getZ(), motionEvent.getYaw(), motionEvent.getPitch(), this.onGround(), this.horizontalCollision
                                )
                        );
            } else if (flag) {
                this.connection
                        .send(new ServerboundMovePlayerPacket.Pos(motionEvent.getX(), motionEvent.getY(), motionEvent.getZ(), this.onGround(), this.horizontalCollision));
            } else if (flag1) {
                this.connection.send(new ServerboundMovePlayerPacket.Rot(motionEvent.getYaw(), motionEvent.getPitch(), this.onGround(), this.horizontalCollision));
            } else if (this.lastOnGround != this.onGround() || this.lastHorizontalCollision != this.horizontalCollision) {
                this.connection.send(new ServerboundMovePlayerPacket.StatusOnly(this.onGround(), this.horizontalCollision));
            }

            if (flag) {
                this.xLast = motionEvent.getX();
                this.yLast = motionEvent.getY();
                this.zLast = motionEvent.getZ();
                this.positionReminder = 0;
            }

            if (flag1) {
                this.yRotLast = motionEvent.getYaw();
                this.xRotLast = motionEvent.getPitch();
                this.positionReminder = 0;
            }

            this.lastOnGround = motionEvent.isOnGround();
            this.lastHorizontalCollision = this.horizontalCollision;
            this.autoJumpEnabled = this.minecraft.options.autoJump().get();
            EventManager.call(new PostMotionEvent());
            if (motionEvent.getPostMotion() != null) {
                motionEvent.getPostMotion().run();
            }
        }
    }
Важно не только то, что ты отправляешь, но и как ты двигаешься и как должен двигаться с теми данными, которые отправил. При движении, прыжке, авто прыжке игра учитывает угол обзора камеры, чтобы понять куда надо сдвинуться. Тебе надо найти такие места и подменить углы обзора на те, которые в твоей функции. (Они должны совпадать с теми, которые ты отдаешь на сервер)
 
mcp 1.21.4 своя база | При включение attack aura начинает флагать при передвижение, стою норм, fixmove есть но слабый, на hvh серверах тоже если че флагает. Понятно что из за разницы ротации килки и клиента, но как исправить хз, хелпаните.

сам ивент, часть из классов кубов(LocalPlayer).

EventMotion in LocalPlayer:
Expand Collapse Copy
private final EventMotion motionEvent = new EventMotion(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot(), this.onGround(), null);

    private void sendPosition() {
        this.sendIsSprintingIfNeeded();
        if (this.isControlledCamera()) {
            motionEvent.setX(this.getX());
            motionEvent.setY(this.getY());
            motionEvent.setZ(this.getZ());
            motionEvent.setYaw(this.getYRot());
            motionEvent.setPitch(this.getXRot());
            motionEvent.setOnGround(this.onGround());

            EventManager.call(motionEvent);
            if (motionEvent.isCancelled()) {
                motionEvent.intercept();
                return;
            }
            double d0 = motionEvent.getX() - this.xLast;
            double d1 = motionEvent.getY() - this.yLast;
            double d2 = motionEvent.getZ() - this.zLast;
            double d3 = motionEvent.getYaw() - this.yRotLast;
            double d4 = motionEvent.getPitch() - this.xRotLast;
            this.positionReminder++;
            boolean flag = Mth.lengthSquared(d0, d1, d2) > Mth.square(2.0E-4) || this.positionReminder >= 20;
            boolean flag1 = d3 != 0.0 || d4 != 0.0;
            if (flag && flag1) {
                this.connection
                        .send(
                                new ServerboundMovePlayerPacket.PosRot(
                                        motionEvent.getX(), motionEvent.getY(), motionEvent.getZ(), motionEvent.getYaw(), motionEvent.getPitch(), this.onGround(), this.horizontalCollision
                                )
                        );
            } else if (flag) {
                this.connection
                        .send(new ServerboundMovePlayerPacket.Pos(motionEvent.getX(), motionEvent.getY(), motionEvent.getZ(), this.onGround(), this.horizontalCollision));
            } else if (flag1) {
                this.connection.send(new ServerboundMovePlayerPacket.Rot(motionEvent.getYaw(), motionEvent.getPitch(), this.onGround(), this.horizontalCollision));
            } else if (this.lastOnGround != this.onGround() || this.lastHorizontalCollision != this.horizontalCollision) {
                this.connection.send(new ServerboundMovePlayerPacket.StatusOnly(this.onGround(), this.horizontalCollision));
            }

            if (flag) {
                this.xLast = motionEvent.getX();
                this.yLast = motionEvent.getY();
                this.zLast = motionEvent.getZ();
                this.positionReminder = 0;
            }

            if (flag1) {
                this.yRotLast = motionEvent.getYaw();
                this.xRotLast = motionEvent.getPitch();
                this.positionReminder = 0;
            }

            this.lastOnGround = motionEvent.isOnGround();
            this.lastHorizontalCollision = this.horizontalCollision;
            this.autoJumpEnabled = this.minecraft.options.autoJump().get();
            EventManager.call(new PostMotionEvent());
            if (motionEvent.getPostMotion() != null) {
                motionEvent.getPostMotion().run();
            }
        }
    }
Пакетов много и их детектит скорее всего
 
ЭТОШТО БРУХ
Тебе буквально надо в некоторых классах подменить просто яв, и все
))) Честно и так работает и с только ротацией, все равно флагает, я чет вообще хз) Кстати почему в "в некоторых классах", вроде ток в методе
Пакетов много и их детектит скорее всего
Да, скорее всего, но тут еще из за ротаций больше детект
 

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.


Я посмотрел, вроде норм как идея(ток килка по другому сделана) и не работала в игре и я пошел спать, ща поговорил с типами, надо через motionevent, вот ебусь с обходом и рабочим этим ивентом. Ротация пока что одна, так что смысла она не несет.2
 
Все спс все фиксанул + сделал фикс мувмента полноценный
 
Назад
Сверху Снизу