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

Часть функционала Flight Grim ReallyWorld | и тд

Пожалуйста, авторизуйтесь для просмотра ссылки.
imgur
Пожалуйста, авторизуйтесь для просмотра ссылки.
youtube
Flight:
Expand Collapse Copy
package ARTheryx.modules.impl.movement;

import antidaunleak.api.annotation.Native;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;
import net.minecraft.network.packet.c2s.play.ClientCommandC2SPacket;
import ARTheryx.events.api.EventHandler;
import ARTheryx.events.impl.TickEvent;
import ARTheryx.modules.module.ModuleStructure;
import ARTheryx.modules.module.category.ModuleCategory;

@FieldDefaults(level = AccessLevel.PRIVATE)
public class PolarFlyX extends ModuleStructure {

    public static final PolarFlyX INSTANCE = new PolarFlyX();

    private final double horizontalSpeed = 6.8;
    private final double manualVerticalSpeed = 8.25;
    private final double cycleVerticalSpeed = 0.10;

    private boolean goingUp = true;

    public PolarFlyX() {
        super("PolarFlyX", "Флай", ModuleCategory.MOVEMENT);
    }

    @Override
    public void activate() {
        if (mc.player != null) {
          
            mc.getNetworkHandler().sendPacket(
                    new ClientCommandC2SPacket(mc.player, ClientCommandC2SPacket.Mode.START_FALL_FLYING)
            );

          
            mc.player.setVelocity(
                    mc.player.getVelocity().x,
                    0.03,
                    mc.player.getVelocity().z
            );

            mc.player.fallDistance = 0f;
        }
        super.activate();
    }

    @EventHandler
    @Native(type = Native.Type.VMProtectBeginUltra)
    public void onTick(TickEvent e) {
        if (mc.player == null) return;

        // Перевод угла поворота в радианы
        double yaw = Math.toRadians(mc.player.getYaw());

        double motionX = 0.0;
        double motionZ = 0.0;
        double motionY;

      
        if (mc.options.forwardKey.isPressed()) {
            motionX -= Math.sin(yaw) * horizontalSpeed;
            motionZ += Math.cos(yaw) * horizontalSpeed;
        }
        if (mc.options.backKey.isPressed()) {
            motionX += Math.sin(yaw) * horizontalSpeed;
            motionZ -= Math.cos(yaw) * horizontalSpeed;
        }
        if (mc.options.leftKey.isPressed()) {
            motionX -= Math.cos(yaw) * horizontalSpeed;
            motionZ -= Math.sin(yaw) * horizontalSpeed;
        }
        if (mc.options.rightKey.isPressed()) {
            motionX += Math.cos(yaw) * horizontalSpeed;
            motionZ += Math.sin(yaw) * horizontalSpeed;
        }

      
        if (mc.options.jumpKey.isPressed()) {
            motionY = manualVerticalSpeed;
        } else if (mc.options.sneakKey.isPressed()) {
            motionY = -1.4;
        } else {
            if (goingUp) {
                motionY = cycleVerticalSpeed;
            } else {
                motionY = -cycleVerticalSpeed;
            }

          
            if (mc.player.age % 2 == 0) {
                goingUp = !goingUp;
            }
        }

        mc.player.fallDistance = 0f;
        mc.player.setVelocity(motionX, motionY, motionZ);
    }

    @Override
    public void deactivate() {
        if (mc.player != null) {
            mc.player.setVelocity(0.0, mc.player.getVelocity().y, 0.0);
        }
        super.deactivate();
    }
}
еще нужен AirStuck но не обезательно аирстак повышает процент что вас тепнит

AirStuckBug.java:
Expand Collapse Copy
package ARTheryx.modules.impl.movement;

import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.component.DataComponentTypes;
import net.minecraft.component.type.EquippableComponent;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
import net.minecraft.network.packet.c2s.play.UpdatePlayerAbilitiesC2SPacket;
import net.minecraft.screen.slot.SlotActionType;
import ARTheryx.events.api.EventHandler;
import ARTheryx.events.impl.PacketEvent;
import ARTheryx.events.impl.TickEvent;
import ARTheryx.modules.module.ModuleStructure;
import ARTheryx.modules.module.category.ModuleCategory;
import ARTheryx.modules.module.setting.implement.BooleanSetting;
import ARTheryx.modules.module.setting.implement.SliderSettings;

@FieldDefaults(level = AccessLevel.PRIVATE)
public class AirStuckBug extends ModuleStructure {

    private final BooleanSetting autoSwap = new BooleanSetting("Swap elytra", "Automatically swap elytra when enabled");
    private final SliderSettings speed = new SliderSettings("Speed", "Movement speed when frozen");
    public boolean isElytraState;

    public AirStuckBug() {
        super("Air Stuck", "Freezes player in air while allowing forward movement", ModuleCategory.MOVEMENT);
        autoSwap.setValue(false);
        speed.range(0.1f, 10.0f).setValue(2.0f);
        settings(autoSwap, speed);
    }

    @Override
    public void activate() {
        if (mc.player == null) {
            return;
        }
        isElytraState = mc.player.getEquippedStack(EquipmentSlot.CHEST).getItem() == Items.ELYTRA;
    }

