Исходник Отключение античита на парашных серверах | exp 3.1 ready

Начинающий
Статус
Оффлайн
Регистрация
17 Дек 2023
Сообщения
34
Реакции[?]
0
Поинты[?]
0

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

В общем то говоря, это обычный переименованный флай, но где в модах оставлен только Vanilla флай, который переименован в Test Mod. А так мне даже было лень вырезать другие моды флая.
Жду /del в комментах

Пожалуйста, авторизуйтесь для просмотра ссылки.


hueta.java:
package im.expensive.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventPacket;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.player.MoveUtils;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.BoatEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ElytraItem;
import net.minecraft.item.ItemStack;
import net.minecraft.network.play.client.CConfirmTeleportPacket;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.network.play.server.SPlayerPositionLookPacket;
import net.minecraft.util.math.vector.Vector3d;

@FunctionRegister(name = "Disabler", type = Category.Player)
public class Disabler extends Function {

    private final ModeSetting mode = new ModeSetting("Мод", "Test mod", "Test mod");
    private final SliderSetting horizontal = new SliderSetting("Любое", 0.5f, 0f, 1f, 0.1f);
    private final SliderSetting vertical = new SliderSetting("Любое", 0.5f, 0f, 1f, 0.1f);

    public Disabler() {
        addSettings(mode, horizontal, vertical);
    }

    public Entity vehicle;

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

