Розыгрыш Premium и Уникальной юзергруппы на форуме! Перейти

Обход античита ElytraFly Grim MCP 1.16.5

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
30 Июн 2024
Сообщения
665
Реакции
7
Выберите загрузчик игры
  1. Vanilla
что то написал и оно обходит(на миоклиент.ме тестил ес чё) рабоает раз через раз!!!!!!!!! при определённых скоростях незя вниз смотреть, на минимальной можно (мне этот байпасс не нужен)
Код:
Expand Collapse Copy
package client.main.module.impl.movement;

import com.google.common.eventbus.Subscribe;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ElytraItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Effects;
import net.minecraft.util.math.vector.Vector2f;
import client.events.EventMotion;
import client.events.EventUpdate;
import client.main.module.api.Category;
import client.main.module.api.Module;
import client.main.module.api.ModuleRegister;
import client.main.module.api.annotations.Rage;
import client.main.module.settings.impl.BooleanSetting;
import client.main.module.settings.impl.ModeSetting;
import client.main.module.settings.impl.SliderSetting;
import client.util.math.StopWatch;
import client.util.player.MoveUtils;

@Rage
@ModuleRegister(name = "ElytraFly", type = Category.Movement, desc = "Летай быстрее, чем F-16, и не задавай вопросов")
public class ElytraFly extends Module {

public static final ModeSetting mode = new ModeSetting("Мод", "Grim",
"Grim", "Матрикс-Элитра", "Обычный-Элитра", "Вулкан-Элитра", "Boost");

private final SliderSetting speed = new SliderSetting("Скорость X", 0.5f, 0.0f, 12.0f, 0.1488f)
.setVisible(() -> mode.is("Матрикс-Элитра"));
private final SliderSetting speedy = new SliderSetting("Скорость Y", 0.5f, 0.0f, 12.0f, 0.1488f)
.setVisible(() -> mode.is("Матрикс-Элитра"));

public static final BooleanSetting controll = new BooleanSetting("Убрать дёргание", false)
.setVisible(() -> mode.is("Grim"));

public final BooleanSetting flightmatrix = new BooleanSetting("Дерзкий флай", false)
.setVisible(() -> mode.is("Матрикс-Элитра"));

private final SliderSetting flyupvalue = new SliderSetting("Значение Y", 0.1488f, 0.05f, 1.0f, 0.001f)
.setVisible(() -> mode.is("Матрикс-Элитра") && !flightmatrix.get());

private final SliderSetting horizontal = new SliderSetting("Скорость XZ", 0.5f, 0.0f, 5.0f, 0.1f)
.setVisible(() -> mode.is("Вулкан-Элитра"));
private final SliderSetting vertical = new SliderSetting("Скорость Y", 0.5f, 0.0f, 5.0f, 0.1f)
.setVisible(() -> mode.is("Вулкан-Элитра"));


private final SliderSetting flyBoost = new SliderSetting("Буст подъёма", 1.30f, 1.05f, 2.0f, 0.01f)
.setVisible(() -> mode.is("Grim"));

private final SliderSetting boostSpeed = new SliderSetting("Горизонтальная скорость", 6.0f, 0.5f, 12.0f, 0.1f)
.setVisible(() -> mode.is("Boost"));
private final SliderSetting boostVertical = new SliderSetting("Вертикальная скорость", 2.0f, 0.0f, 6.0f, 0.1f)
.setVisible(() -> mode.is("Boost"));
private final BooleanSetting autoPitch = new BooleanSetting("Автопитч", true)
.setVisible(() -> mode.is("Boost"));
private final BooleanSetting instantStart = new BooleanSetting("Мгновенный старт", true)
.setVisible(() -> mode.is("Boost"));

public static boolean shackingcontroll;
private final StopWatch stopWatch = new StopWatch();
private ItemStack currentStack = ItemStack.EMPTY;
public Vector2f rotate = Vector2f.ZERO;

public ElytraFly() {
addSettings(mode, controll, flyBoost, speed, speedy, flyupvalue, flightmatrix,
horizontal, vertical, boostSpeed, boostVertical, autoPitch, instantStart);
    }

@Subscribe
    private void onUpdate(EventUpdate event) {
shackingcontroll = controll.get();

if (mc.player == null || mc.world == null) return;

switch (mode.get()) {
case "Grim":
shackingcontroll = true;
                handleFlyUpMode();
 break;
case "Матрикс-Элитра":
                handleMatrixElytra();
 break;
case "Вулкан-Элитра":
                handleVulcanElytra();
 break;
case "Обычный-Элитра":
                handleSimpleElytra();
 break;
case "Boost":
                handleBoost();
 break;
        }
    }

private void handleSimpleElytra() {
PlayerEntity player = mc.player;
if (player != null && player.isAlive()) {
player.setMotion(player.getMotion().x, player.getMotion().y + 0.06499999761581421D, player.getMotion().z);
        }
    }


private void handleFlyUpMode() {
currentStack = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
if (currentStack.getItem() != Items.ELYTRA || !ElytraItem.isUsable(currentStack)) {
 return;
        }

float boost = flyBoost.get();

if (mc.player.isOnGround()) {
mc.player.jump();
mc.player.motion.y += 0.42 * 0.35;
mc.player.rotationPitch = -89.0f;
mc.player.rotationPitchHead = -89.0f;
 return;
        }


if (!mc.player.isElytraFlying()) {
if (mc.player.fallDistance > 0.1 || mc.player.motion.y < -0.1) {
mc.player.startFallFlying();
mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
mc.player.rotationPitch = -89.0f;
mc.player.rotationPitchHead = -89.0f;
            }
 return;
        }


mc.player.rotationPitch = Math.max(mc.player.rotationPitch, -85.0f);

double currentY = mc.player.motion.y;
 double boostedY = currentY * boost;
boostedY += 0.022 * (boost - 1.0f);
mc.player.motion.y = Math.max(boostedY, 0.09);

mc.player.fallDistance = 0.0f;
mc.player.distanceWalkedModified = 0.0f;
    }

private void handleMatrixElytra() {
currentStack = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
if (currentStack.getItem() != Items.ELYTRA) {
print("Надень элитру!");
            toggle();
 return;
        }

float pitch = mc.player.rotationPitch;
if ((pitch > 50.0f || pitch < -50.0f) && !flightmatrix.get()) {
mc.player.rotationPitch = 0.0f;
print("Не поворачивай сильно голову!");
        }

if (flightmatrix.get()) {
            updatePlayerMotion();
} else {
mc.player.motion.y = flyupvalue.get();
        }

if (mc.player.isOnGround()) {
mc.player.jump();
} else if (ElytraItem.isUsable(currentStack) && !mc.player.isElytraFlying()) {
mc.player.startFallFlying();
mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
        }

if (mc.player.isElytraFlying()) {
mc.player.stopFallFlying();
        }
    }

private void handleVulcanElytra() {
currentStack = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
if (currentStack.getItem() != Items.ELYTRA) return;

if (mc.player.isElytraFlying()) {
mc.player.stopFallFlying();
        }

if (!mc.player.isInWater() && !mc.player.isSwimming() && !mc.player.collidedHorizontally) {
            updatePlayerMotion();
        }
    }

private void handleBoost() {

if (mc.player == null || mc.world == null) return;

ItemStack chest = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
if (chest.getItem() != Items.ELYTRA || !ElytraItem.isUsable(chest)) {
print("§cНадень рабочие элитры!");
 return;
        }

if (instantStart.get() && !mc.player.isElytraFlying()) {
if (mc.player.isOnGround()) mc.player.jump();
mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
mc.player.startFallFlying();
 return;
        }

if (!mc.player.isElytraFlying()) {
if (mc.player.fallDistance > 0.5 || mc.player.getMotion().y < -0.3) {
mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
            }
 return;
        }

if (autoPitch.get()) {
mc.player.rotationPitch = 12.0f;
        }

double motionY = 0.0;
if (mc.gameSettings.keyBindJump.isKeyDown()) motionY = boostVertical.get();
else if (mc.gameSettings.keyBindSneak.isKeyDown()) motionY = -boostVertical.get();

 if (MoveUtils.isMoving()) {
double dir = MoveUtils.getDirection();
double spd = boostSpeed.get();
double x = -Math.sin(dir) * spd;
double z = Math.cos(dir) * spd;
mc.player.setMotion(x * 0.99 + mc.player.getMotion().x * 0.01, motionY, z * 0.99 + mc.player.getMotion().z * 0.01);
} else {
mc.player.setMotion(mc.player.getMotion().x * 0.98, motionY, mc.player.getMotion().z * 0.98);
        }

mc.player.fallDistance = 0.0f;
if (Math.abs(mc.player.getMotion().y) < 0.01) mc.player.motion.y = 0.0;
    }

private void updatePlayerMotion() {
 double motionY = getMotionY();
 if (MoveUtils.isMoving()) {
MoveUtils.setMotion(horizontal.get());
mc.player.motion.y = motionY;
} else {
MoveUtils.setMotion(0.0);
mc.player.setMotion(0.0, motionY, 0.0);
        }
    }

private double getMotionY() {
if (mc.gameSettings.keyBindSneak.isKeyDown()) return -vertical.get();
if (mc.gameSettings.keyBindJump.isKeyDown()) return vertical.get();
return 0.0;
    }

@Subscribe
    private void onWalking(EventMotion e) {}

private static boolean isMatrixElytra() {
return mode.is("Матрикс-Элитра");
    }

private static boolean isFlyUp() {
return mode.is("Grim");
    }
}
Пожалуйста, авторизуйтесь для просмотра ссылки.

