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

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

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

Часть функционала AntiBot RW EXP 3.1

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
17 Апр 2025
Сообщения
48
Реакции
0
Выберите загрузчик игры
  1. Прочие моды
Заметил что нету никто не сливал антибот

если че щиткод на самом деле, не всегда работает, но более лучше

Короче суть работы, киллаура не таргетит если у бота 0 хп, (я уже потом заметил что у бота не всегда 0)
антибот.джава детектит если рядом что то с не нормальной скоростью летает, и если есть коррекция движения, и движется ни как игрок
так же если нету в табе, если странный или нестабильный пинг у бота
чутка гпт и воркает лучше чем дефолтный из экспы

killaura.java:
Expand Collapse Copy
this.addSettings(new Setting[]{..., antiBot, ...});

if (antiBot.get() && (entity.getHealth() <= 0 || AntiBot.isBot(entity))) return false;



AntiBot.java:
Expand Collapse Copy
public class AntiBot extends Function {

    private final Set<UUID> susPlayers = new ConcurrentSet<>();
    private static final Map<UUID, Boolean> botsMap = new HashMap<>();
    private final Map<UUID, Vector3d> lastPositions = new HashMap<>();
    private final Map<UUID, Long> lastMoveTimes = new HashMap<>();

    @Subscribe
    private void onUpdate(EventUpdate e) {
        Minecraft mc = Minecraft.getInstance();
        for (UUID susPlayer : susPlayers) {
            PlayerEntity entity = mc.world.getPlayerByUuid(susPlayer);
            if (entity != null) {
                boolean isBot = checkBot(entity);
                botsMap.put(susPlayer, isBot);
                susPlayers.remove(susPlayer);


                Vector3d currentPos = new Vector3d(entity.getPosX(), entity.getPosY(), entity.getPosZ());
                Long lastTime = lastMoveTimes.get(susPlayer);
                Vector3d lastPos = lastPositions.get(susPlayer);
                if (lastTime != null && lastPos != null) {
                    long timeDiff = System.currentTimeMillis() - lastTime;
                    if (timeDiff > 0) {
                        double distance = currentPos.distanceTo(lastPos);
                        double speed = distance / (timeDiff / 1000.0);
                        if (speed > 20.0) { //
                            botsMap.put(susPlayer, true);
                        }
                    }
                }
                lastPositions.put(susPlayer, currentPos);
                lastMoveTimes.put(susPlayer, System.currentTimeMillis());
            }
        }


        if (mc.player.ticksExisted % 100 == 0) {
            botsMap.keySet().removeIf(uuid -> mc.world.getPlayerByUuid(uuid) == null);
            lastPositions.keySet().removeIf(uuid -> mc.world.getPlayerByUuid(uuid) == null);
            lastMoveTimes.keySet().removeIf(uuid -> mc.world.getPlayerByUuid(uuid) == null);
        }
    }

    private boolean checkBot(PlayerEntity entity) {

        if (entity.getHealth() <= 0) {
            return true;
        }


        int armorCount = 0;
        for (ItemStack armor : entity.getArmorInventoryList()) {
            if (!armor.isEmpty()) {
                armorCount++;
            }
        }
        boolean isFullArmor = armorCount == 4;


        int profileCount = 0;
        for (NetworkPlayerInfo networkPlayerInfo : mc.player.connection.getPlayerInfoMap()) {
            GameProfile profile = networkPlayerInfo.getGameProfile();
            if (entity.getGameProfile().getName().equals(profile.getName())) {
                profileCount++;
            }
        }


        boolean invalidUUID = !entity.getUniqueID().equals(PlayerEntity.getOfflineUUID(entity.getGameProfile().getName()));
        boolean shortExistence = entity.ticksExisted < 20;
        boolean suspiciousPing = false;
        for (NetworkPlayerInfo info : mc.player.connection.getPlayerInfoMap()) {
            if (info.getGameProfile().getId().equals(entity.getUniqueID()) && info.getResponseTime() > 1000) {
                suspiciousPing = true;
            }
        }

        return isFullArmor || invalidUUID || shortExistence || suspiciousPing;
    }

    @Subscribe
    private void onPacket(EventPacket e) {
        if (e.getPacket() instanceof SPlayerListItemPacket p) {
            if (p.getAction() == SPlayerListItemPacket.Action.ADD_PLAYER) {
                for (SPlayerListItemPacket.AddPlayerData entry : p.getEntries()) {
                    GameProfile profile = entry.getProfile();
                    UUID uuid = profile.getId();
                    if (botsMap.containsKey(uuid) || susPlayers.contains(uuid)) {
                        continue;
                    }
                    boolean isInvalid = profile.getProperties().isEmpty() || entry.getPing() > 1000 || entry.getPing() < 0;
                    if (isInvalid) {
                        susPlayers.add(uuid);
                    }
                }
            } else if (p.getAction() == SPlayerListItemPacket.Action.REMOVE_PLAYER) {
                for (SPlayerListItemPacket.AddPlayerData entry : p.getEntries()) {
                    UUID uuid = entry.getProfile().getId();
                    botsMap.remove(uuid);
                    susPlayers.remove(uuid);
                    lastPositions.remove(uuid);
                    lastMoveTimes.remove(uuid);
                }
            }
        }
    }

    public static boolean isBot(Entity entity) {
        if (!(entity instanceof PlayerEntity)) {
            return false;
        }
        return botsMap.getOrDefault(entity.getUniqueID(), false);
    }

    public static boolean isBotU(Entity entity) {
        if (!(entity instanceof PlayerEntity)) {
            return false;
        }
        if (!entity.getUniqueID().equals(PlayerEntity.getOfflineUUID(entity.getName().getString()))) {
            return entity.isInvisible();
        }
        return false;
    }

    @Override
    public void onDisable() {
        super.onDisable();
        botsMap.clear();
        susPlayers.clear();
        lastPositions.clear();
        lastMoveTimes.clear();
    }

    @Override
    public String getDescription() {
        return "Обнаруживает и игнорирует античит-ботов в PvP";
    }
}
 
нахуя столько кода?
if (!entity.getUniqueID().equals(PlayerEntity.getOfflineUUID(p.getGameProfile().getName()))) {
return false;
}

вот весь обход
 
да нахуй так морочется можно ещё проще
if (!entity.pisaetID().botiditenahuizaebali.mne.cheat.nado.prodavat)
Согласен нахуй так морочится можно еще проще. Играйте без килки и анти бота и вам никакой код не понадобится
 
а куда писать код killaura?
 
хз брат, мб в aura.java
 
Назад
Сверху Снизу