        switch (mode.getIndex()) {
            case 0 -> {
                updatePlayerMotion();
            }


            case 1 -> {
                if (mc.player.isOnGround())
                    mc.player.jump();
                else {
                    MoveUtils.setMotion(Math.min(horizontal.get(), 1.97f));
                    mc.player.motion.y = vertical.get();
                }
            }

            case 2 -> {
                mc.player.motion = Vector3d.ZERO;
                MoveUtils.setMotion(horizontal.get());
                mc.player.setMotion(mc.player.getMotion().x, -0.003, mc.player.getMotion().z);
            }

            case 3 -> {
                for (Entity en : mc.world.getAllEntities()) {
                    if (en instanceof BoatEntity) {
                        if (mc.player.getDistance(en) <= 2) {
                            MoveUtils.setMotion(1.2f);
                            mc.player.motion.y = 1;
                            break;
                        }
                    }
                }
            }

            case 4 -> {
                if (mc.player.ticksExisted % 2 != 0) return;

                int slot = -1;

                for (ItemStack stack : mc.player.inventory.mainInventory) {
                    if (stack.getItem() instanceof ElytraItem) {
                        slot = mc.player.inventory.mainInventory.indexOf(stack);
                    }
                }

                mc.player.abilities.isFlying = false;

                if (slot == -1) return;

                int chestSlot = 6;

                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, chestSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);

                mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
                mc.player.abilities.isFlying = true;

                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, chestSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
            }
        }
    }

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

        switch (mode.getIndex()) {
            case 1 -> {
                if (e.getPacket() instanceof SPlayerPositionLookPacket p) {
                    if (mc.player == null)
                        toggle();
                    mc.player.setPosition(p.getX(), p.getY(), p.getZ());
                    mc.player.connection.sendPacket(new CConfirmTeleportPacket(p.getTeleportId()));
                    e.cancel();
                    toggle();
                }
            }
            case 3 -> {
                if (e.getPacket() instanceof SPlayerPositionLookPacket p) {

                    toggle();
                }
            }
        }
    }

    private void updatePlayerMotion() {
        double motionX = mc.player.getMotion().x;
        double motionY = getMotionY();
        double motionZ = mc.player.getMotion().z;

        MoveUtils.setMotion(horizontal.get());
        mc.player.motion.y = motionY;
    }

    private double getMotionY() {
        return mc.gameSettings.keyBindSneak.pressed ? -vertical.get()
                : mc.gameSettings.keyBindJump.pressed ? vertical.get() : 0;
    }

    @Override
    public void onDisable() {
        super.onDisable();

        mc.player.abilities.isFlying = false;
    }

    @Override
    protected float[] rotations(PlayerEntity player) {
        return new float[0];
    }

    @Override
    public void onEvent(EventDisplay event) {

    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
28 Мар 2024
Сообщения
282
Реакции[?]
0
Поинты[?]
0
В общем то говоря, это обычный переименованный флай, но где в модах оставлен только Vanilla флай, который переименован в Test Mod. А так мне даже было лень вырезать другие моды флая.
Жду /del в комментах

Пожалуйста, авторизуйтесь для просмотра ссылки.


hueta.java:
package im.expensive.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventPacket;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.player.MoveUtils;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.BoatEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ElytraItem;
import net.minecraft.item.ItemStack;
import net.minecraft.network.play.client.CConfirmTeleportPacket;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.network.play.server.SPlayerPositionLookPacket;
import net.minecraft.util.math.vector.Vector3d;

@FunctionRegister(name = "Disabler", type = Category.Player)
public class Disabler extends Function {

    private final ModeSetting mode = new ModeSetting("Мод", "Test mod", "Test mod");
    private final SliderSetting horizontal = new SliderSetting("Любое", 0.5f, 0f, 1f, 0.1f);
    private final SliderSetting vertical = new SliderSetting("Любое", 0.5f, 0f, 1f, 0.1f);

    public Disabler() {
        addSettings(mode, horizontal, vertical);
    }

    public Entity vehicle;

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

        switch (mode.getIndex()) {
            case 0 -> {
                updatePlayerMotion();
            }


            case 1 -> {
                if (mc.player.isOnGround())
                    mc.player.jump();
                else {
                    MoveUtils.setMotion(Math.min(horizontal.get(), 1.97f));
                    mc.player.motion.y = vertical.get();
                }
            }

            case 2 -> {
                mc.player.motion = Vector3d.ZERO;
                MoveUtils.setMotion(horizontal.get());
                mc.player.setMotion(mc.player.getMotion().x, -0.003, mc.player.getMotion().z);
            }

            case 3 -> {
                for (Entity en : mc.world.getAllEntities()) {
                    if (en instanceof BoatEntity) {
                        if (mc.player.getDistance(en) <= 2) {
                            MoveUtils.setMotion(1.2f);
                            mc.player.motion.y = 1;
                            break;
                        }
                    }
                }
            }

            case 4 -> {
                if (mc.player.ticksExisted % 2 != 0) return;

                int slot = -1;

                for (ItemStack stack : mc.player.inventory.mainInventory) {
                    if (stack.getItem() instanceof ElytraItem) {
                        slot = mc.player.inventory.mainInventory.indexOf(stack);
                    }
                }

                mc.player.abilities.isFlying = false;

                if (slot == -1) return;

                int chestSlot = 6;

                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, chestSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);

                mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
                mc.player.abilities.isFlying = true;

                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, chestSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
            }
        }
    }

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

        switch (mode.getIndex()) {
            case 1 -> {
                if (e.getPacket() instanceof SPlayerPositionLookPacket p) {
                    if (mc.player == null)
                        toggle();
                    mc.player.setPosition(p.getX(), p.getY(), p.getZ());
                    mc.player.connection.sendPacket(new CConfirmTeleportPacket(p.getTeleportId()));
                    e.cancel();
                    toggle();
                }
            }
            case 3 -> {
                if (e.getPacket() instanceof SPlayerPositionLookPacket p) {

                    toggle();
                }
            }
        }
    }

    private void updatePlayerMotion() {
        double motionX = mc.player.getMotion().x;
        double motionY = getMotionY();
        double motionZ = mc.player.getMotion().z;

        MoveUtils.setMotion(horizontal.get());
        mc.player.motion.y = motionY;
    }

    private double getMotionY() {
        return mc.gameSettings.keyBindSneak.pressed ? -vertical.get()
                : mc.gameSettings.keyBindJump.pressed ? vertical.get() : 0;
    }

    @Override
    public void onDisable() {
        super.onDisable();

        mc.player.abilities.isFlying = false;
    }

    @Override
    protected float[] rotations(PlayerEntity player) {
        return new float[0];
    }

    @Override
    public void onEvent(EventDisplay event) {

    }
}
pls /del you account you game
 
Начинающий
Статус
Онлайн
Регистрация
23 Июн 2023
Сообщения
297
Реакции[?]
2
Поинты[?]
0
Блин, а что рилик не параша вместе с фт? Ну ладно фт ещё норм под пиво, но ля
 
Начинающий
Статус
Оффлайн
Регистрация
19 Сен 2024
Сообщения
17
Реакции[?]
0
Поинты[?]
0
Что это за калл? Для кого это вообще ? Ты не думал что на "школо" серваках никто больше не играет😂
 
