• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Обход античита AutoLoot 3.1 exp

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
10 Янв 2025
Сообщения
48
Реакции
0
Выберите загрузчик игры
  1. Прочие моды
взял за основу - (тык)
сделал под експу 3.1, чот добавил(четсно уже не помню) и вот что получилось
Java:
Expand Collapse Copy
@FunctionRegister(name = "AutoLoot", type = Category.Player)
public class TPLoot extends Function {

    private final ModeSetting serverMode = new ModeSetting("Режим сервера", "ST Teleport", "ST Teleport", "Holyworld ship");
    private final SliderSetting distance = new SliderSetting("Дистанция поиска", 15.0f, 8.0f, 20.0f, 1.0f);
    private final SliderSetting accuracy = new SliderSetting("Аккуратность", 35.0f, 32.0f, 40.0f, 1.0f);
    private final SliderSetting teleportStep = new SliderSetting("Скорость", 5.0f, 1.0f, 10.0f, 0.5f);
    private final SliderSetting teleportDelay = new SliderSetting("Задержка", 100.0f, 0.0f, 500.0f, 10.0f);
    private final ModeSetting afterLootCommand = new ModeSetting("После сбора", "Нет", "/hub", "/spawn");
    private final ModeSetting lootItems = new ModeSetting("Предметы", "Все", "Только броня/оружие", "Только ресурсы", "Только особые", "Пользовательские");

    private final BooleanSetting lootTotems = new BooleanSetting("Тотемы", true);
    private final BooleanSetting lootNetheriteArmor = new BooleanSetting("Незеритовая броня", true);
    private final BooleanSetting lootNetheriteTools = new BooleanSetting("Незеритовые инструменты", true);
    private final BooleanSetting lootGoldenApples = new BooleanSetting("Золотые яблоки", true);
    private final BooleanSetting lootPlayerHeads = new BooleanSetting("Головы игроков", true);
    private final BooleanSetting lootShulkerBoxes = new BooleanSetting("Шалкеровые ящики", true);
    private final BooleanSetting lootNetheriteIngots = new BooleanSetting("Незеритовые слитки", true);
    private final BooleanSetting lootPotions = new BooleanSetting("Зелья", true);
    private final BooleanSetting lootSpookyItems = new BooleanSetting("Особые предметы", true);

    private List<UUID> collectedItems = new ArrayList<>();
    private boolean commandSent = false;
    private int waitTicks = 0;
    private boolean itemsCollected = false;
    private int activationDelay = 5;
    private Vector3d teleportTarget = null;
    private long lastTeleportTime = 0L;
    private boolean isTeleporting = false;
    private boolean allItemsCollected = false;

    public TPLoot() {
        addSettings(serverMode, distance, accuracy, teleportStep, teleportDelay, afterLootCommand, lootItems,
                lootTotems, lootNetheriteArmor, lootNetheriteTools, lootGoldenApples, lootPlayerHeads,
                lootShulkerBoxes, lootNetheriteIngots, lootPotions, lootSpookyItems);

        // Скрываем ненужные настройки в зависимости от режима
        distance.setVisible(() -> serverMode.is("ST Teleport"));
        accuracy.setVisible(() -> serverMode.is("ST Teleport"));
        teleportStep.setVisible(() -> serverMode.is("ST Teleport"));
        teleportDelay.setVisible(() -> serverMode.is("ST Teleport"));
        lootItems.setVisible(() -> !serverMode.is("Holyworld ship"));
        lootTotems.setVisible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
        lootNetheriteArmor.setVisible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
        lootNetheriteTools.setVisible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
        lootGoldenApples.setVisible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
        lootPlayerHeads.setVisible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
        lootShulkerBoxes.setVisible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
        lootNetheriteIngots.setVisible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
        lootPotions.setVisible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
        lootSpookyItems.setVisible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
    }

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

        if (activationDelay > 0) {
            activationDelay--;
            return;
        }

        handleUniversalLoot();