что то написал и оно обходит(на миоклиент.ме тестил ес чё) рабоает раз через раз!!!!!!!!! при определённых скоростях незя вниз смотреть, на минимальной можно (мне этот байпасс не нужен)
Код:
Expand Collapse Copy
package client.main.module.impl.movement;

import com.google.common.eventbus.Subscribe;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ElytraItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Effects;
import net.minecraft.util.math.vector.Vector2f;
import client.events.EventMotion;
import client.events.EventUpdate;
import client.main.module.api.Category;
import client.main.module.api.Module;
import client.main.module.api.ModuleRegister;
import client.main.module.api.annotations.Rage;
import client.main.module.settings.impl.BooleanSetting;
import client.main.module.settings.impl.ModeSetting;
import client.main.module.settings.impl.SliderSetting;
import client.util.math.StopWatch;
import client.util.player.MoveUtils;

@Rage
@ModuleRegister(name = "ElytraFly", type = Category.Movement, desc = "Летай быстрее, чем F-16, и не задавай вопросов")
public class ElytraFly extends Module {

    public static final ModeSetting mode = new ModeSetting("Мод", "Grim",
            "Поднятие-Верх", "Матрикс-Элитра", "Обычный-Элитра", "Вулкан-Элитра", "Boost 2025");

    private final SliderSetting speed = new SliderSetting("Скорость X", 0.5f, 0.0f, 12.0f, 0.1488f)
            .setVisible(() -> mode.is("Матрикс-Элитра"));
    private final SliderSetting speedy = new SliderSetting("Скорость Y", 0.5f, 0.0f, 12.0f, 0.1488f)
            .setVisible(() -> mode.is("Матрикс-Элитра"));