    @Override
    public void deactivate() {
        if (mc.player == null) return;

        if (isElytraState && autoSwap.isValue()) {
            swap(false);
        }
    }

    @EventHandler
    public void onTick(TickEvent event) {
        if (mc.player == null) return;

        isElytraState = mc.player.getEquippedStack(EquipmentSlot.CHEST).getItem() == Items.ELYTRA;

        if (isElytraState && autoSwap.isValue()) {
            swap(true);
        }

        // Freeze player like original AirStuck but allow forward movement
        if (!mc.player.isGliding()) {
            if (mc.options.forwardKey.isPressed()) {
                // Allow forward movement with enhanced speed
                float yaw = mc.player.getYaw();
                double motionX = -Math.sin(Math.toRadians(yaw)) * speed.getValue() * 0.1;
                double motionZ = Math.cos(Math.toRadians(yaw)) * speed.getValue() * 0.1;
                mc.player.setVelocity(motionX, 0, motionZ);
            } else {
                // Freeze completely when not moving forward
                mc.player.setVelocity(0, 0, 0);
            }
        }
    }

    @EventHandler
    public void onPacket(PacketEvent event) {
        if (mc.player == null || mc.player.isGliding() || !event.isSend()) return;

        // Block movement packets like original AirStuck
        if (event.getPacket() instanceof PlayerMoveC2SPacket || event.getPacket() instanceof UpdatePlayerAbilitiesC2SPacket) {
            event.cancel();
        }
    }

    private void swap(boolean chestplate) {
        int slot = chestplate ? findChestPlate() : findItem(Items.ELYTRA);
        if (slot != -1) {
            moveItem(slot, 6);
        }
    }

    private int findChestPlate() {
        for (int i = 0; i < 36; i++) {
            ItemStack stack = mc.player.getInventory().getStack(i);

            if (stack.isEmpty() || stack.getItem() == Items.ELYTRA) continue;

            EquippableComponent equippable = stack.get(DataComponentTypes.EQUIPPABLE);
            if (equippable != null && equippable.slot() == EquipmentSlot.CHEST) {
                String itemId = stack.getItem().toString().toLowerCase();
                if (itemId.contains("chestplate") || itemId.contains("tunic") || itemId.contains("jacket")) {
                    return i < 9 ? i + 36 : i;
                }
            }
        }
        return -1;
    }

    private int findItem(Item item) {
        for (int i = 0; i < 36; i++) {
            if (mc.player.getInventory().getStack(i).getItem() == item) {
                return i < 9 ? i + 36 : i;
            }
        }
        return -1;
    }

    private void moveItem(int slot, int targetSlot) {
        if (mc.interactionManager != null) {
            mc.interactionManager.clickSlot(0, slot, 0, SlotActionType.PICKUP, mc.player);
            mc.interactionManager.clickSlot(0, targetSlot, 0, SlotActionType.PICKUP, mc.player);
            mc.interactionManager.clickSlot(0, slot, 0, SlotActionType.PICKUP, mc.player);
        }
    }
}

что быливнуть сойдет либо хз не играю часто на таких серверах над вами должен быть блок и больше 40 блоков не получиться
так это визуал
 
так у тебя фулл пакет мува отменяеться ты для сервера на месте стоишь, ты без аирстака то тестил флай этот?

велосити сет 0 это просто визуал типо чтобы ты не падал - у тебя если w нажата ты типо по скорости слайдера speed двигаешься вперед - ты оффнешь аирстак тебя обратно тепнет, т. к. для серва ты стоял просто (не двигался)
Прочитай это соо, у тебя на видео визуал показан, у тебя полный пакет движения отменяется, если без аирстака работал - хорошо, но как это может работать просто сетвелосити же - ванильный флай по сути, ты тепаешься назад через секунду две после выкл аирстака, у тебя совпало что ты упал и у тебя сразу же бекнуло - не было флага визуально (тп обратно, так как ты стоял там где и отменил пакет мува
 
Прочитай это соо, у тебя на видео визуал показан, у тебя полный пакет движения отменяется, если без аирстака работал - хорошо, но как это может работать просто сетвелосити же - ванильный флай по сути, ты тепаешься назад через секунду две после выкл аирстака, у тебя совпало что ты упал и у тебя сразу же бекнуло - не было флага визуально (тп обратно, так как ты стоял там где и отменил пакет мува
НЕ ПИЗДИ ДАВАЙ ВСЕ РАБОТАЕТ!
 
Прочитай это соо, у тебя на видео визуал показан, у тебя полный пакет движения отменяется, если без аирстака работал - хорошо, но как это может работать просто сетвелосити же - ванильный флай по сути, ты тепаешься назад через секунду две после выкл аирстака, у тебя совпало что ты упал и у тебя сразу же бекнуло - не было флага визуально (тп обратно, так как ты стоял там где и отменил пакет мува
я хз как это работает я играл на сервере где работал флай но что бы не кикало я сделал дерганьё y и потом сложил это с аирстаком и работает а аирстак из javelin
 
Назад
Сверху Снизу