        checkAndSendCommand();
    }

    private void handleUniversalLoot() {
        if (serverMode.is("Holyworld ship")) {
            handleHolyworldShip();
        } else {
            handleUniversalTeleport();
        }
    }

    private void handleUniversalTeleport() {
        if (isTeleporting && teleportTarget != null) {
            performStepTeleport();
            return;
        }

        List<ItemEntity> nearbyItems = mc.world.getEntitiesWithinAABB(ItemEntity.class,
                mc.player.getBoundingBox().grow(distance.get()));

        ItemEntity closestItem = null;
        double closestDistance = Double.MAX_VALUE;
        boolean foundNewItems = false;

        for (ItemEntity itemEntity : nearbyItems) {
            if (itemEntity.ticksExisted >= accuracy.get() &&
                    isValuableItem(itemEntity.getItem()) &&
                    !collectedItems.contains(itemEntity.getUniqueID())) {

                foundNewItems = true;
                double distanceToItem = mc.player.getDistanceSq(itemEntity);
                if (distanceToItem < closestDistance) {
                    closestDistance = distanceToItem;
                    closestItem = itemEntity;
                }
            }
        }

        if (closestItem != null) {
            teleportTarget = new Vector3d(closestItem.getPosX(), closestItem.getPosY(), closestItem.getPosZ());
            collectedItems.add(closestItem.getUniqueID());
            isTeleporting = true;
            lastTeleportTime = System.currentTimeMillis();
        } else if (!foundNewItems && !collectedItems.isEmpty()) {
            allItemsCollected = true;
        }
    }

    private void checkAndSendCommand() {
        if (isTeleporting) return;

        if (commandSent || afterLootCommand.is("Нет")) return;

        List<ItemEntity> nearbyItems = mc.world.getEntitiesWithinAABB(ItemEntity.class,
                mc.player.getBoundingBox().grow(distance.get()));

        boolean foundValuableItems = false;
        for (ItemEntity itemEntity : nearbyItems) {
            if (isValuableItem(itemEntity.getItem()) && !collectedItems.contains(itemEntity.getUniqueID())) {
                foundValuableItems = true;
                break;
            }
        }

        if (!foundValuableItems && !collectedItems.isEmpty()) {
            itemsCollected = true;
        }

        if (itemsCollected) {
            waitTicks++;

            if (waitTicks >= 20) {
                String command = afterLootCommand.get();
                if (command.equals("/hub") || command.equals("/spawn")) {
                    if (isCommandSupported(command)) {
                        mc.player.sendChatMessage(command);
                       print("AutoLoot >> Ресурсы собраны. Отправляюсь " + command);mc.player.getUniqueID();
                    } else {
                        print("AutoLoot >> Команда не поддерживается на этом сервере"); mc.player.getUniqueID();
                    }

                    collectedItems.clear();
                    commandSent = false;
                    itemsCollected = false;
                    waitTicks = 0;

                    print("AutoLoot >> Ожидаю новые предметы..."); mc.player.getUniqueID();
                }
            }
        }
    }

    private boolean isCommandSupported(String command) {
        if (mc.isSingleplayer() || mc.getCurrentServerData() == null) {
            return false;
        }
        return true;
    }

    private void handleHolyworldShip() {
        AxisAlignedBB boundingBox = new AxisAlignedBB(
                mc.player.getPosX() - 3.0, mc.player.getPosY() - 3.0, mc.player.getPosZ() - 3.0,
                mc.player.getPosX() + 3.0, mc.player.getPosY() + 3.0, mc.player.getPosZ() + 3.0
        );

        for (Entity entity : mc.world.getEntitiesWithinAABB(VillagerEntity.class, boundingBox)) {
            if (entity instanceof VillagerEntity) {
                VillagerEntity villager = (VillagerEntity) entity;
                if (villager.getHeldItemMainhand().getItem() == Items.TRIPWIRE_HOOK ||
                        villager.getHeldItemOffhand().getItem() == Items.TRIPWIRE_HOOK) {
                    mc.playerController.interactWithEntity(mc.player, villager, Hand.MAIN_HAND);
                    return;
                }
            }
        }
    }

    private void performStepTeleport() {
        if (teleportTarget == null || !isTeleporting) return;

        long currentTime = System.currentTimeMillis();
        long delay = (long) (float) teleportDelay.get();
        if (currentTime - lastTeleportTime < delay) {
            return;
        }

        Vector3d currentPos = mc.player.getPositionVec();
        Vector3d direction = teleportTarget.subtract(currentPos);
        double distToTarget = direction.length();

        if (distToTarget < 1.0) {
            mc.player.setPosition(teleportTarget.x, teleportTarget.y, teleportTarget.z);
            teleportTarget = null;
            isTeleporting = false;

            pickUpNearbyItems();
            return;
        }

        double stepSize = Math.min(teleportStep.get(), distToTarget);
        Vector3d normalizedDirection = direction.normalize();
        Vector3d nextPos = currentPos.add(normalizedDirection.scale(stepSize));

        mc.player.setPosition(nextPos.x, nextPos.y, nextPos.z);
        lastTeleportTime = currentTime;
    }

    private void pickUpNearbyItems() {
        List<ItemEntity> nearbyItems = mc.world.getEntitiesWithinAABB(ItemEntity.class,
                mc.player.getBoundingBox().grow(2.0));

        for (ItemEntity item : nearbyItems) {
            if (isValuableItem(item.getItem()) && !collectedItems.contains(item.getUniqueID())) {
                collectedItems.add(item.getUniqueID());
            }
        }
    }

    private boolean isValuableItem(ItemStack itemStack) {
        Item item = itemStack.getItem();
        String lootMode = lootItems.get();

        if (lootMode.equals("Все")) {
            return true;
        } else if (lootMode.equals("Только броня/оружие")) {
            return item == Items.TOTEM_OF_UNDYING ||
                    item == Items.NETHERITE_HELMET || item == Items.NETHERITE_CHESTPLATE ||
                    item == Items.NETHERITE_LEGGINGS || item == Items.NETHERITE_BOOTS ||
                    item == Items.NETHERITE_SWORD || item == Items.NETHERITE_PICKAXE;
        } else if (lootMode.equals("Только ресурсы")) {
            return item == Items.NETHERITE_INGOT ||
                    item == Items.GOLDEN_APPLE || item == Items.ENCHANTED_GOLDEN_APPLE ||
                    item instanceof SplashPotionItem || item instanceof PotionItem;
        } else if (lootMode.equals("Только особые")) {
            return item == Items.PLAYER_HEAD ||
                    item == Items.SHULKER_BOX ||
                    (itemStack.hasTag() && itemStack.getTag().contains("spooky-item"));
        } else if (lootMode.equals("Пользовательские")) {
            if (item == Items.TOTEM_OF_UNDYING && lootTotems.get()) return true;
            if ((item == Items.NETHERITE_HELMET || item == Items.NETHERITE_CHESTPLATE ||
                    item == Items.NETHERITE_LEGGINGS || item == Items.NETHERITE_BOOTS) && lootNetheriteArmor.get()) return true;
            if ((item == Items.NETHERITE_SWORD || item == Items.NETHERITE_PICKAXE) && lootNetheriteTools.get()) return true;
            if ((item == Items.GOLDEN_APPLE || item == Items.ENCHANTED_GOLDEN_APPLE) && lootGoldenApples.get()) return true;
            if (item == Items.PLAYER_HEAD && lootPlayerHeads.get()) return true;
            if (item == Items.SHULKER_BOX && lootShulkerBoxes.get()) return true;
            if (item == Items.NETHERITE_INGOT && lootNetheriteIngots.get()) return true;
            if ((item instanceof SplashPotionItem || item instanceof PotionItem) && lootPotions.get()) return true;
            if ((itemStack.hasTag() && itemStack.getTag().contains("spooky-item")) && lootSpookyItems.get()) return true;
        }

        return false;
    }

    @Override
    public void onEnable() {
        collectedItems.clear();
        commandSent = false;
        waitTicks = 0;
        itemsCollected = false;
        teleportTarget = null;
        isTeleporting = false;
        lastTeleportTime = 0L;
        allItemsCollected = false;
        activationDelay = 5;

        print("AutoLoot >> Функция включена. Режим: " + serverMode.get()); mc.player.getUniqueID();
    }

    @Override
    public void onDisable() {
        collectedItems.clear();
        commandSent = false;
        waitTicks = 0;
        itemsCollected = false;
        teleportTarget = null;
        isTeleporting = false;
        lastTeleportTime = 0L;
        allItemsCollected = false;

        print("AutoLoot >> Функция выключена"); mc.player.getUniqueID();
    }
}
доделайте и будет пушка
 
одобрите пж
 
не твое ты с темы для екселента украл и се перенес
че рял?
1757419360506.png
 
Назад
Сверху Снизу