    public static final BooleanSetting controll = new BooleanSetting("Убрать дёргание", false)
            .setVisible(() -> mode.is("Поднятие-Верх"));

    public final BooleanSetting flightmatrix = new BooleanSetting("Дерзкий флай", false)
            .setVisible(() -> mode.is("Матрикс-Элитра"));

    private final SliderSetting flyupvalue = new SliderSetting("Значение Y", 0.1488f, 0.05f, 1.0f, 0.001f)
            .setVisible(() -> mode.is("Матрикс-Элитра") && !flightmatrix.get());

    private final SliderSetting horizontal = new SliderSetting("Скорость XZ", 0.5f, 0.0f, 5.0f, 0.1f)
            .setVisible(() -> mode.is("Вулкан-Элитра"));
    private final SliderSetting vertical = new SliderSetting("Скорость Y", 0.5f, 0.0f, 5.0f, 0.1f)
            .setVisible(() -> mode.is("Вулкан-Элитра"));


    private final SliderSetting flyBoost = new SliderSetting("Буст подъёма", 1.30f, 1.05f, 2.0f, 0.01f)
            .setVisible(() -> mode.is("Поднятие-Верх"));

    private final SliderSetting boostSpeed = new SliderSetting("Горизонтальная скорость", 6.0f, 0.5f, 12.0f, 0.1f)
            .setVisible(() -> mode.is("Boost 2025"));
    private final SliderSetting boostVertical = new SliderSetting("Вертикальная скорость", 2.0f, 0.0f, 6.0f, 0.1f)
            .setVisible(() -> mode.is("Boost 2025"));
    private final BooleanSetting autoPitch = new BooleanSetting("Автопитч", true)
            .setVisible(() -> mode.is("Boost 2025"));
    private final BooleanSetting instantStart = new BooleanSetting("Мгновенный старт", true)
            .setVisible(() -> mode.is("Boost 2025"));