Начинающий
Статус
Оффлайн
Регистрация
19 Фев 2024
Сообщения
170
Реакции[?]
1
Поинты[?]
1K
В общем то говоря, это обычный переименованный флай, но где в модах оставлен только Vanilla флай, который переименован в Test Mod. А так мне даже было лень вырезать другие моды флая.
Жду /del в комментах

Пожалуйста, авторизуйтесь для просмотра ссылки.


hueta.java:
package im.expensive.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventPacket;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.player.MoveUtils;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.BoatEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ElytraItem;
import net.minecraft.item.ItemStack;
import net.minecraft.network.play.client.CConfirmTeleportPacket;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.network.play.server.SPlayerPositionLookPacket;
import net.minecraft.util.math.vector.Vector3d;

@FunctionRegister(name = "Disabler", type = Category.Player)
public class Disabler extends Function {

    private final ModeSetting mode = new ModeSetting("Мод", "Test mod", "Test mod");
    private final SliderSetting horizontal = new SliderSetting("Любое", 0.5f, 0f, 1f, 0.1f);
    private final SliderSetting vertical = new SliderSetting("Любое", 0.5f, 0f, 1f, 0.1f);

    public Disabler() {
        addSettings(mode, horizontal, vertical);
    }

    public Entity vehicle;

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

        switch (mode.getIndex()) {
            case 0 -> {
                updatePlayerMotion();
            }


            case 1 -> {
                if (mc.player.isOnGround())
                    mc.player.jump();
                else {
                    MoveUtils.setMotion(Math.min(horizontal.get(), 1.97f));
                    mc.player.motion.y = vertical.get();
                }
            }

            case 2 -> {
                mc.player.motion = Vector3d.ZERO;
                MoveUtils.setMotion(horizontal.get());
                mc.player.setMotion(mc.player.getMotion().x, -0.003, mc.player.getMotion().z);
            }

            case 3 -> {
                for (Entity en : mc.world.getAllEntities()) {
                    if (en instanceof BoatEntity) {
                        if (mc.player.getDistance(en) <= 2) {
                            MoveUtils.setMotion(1.2f);
                            mc.player.motion.y = 1;
                            break;
                        }
                    }
                }
            }

            case 4 -> {
                if (mc.player.ticksExisted % 2 != 0) return;

                int slot = -1;

                for (ItemStack stack : mc.player.inventory.mainInventory) {
                    if (stack.getItem() instanceof ElytraItem) {
                        slot = mc.player.inventory.mainInventory.indexOf(stack);
                    }
                }

                mc.player.abilities.isFlying = false;

                if (slot == -1) return;

                int chestSlot = 6;

                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, chestSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);

                mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
                mc.player.abilities.isFlying = true;

                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, chestSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
            }
        }
    }

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

        switch (mode.getIndex()) {
            case 1 -> {
                if (e.getPacket() instanceof SPlayerPositionLookPacket p) {
                    if (mc.player == null)
                        toggle();
                    mc.player.setPosition(p.getX(), p.getY(), p.getZ());
                    mc.player.connection.sendPacket(new CConfirmTeleportPacket(p.getTeleportId()));
                    e.cancel();
                    toggle();
                }
            }
            case 3 -> {
                if (e.getPacket() instanceof SPlayerPositionLookPacket p) {

                    toggle();
                }
            }
        }
    }

    private void updatePlayerMotion() {
        double motionX = mc.player.getMotion().x;
        double motionY = getMotionY();
        double motionZ = mc.player.getMotion().z;

        MoveUtils.setMotion(horizontal.get());
        mc.player.motion.y = motionY;
    }

    private double getMotionY() {
        return mc.gameSettings.keyBindSneak.pressed ? -vertical.get()
                : mc.gameSettings.keyBindJump.pressed ? vertical.get() : 0;
    }

    @Override
    public void onDisable() {
        super.onDisable();

        mc.player.abilities.isFlying = false;
    }

    @Override
    protected float[] rotations(PlayerEntity player) {
        return new float[0];
    }

    @Override
    public void onEvent(EventDisplay event) {

    }
}
Ты тупой ?
Смысл от спидов если в кд воркать не будет да и + изи фикс
 
Начинающий
Статус
Оффлайн
Регистрация
18 Авг 2023
Сообщения
215
Реакции[?]
0
Поинты[?]
0
В общем то говоря, это обычный переименованный флай, но где в модах оставлен только Vanilla флай, который переименован в Test Mod. А так мне даже было лень вырезать другие моды флая.
Жду /del в комментах