    public static boolean shackingcontroll;
    private final StopWatch stopWatch = new StopWatch();
    private ItemStack currentStack = ItemStack.EMPTY;
    public Vector2f rotate = Vector2f.ZERO;

    public ElytraFly() {
        addSettings(mode, controll, flyBoost, speed, speedy, flyupvalue, flightmatrix,
                horizontal, vertical, boostSpeed, boostVertical, autoPitch, instantStart);
    }

    @Subscribe
    private void onUpdate(EventUpdate event) {
        shackingcontroll = controll.get();

        if (mc.player == null || mc.world == null) return;

        switch (mode.get()) {
            case "Поднятие-Верх":
                shackingcontroll = true;
                handleFlyUpMode();
                break;
            case "Матрикс-Элитра":
                handleMatrixElytra();
                break;
            case "Вулкан-Элитра":
                handleVulcanElytra();
                break;
            case "Обычный-Элитра":
                handleSimpleElytra();
                break;
            case "Boost 2025":
                handleBoost2025();
                break;
        }
    }

    private void handleSimpleElytra() {
        PlayerEntity player = mc.player;
        if (player != null && player.isAlive()) {
            player.setMotion(player.getMotion().x, player.getMotion().y + 0.06499999761581421D, player.getMotion().z);
        }
    }


    private void handleFlyUpMode() {
        currentStack = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
        if (currentStack.getItem() != Items.ELYTRA || !ElytraItem.isUsable(currentStack)) {
            return;
        }

        float boost = flyBoost.get();

        if (mc.player.isOnGround()) {
            mc.player.jump();
            mc.player.motion.y += 0.42 * 0.35;
            mc.player.rotationPitch = -89.0f;
            mc.player.rotationPitchHead = -89.0f;
            return;
        }


        if (!mc.player.isElytraFlying()) {
            if (mc.player.fallDistance > 0.1 || mc.player.motion.y < -0.1) {
                mc.player.startFallFlying();
                mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
                mc.player.rotationPitch = -89.0f;
                mc.player.rotationPitchHead = -89.0f;
            }
            return;
        }


        mc.player.rotationPitch = Math.max(mc.player.rotationPitch, -85.0f);

        double currentY = mc.player.motion.y;
        double boostedY = currentY * boost;
        boostedY += 0.022 * (boost - 1.0f);
        mc.player.motion.y = Math.max(boostedY, 0.09);

        mc.player.fallDistance = 0.0f;
        mc.player.distanceWalkedModified = 0.0f;
    }

    private void handleMatrixElytra() {
        currentStack = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
        if (currentStack.getItem() != Items.ELYTRA) {
            print("Надень элитру!");
            toggle();
            return;
        }

        float pitch = mc.player.rotationPitch;
        if ((pitch > 50.0f || pitch < -50.0f) && !flightmatrix.get()) {
            mc.player.rotationPitch = 0.0f;
            print("Не поворачивай сильно голову!");
        }

        if (flightmatrix.get()) {
            updatePlayerMotion();
        } else {
            mc.player.motion.y = flyupvalue.get();
        }

        if (mc.player.isOnGround()) {
            mc.player.jump();
        } else if (ElytraItem.isUsable(currentStack) && !mc.player.isElytraFlying()) {
            mc.player.startFallFlying();
            mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
        }

        if (mc.player.isElytraFlying()) {
            mc.player.stopFallFlying();
        }
    }

    private void handleVulcanElytra() {
        currentStack = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
        if (currentStack.getItem() != Items.ELYTRA) return;

        if (mc.player.isElytraFlying()) {
            mc.player.stopFallFlying();
        }

        if (!mc.player.isInWater() && !mc.player.isSwimming() && !mc.player.collidedHorizontally) {
            updatePlayerMotion();
        }
    }

    private void handleBoost2025() {

        if (mc.player == null || mc.world == null) return;

        ItemStack chest = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
        if (chest.getItem() != Items.ELYTRA || !ElytraItem.isUsable(chest)) {
            print("§cНадень рабочие элитры!");
            return;
        }

        if (instantStart.get() && !mc.player.isElytraFlying()) {
            if (mc.player.isOnGround()) mc.player.jump();
            mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
            mc.player.startFallFlying();
            return;
        }

        if (!mc.player.isElytraFlying()) {
            if (mc.player.fallDistance > 0.5 || mc.player.getMotion().y < -0.3) {
                mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
            }
            return;
        }

        if (autoPitch.get()) {
            mc.player.rotationPitch = 12.0f;
        }

        double motionY = 0.0;
        if (mc.gameSettings.keyBindJump.isKeyDown()) motionY = boostVertical.get();
        else if (mc.gameSettings.keyBindSneak.isKeyDown()) motionY = -boostVertical.get();

        if (MoveUtils.isMoving()) {
            double dir = MoveUtils.getDirection();
            double spd = boostSpeed.get();
            double x = -Math.sin(dir) * spd;
            double z = Math.cos(dir) * spd;
            mc.player.setMotion(x * 0.99 + mc.player.getMotion().x * 0.01, motionY, z * 0.99 + mc.player.getMotion().z * 0.01);
        } else {
            mc.player.setMotion(mc.player.getMotion().x * 0.98, motionY, mc.player.getMotion().z * 0.98);
        }

        mc.player.fallDistance = 0.0f;
        if (Math.abs(mc.player.getMotion().y) < 0.01) mc.player.motion.y = 0.0;
    }

    private void updatePlayerMotion() {
        double motionY = getMotionY();
        if (MoveUtils.isMoving()) {
            MoveUtils.setMotion(horizontal.get());
            mc.player.motion.y = motionY;
        } else {
            MoveUtils.setMotion(0.0);
            mc.player.setMotion(0.0, motionY, 0.0);
        }
    }

    private double getMotionY() {
        if (mc.gameSettings.keyBindSneak.isKeyDown()) return -vertical.get();
        if (mc.gameSettings.keyBindJump.isKeyDown()) return vertical.get();
        return 0.0;
    }

    @Subscribe
    private void onWalking(EventMotion e) {}

    private static boolean isMatrixElytra() {
        return mode.is("Матрикс-Элитра");
    }

    private static boolean isFlyUp() {
        return mode.is("Grim");
    }
}
Пожалуйста, авторизуйтесь для просмотра ссылки.
(вниз и вверх смотреть нельзя при любой скорости)
 
что то написал и оно обходит(на миоклиент.ме тестил ес чё) рабоает раз через раз!!!!!!!!! при определённых скоростях незя вниз смотреть, на минимальной можно (мне этот байпасс не нужен)
Код:
Expand Collapse Copy
package client.main.module.impl.movement;

import com.google.common.eventbus.Subscribe;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ElytraItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Effects;
import net.minecraft.util.math.vector.Vector2f;
import client.events.EventMotion;
import client.events.EventUpdate;
import client.main.module.api.Category;
import client.main.module.api.Module;
import client.main.module.api.ModuleRegister;
import client.main.module.api.annotations.Rage;
import client.main.module.settings.impl.BooleanSetting;
import client.main.module.settings.impl.ModeSetting;
import client.main.module.settings.impl.SliderSetting;
import client.util.math.StopWatch;
import client.util.player.MoveUtils;