Пожалуйста, авторизуйтесь для просмотра ссылки.


hueta.java:
package im.expensive.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventPacket;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.player.MoveUtils;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.BoatEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ElytraItem;
import net.minecraft.item.ItemStack;
import net.minecraft.network.play.client.CConfirmTeleportPacket;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.network.play.server.SPlayerPositionLookPacket;
import net.minecraft.util.math.vector.Vector3d;

@FunctionRegister(name = "Disabler", type = Category.Player)
public class Disabler extends Function {

    private final ModeSetting mode = new ModeSetting("Мод", "Test mod", "Test mod");
    private final SliderSetting horizontal = new SliderSetting("Любое", 0.5f, 0f, 1f, 0.1f);
    private final SliderSetting vertical = new SliderSetting("Любое", 0.5f, 0f, 1f, 0.1f);

    public Disabler() {
        addSettings(mode, horizontal, vertical);
    }

    public Entity vehicle;

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

        switch (mode.getIndex()) {
            case 0 -> {
                updatePlayerMotion();
            }


            case 1 -> {
                if (mc.player.isOnGround())
                    mc.player.jump();
                else {
                    MoveUtils.setMotion(Math.min(horizontal.get(), 1.97f));
                    mc.player.motion.y = vertical.get();
                }
            }

            case 2 -> {
                mc.player.motion = Vector3d.ZERO;
                MoveUtils.setMotion(horizontal.get());
                mc.player.setMotion(mc.player.getMotion().x, -0.003, mc.player.getMotion().z);
            }

            case 3 -> {
                for (Entity en : mc.world.getAllEntities()) {
                    if (en instanceof BoatEntity) {
                        if (mc.player.getDistance(en) <= 2) {
                            MoveUtils.setMotion(1.2f);
                            mc.player.motion.y = 1;
                            break;
                        }
                    }
                }
            }

            case 4 -> {
                if (mc.player.ticksExisted % 2 != 0) return;

                int slot = -1;

                for (ItemStack stack : mc.player.inventory.mainInventory) {
                    if (stack.getItem() instanceof ElytraItem) {
                        slot = mc.player.inventory.mainInventory.indexOf(stack);
                    }
                }

                mc.player.abilities.isFlying = false;

                if (slot == -1) return;

                int chestSlot = 6;

                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, chestSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);

                mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
                mc.player.abilities.isFlying = true;

                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, chestSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
            }
        }
    }

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

        switch (mode.getIndex()) {
            case 1 -> {
                if (e.getPacket() instanceof SPlayerPositionLookPacket p) {
                    if (mc.player == null)
                        toggle();
                    mc.player.setPosition(p.getX(), p.getY(), p.getZ());
                    mc.player.connection.sendPacket(new CConfirmTeleportPacket(p.getTeleportId()));
                    e.cancel();
                    toggle();
                }
            }
            case 3 -> {
                if (e.getPacket() instanceof SPlayerPositionLookPacket p) {

                    toggle();
                }
            }
        }
    }

    private void updatePlayerMotion() {
        double motionX = mc.player.getMotion().x;
        double motionY = getMotionY();
        double motionZ = mc.player.getMotion().z;

        MoveUtils.setMotion(horizontal.get());
        mc.player.motion.y = motionY;
    }

    private double getMotionY() {
        return mc.gameSettings.keyBindSneak.pressed ? -vertical.get()
                : mc.gameSettings.keyBindJump.pressed ? vertical.get() : 0;
    }

    @Override
    public void onDisable() {
        super.onDisable();

        mc.player.abilities.isFlying = false;
    }

    @Override
    protected float[] rotations(PlayerEntity player) {
        return new float[0];
    }

    @Override
    public void onEvent(EventDisplay event) {

    }
}
обычный матрикс елитра спуф?
 
Начинающий
Статус
Оффлайн
Регистрация
30 Окт 2022
Сообщения
41
Реакции[?]
0
Поинты[?]
0
А что будет если ты будешь в кт после "отключения античита" ?))
 
Начинающий
Статус
Оффлайн
Регистрация
24 Окт 2021
Сообщения
87
Реакции[?]
0
Поинты[?]
0
Какой смысл дизейблера если это просто ренеймнутый флай? Да и когда у тебя флай через команду у тебя даже джесус воркать будет
 