@Rage
@ModuleRegister(name = "ElytraFly", type = Category.Movement, desc = "Летай быстрее, чем F-16, и не задавай вопросов")
public class ElytraFly extends Module {

public static final ModeSetting mode = new ModeSetting("Мод", "Grim",
"Grim", "Матрикс-Элитра", "Обычный-Элитра", "Вулкан-Элитра", "Boost");

private final SliderSetting speed = new SliderSetting("Скорость X", 0.5f, 0.0f, 12.0f, 0.1488f)
.setVisible(() -> mode.is("Матрикс-Элитра"));
private final SliderSetting speedy = new SliderSetting("Скорость Y", 0.5f, 0.0f, 12.0f, 0.1488f)
.setVisible(() -> mode.is("Матрикс-Элитра"));

public static final BooleanSetting controll = new BooleanSetting("Убрать дёргание", false)
.setVisible(() -> mode.is("Grim"));

public final BooleanSetting flightmatrix = new BooleanSetting("Дерзкий флай", false)
.setVisible(() -> mode.is("Матрикс-Элитра"));

private final SliderSetting flyupvalue = new SliderSetting("Значение Y", 0.1488f, 0.05f, 1.0f, 0.001f)
.setVisible(() -> mode.is("Матрикс-Элитра") && !flightmatrix.get());

private final SliderSetting horizontal = new SliderSetting("Скорость XZ", 0.5f, 0.0f, 5.0f, 0.1f)
.setVisible(() -> mode.is("Вулкан-Элитра"));
private final SliderSetting vertical = new SliderSetting("Скорость Y", 0.5f, 0.0f, 5.0f, 0.1f)
.setVisible(() -> mode.is("Вулкан-Элитра"));


private final SliderSetting flyBoost = new SliderSetting("Буст подъёма", 1.30f, 1.05f, 2.0f, 0.01f)
.setVisible(() -> mode.is("Grim"));

private final SliderSetting boostSpeed = new SliderSetting("Горизонтальная скорость", 6.0f, 0.5f, 12.0f, 0.1f)
.setVisible(() -> mode.is("Boost"));
private final SliderSetting boostVertical = new SliderSetting("Вертикальная скорость", 2.0f, 0.0f, 6.0f, 0.1f)
.setVisible(() -> mode.is("Boost"));
private final BooleanSetting autoPitch = new BooleanSetting("Автопитч", true)
.setVisible(() -> mode.is("Boost"));
private final BooleanSetting instantStart = new BooleanSetting("Мгновенный старт", true)
.setVisible(() -> mode.is("Boost"));

public static boolean shackingcontroll;
private final StopWatch stopWatch = new StopWatch();
private ItemStack currentStack = ItemStack.EMPTY;
public Vector2f rotate = Vector2f.ZERO;

public ElytraFly() {
addSettings(mode, controll, flyBoost, speed, speedy, flyupvalue, flightmatrix,
horizontal, vertical, boostSpeed, boostVertical, autoPitch, instantStart);
    }

@Subscribe
    private void onUpdate(EventUpdate event) {
shackingcontroll = controll.get();

if (mc.player == null || mc.world == null) return;

switch (mode.get()) {
case "Grim":
shackingcontroll = true;
                handleFlyUpMode();
 break;
case "Матрикс-Элитра":
                handleMatrixElytra();
 break;
case "Вулкан-Элитра":
                handleVulcanElytra();
 break;
case "Обычный-Элитра":
                handleSimpleElytra();
 break;
case "Boost":
                handleBoost();
 break;
        }
    }

private void handleSimpleElytra() {
PlayerEntity player = mc.player;
if (player != null && player.isAlive()) {
player.setMotion(player.getMotion().x, player.getMotion().y + 0.06499999761581421D, player.getMotion().z);
        }
    }


private void handleFlyUpMode() {
currentStack = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
if (currentStack.getItem() != Items.ELYTRA || !ElytraItem.isUsable(currentStack)) {
 return;
        }

float boost = flyBoost.get();

if (mc.player.isOnGround()) {
mc.player.jump();
mc.player.motion.y += 0.42 * 0.35;
mc.player.rotationPitch = -89.0f;
mc.player.rotationPitchHead = -89.0f;
 return;
        }


if (!mc.player.isElytraFlying()) {
if (mc.player.fallDistance > 0.1 || mc.player.motion.y < -0.1) {
mc.player.startFallFlying();
mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
mc.player.rotationPitch = -89.0f;
mc.player.rotationPitchHead = -89.0f;
            }
 return;
        }


mc.player.rotationPitch = Math.max(mc.player.rotationPitch, -85.0f);

double currentY = mc.player.motion.y;
 double boostedY = currentY * boost;
boostedY += 0.022 * (boost - 1.0f);
mc.player.motion.y = Math.max(boostedY, 0.09);

mc.player.fallDistance = 0.0f;
mc.player.distanceWalkedModified = 0.0f;
    }

private void handleMatrixElytra() {
currentStack = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
if (currentStack.getItem() != Items.ELYTRA) {
print("Надень элитру!");
            toggle();
 return;
        }

float pitch = mc.player.rotationPitch;
if ((pitch > 50.0f || pitch < -50.0f) && !flightmatrix.get()) {
mc.player.rotationPitch = 0.0f;
print("Не поворачивай сильно голову!");
        }

if (flightmatrix.get()) {
            updatePlayerMotion();
} else {
mc.player.motion.y = flyupvalue.get();
        }

if (mc.player.isOnGround()) {
mc.player.jump();
} else if (ElytraItem.isUsable(currentStack) && !mc.player.isElytraFlying()) {
mc.player.startFallFlying();
mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
        }

if (mc.player.isElytraFlying()) {
mc.player.stopFallFlying();
        }
    }

private void handleVulcanElytra() {
currentStack = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
if (currentStack.getItem() != Items.ELYTRA) return;

if (mc.player.isElytraFlying()) {
mc.player.stopFallFlying();
        }

if (!mc.player.isInWater() && !mc.player.isSwimming() && !mc.player.collidedHorizontally) {
            updatePlayerMotion();
        }
    }

private void handleBoost() {

if (mc.player == null || mc.world == null) return;

ItemStack chest = mc.player.getItemStackFromSlot(EquipmentSlotType.CHEST);
if (chest.getItem() != Items.ELYTRA || !ElytraItem.isUsable(chest)) {
print("§cНадень рабочие элитры!");
 return;
        }

if (instantStart.get() && !mc.player.isElytraFlying()) {
if (mc.player.isOnGround()) mc.player.jump();
mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
mc.player.startFallFlying();
 return;
        }

if (!mc.player.isElytraFlying()) {
if (mc.player.fallDistance > 0.5 || mc.player.getMotion().y < -0.3) {
mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
            }
 return;
        }

if (autoPitch.get()) {
mc.player.rotationPitch = 12.0f;
        }

double motionY = 0.0;
if (mc.gameSettings.keyBindJump.isKeyDown()) motionY = boostVertical.get();
else if (mc.gameSettings.keyBindSneak.isKeyDown()) motionY = -boostVertical.get();

 if (MoveUtils.isMoving()) {
double dir = MoveUtils.getDirection();
double spd = boostSpeed.get();
double x = -Math.sin(dir) * spd;
double z = Math.cos(dir) * spd;
mc.player.setMotion(x * 0.99 + mc.player.getMotion().x * 0.01, motionY, z * 0.99 + mc.player.getMotion().z * 0.01);
} else {
mc.player.setMotion(mc.player.getMotion().x * 0.98, motionY, mc.player.getMotion().z * 0.98);
        }

mc.player.fallDistance = 0.0f;
if (Math.abs(mc.player.getMotion().y) < 0.01) mc.player.motion.y = 0.0;
    }

private void updatePlayerMotion() {
 double motionY = getMotionY();
 if (MoveUtils.isMoving()) {
MoveUtils.setMotion(horizontal.get());
mc.player.motion.y = motionY;
} else {
MoveUtils.setMotion(0.0);
mc.player.setMotion(0.0, motionY, 0.0);
        }
    }

private double getMotionY() {
if (mc.gameSettings.keyBindSneak.isKeyDown()) return -vertical.get();
if (mc.gameSettings.keyBindJump.isKeyDown()) return vertical.get();
return 0.0;
    }

@Subscribe
    private void onWalking(EventMotion e) {}

private static boolean isMatrixElytra() {
return mode.is("Матрикс-Элитра");
    }

private static boolean isFlyUp() {
return mode.is("Grim");
    }
}
Пожалуйста, авторизуйтесь для просмотра ссылки.


(вниз и вверх смотреть нельзя при любой скорости)
+-,сойдет
 
Назад
Сверху Снизу