1
Пользователь
Статус
Оффлайн
Регистрация
22 Авг 2021
Сообщения
472
Реакции[?]
44
Поинты[?]
6K
В общем то говоря, это обычный переименованный флай, но где в модах оставлен только Vanilla флай, который переименован в Test Mod. А так мне даже было лень вырезать другие моды флая.
Жду /del в комментах

Пожалуйста, авторизуйтесь для просмотра ссылки.


hueta.java:
package im.expensive.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventPacket;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.player.MoveUtils;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.BoatEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ElytraItem;
import net.minecraft.item.ItemStack;
import net.minecraft.network.play.client.CConfirmTeleportPacket;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.network.play.server.SPlayerPositionLookPacket;
import net.minecraft.util.math.vector.Vector3d;

@FunctionRegister(name = "Disabler", type = Category.Player)
public class Disabler extends Function {

    private final ModeSetting mode = new ModeSetting("Мод", "Test mod", "Test mod");
    private final SliderSetting horizontal = new SliderSetting("Любое", 0.5f, 0f, 1f, 0.1f);
    private final SliderSetting vertical = new SliderSetting("Любое", 0.5f, 0f, 1f, 0.1f);

    public Disabler() {
        addSettings(mode, horizontal, vertical);
    }

    public Entity vehicle;

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

        switch (mode.getIndex()) {
            case 0 -> {
                updatePlayerMotion();
            }


            case 1 -> {
                if (mc.player.isOnGround())
                    mc.player.jump();
                else {
                    MoveUtils.setMotion(Math.min(horizontal.get(), 1.97f));
                    mc.player.motion.y = vertical.get();
                }
            }

            case 2 -> {
                mc.player.motion = Vector3d.ZERO;
                MoveUtils.setMotion(horizontal.get());
                mc.player.setMotion(mc.player.getMotion().x, -0.003, mc.player.getMotion().z);
            }

            case 3 -> {
                for (Entity en : mc.world.getAllEntities()) {
                    if (en instanceof BoatEntity) {
                        if (mc.player.getDistance(en) <= 2) {
                            MoveUtils.setMotion(1.2f);
                            mc.player.motion.y = 1;
                            break;
                        }
                    }
                }
            }

            case 4 -> {
                if (mc.player.ticksExisted % 2 != 0) return;

                int slot = -1;

                for (ItemStack stack : mc.player.inventory.mainInventory) {
                    if (stack.getItem() instanceof ElytraItem) {
                        slot = mc.player.inventory.mainInventory.indexOf(stack);
                    }
                }

                mc.player.abilities.isFlying = false;

                if (slot == -1) return;

                int chestSlot = 6;

                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, chestSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);

                mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_FALL_FLYING));
                mc.player.abilities.isFlying = true;

                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, chestSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, slot, 0, ClickType.PICKUP, mc.player);
            }
        }
    }

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

        switch (mode.getIndex()) {
            case 1 -> {
                if (e.getPacket() instanceof SPlayerPositionLookPacket p) {
                    if (mc.player == null)
                        toggle();
                    mc.player.setPosition(p.getX(), p.getY(), p.getZ());
                    mc.player.connection.sendPacket(new CConfirmTeleportPacket(p.getTeleportId()));
                    e.cancel();
                    toggle();
                }
            }
            case 3 -> {
                if (e.getPacket() instanceof SPlayerPositionLookPacket p) {

                    toggle();
                }
            }
        }
    }

    private void updatePlayerMotion() {
        double motionX = mc.player.getMotion().x;
        double motionY = getMotionY();
        double motionZ = mc.player.getMotion().z;

        MoveUtils.setMotion(horizontal.get());
        mc.player.motion.y = motionY;
    }

    private double getMotionY() {
        return mc.gameSettings.keyBindSneak.pressed ? -vertical.get()
                : mc.gameSettings.keyBindJump.pressed ? vertical.get() : 0;
    }

    @Override
    public void onDisable() {
        super.onDisable();

        mc.player.abilities.isFlying = false;
    }

    @Override
    protected float[] rotations(PlayerEntity player) {
        return new float[0];
    }

    @Override
    public void onEvent(EventDisplay event) {

    }
}
прописал /fly и показывает "обходы".
 
Начинающий
Статус
Оффлайн
Регистрация
17 Дек 2023
Сообщения
34
Реакции[?]
0
Поинты[?]
0
Сверху Снизу