Исходник Бишоп Аура(кристалл аура) expensive 2.0

Начинающий
Статус
Оффлайн
Регистрация
10 Июл 2024
Сообщения
131
Реакции[?]
0
Поинты[?]
0

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

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

Спасибо!

памагал leva_pro
Код:
@FunctionAnnotation(
        name = "CrystalAura",
        type = Type.Combat
)
public class CrystalAura extends Function {

    public final MultiBoxSetting options = new MultiBoxSetting("Настройка",
            new BooleanOption("Не взрывать себя", true),
            new BooleanOption("Коррекция движения", false),
            new BooleanOption("Ставить кристаллы", true),
            new BooleanOption("Ротация", true),
            new BooleanOption("Визуализация", true)
    );

    private final ModeSetting distanceMode = new ModeSetting("Тип радиуса", "Vanilla", "Vanilla", "Custom");
    private final SliderSetting customDistance = new SliderSetting("Радиус", 5, 2.5f, 6, 0.05f).setVisible(() -> distanceMode.is("Custom"));
    private final SliderSetting customUp = new SliderSetting("Вверх", 2, 1, 6, 0.05f);
    private final SliderSetting customDown = new SliderSetting("Вниз", 2, 1, 6, 0.05f);
    private final SliderSetting breakDelay = new SliderSetting("Задержка (мс)", 100, 0, 500, 1);

    public CrystalAura() {
        addSettings(distanceMode,options, customDistance, customUp, customDown, breakDelay);
    }

    private Entity crystalTarget = null;
    public Vector2f rotate = new Vector2f(0, 0);
    private Vector3d obsidianVec = new Vector3d(0,0,0);
    private BlockPos closestObsidian = null;
    private Entity closestCrystal;
    private List<BlockPos> obsidianPositions = new ArrayList<>();

    private boolean crystalAttack = false;



    private final TimerUtil timerHelper = new TimerUtil();
    double distance() {
        return distanceMode.is("Vanilla") ? mc.playerController.getBlockReachDistance() : customDistance.getValue().floatValue();
    }
    public boolean check() {
        return (crystalTarget != null && closestObsidian != null) && rotate != null && options.get("Коррекция движения") && (options.get("Ротация"));
    }

    @Override
    public void onDisable() {
        reset();

        super.onDisable();
    }
    @Override
    public void onEvent(Event event) {
        if (event instanceof EventRender e) {
            if (options.get("Визуализация")) {
                if (obsidianVec != null) {
                    RenderUtil.Render3D.drawBlockBox(new BlockPos(obsidianVec.getX(), obsidianVec.getY(), obsidianVec.getZ()), ColorUtil.getColorStyle(360));
                }
            }
        }
        if (event instanceof EventInput e) {
            if (check()) {
                MoveUtil.fixMovement(e, rotate.x);
            }
        }
        if (event instanceof EventUpdate e) {
            findAndAttackCrystal();
            findAndClickObsidian();
        }
        if (event instanceof EventMotion e) {
            if (obsidianVec != null && crystalTarget == null && options.get("Ротация")) {
                rotate = MathUtil.rotationToVec(obsidianVec);
                applyRotation(e, rotate);
            } else if (closestCrystal != null && options.get("Ротация")) {
                rotate = MathUtil.rotationToEntity(closestCrystal);
                applyRotation(e, rotate);
            }
        }
        if (event instanceof EventUpdate e) {
            findAndAttackCrystal();
            findAndClickObsidian();
        }
    }
    private void applyRotation(EventMotion e, Vector2f rotate) {
        e.setYaw(rotate.x);
        e.setPitch(rotate.y);
        mc.player.renderYawOffset = rotate.x;
        mc.player.rotationYawHead = rotate.x;
        mc.player.rotationPitchHead = rotate.y;

        if (options.get("Коррекция движения")) {
            mc.player.rotationYawHead = rotate.x;
        }
    }
    private void findAndAttackCrystal() {
        closestCrystal = null;
        double closestDistanceToTarget = Double.MAX_VALUE;
        double maxDistanceToCrystal = distance();

        if (!options.get("Ставить кристаллы")) {
            crystalAttack = true;
        }

        for (Entity entity : mc.world.getAllEntities()) {
            if (entity instanceof EnderCrystalEntity enderCrystal) {
                double distanceToCrystal = mc.player.getDistance(enderCrystal);
                if (distanceToCrystal > maxDistanceToCrystal) {
                    continue;
                }

                if (mc.player.getPosY() >= enderCrystal.getPosY() && options.get("Не взрывать себя")) {
                    continue;
                }

                if (distanceToCrystal < closestDistanceToTarget) {
                    closestDistanceToTarget = distanceToCrystal;
                    closestCrystal = enderCrystal;
                }
            }
        }

        if (closestCrystal != null && crystalAttack) {
            crystalTarget = closestCrystal;
            if (timerHelper.hasTimeElapsed((long) breakDelay.getValue().floatValue())) {
                mc.playerController.attackEntity(mc.player, closestCrystal);
                mc.player.connection.sendPacket(new CAnimateHandPacket(Hand.MAIN_HAND));
                crystalTarget = null;
                timerHelper.reset();
            }
        } else {
            reset();
        }
    }


    private void findAndClickObsidian() {
        int crystal = InventoryUtil.getItem(Items.END_CRYSTAL,true);
        if (crystal == -1 && !options.get("Ставить кристаллы")) return;

        double closestDistanceToTarget = Double.MAX_VALUE;
        double maxDistanceToObsidian = distance() * 2;
        closestObsidian = null;
        obsidianPositions.clear();
        crystalAttack = false;
        for (Entity entity : mc.world.getAllEntities()) {
            if (entity == mc.player  ) {
                continue;
            }

            for (int x = (int) -distance(); x <= distance(); x++) {
                for (int z = (int) -distance(); z <= distance(); z++) {
                    for (int y = (int) -customDown.getValue().floatValue(); y <= customUp.getValue().floatValue(); y++) {
                        BlockPos pos = new BlockPos(entity.getPosX() + x, entity.getPosY() - 0.5f + y, entity.getPosZ() + z);
                        if (mc.world.getBlockState(pos).getBlock() == Blocks.OBSIDIAN) {
                            Block blockAbove = mc.world.getBlockState(pos.up()).getBlock();
                            if (!(blockAbove instanceof AirBlock)) {
                                continue;
                            }

                            if (pos.getY() < mc.player.getPosY() && options.get("Не взрывать себя") && !mc.player.isCreative() && !entity.isAlive()) {
                                continue;
                            }

                            if (entity.getPosition().equals(pos.up()) && mc.player.getPosition().equals(pos.up())) {
                                continue;
                            }

                            if (entity.getPosY() - 0.5f < pos.getY()) {
                                continue;
                            }

                            double distanceToPlayer = mc.player.getDistanceSq(Vector3d.copyCentered(pos));
                            if (distanceToPlayer > maxDistanceToObsidian) {
                                continue;
                            }

                            double distanceToTarget = entity.getDistanceSq(Vector3d.copyCentered(pos));
                            if (distanceToTarget < closestDistanceToTarget) {
                                closestDistanceToTarget = distanceToTarget;
                                closestObsidian = pos;
                                obsidianPositions.clear();
                                obsidianPositions.add(closestObsidian);

                                if (entity.getPosY() + 0.5f > pos.getY() && Managment.FUNCTION_MANAGER.auraFunction.isState() && Managment.FUNCTION_MANAGER.auraFunction.target != null) {
                                    //   Evaware.getInstance().getModuleManager().getHitAura().canWork = false;
                                    //    Evaware.getInstance().getModuleManager().getHitAura().setTarget(null);
                                }
                            }
                        }
                    }
                }
            }
        }

        if (!obsidianPositions.isEmpty()) {
            int last = mc.player.inventory.currentItem;
            mc.player.inventory.currentItem = crystal;
            obsidianVec = new Vector3d(closestObsidian.getX() + 0.5, closestObsidian.getY() + 0.5, closestObsidian.getZ() + 0.5);
            BlockRayTraceResult rayTraceResult = new BlockRayTraceResult(obsidianVec, Direction.UP, closestObsidian, false);
            mc.playerController.processRightClickBlock(mc.player, mc.world, Hand.MAIN_HAND, rayTraceResult);
            mc.player.connection.sendPacket(new CAnimateHandPacket(Hand.MAIN_HAND));
            crystalAttack = true;
            mc.player.inventory.currentItem = last;
        }
    }
    public void reset() {
        closestObsidian = null;
        closestCrystal = null;
        crystalTarget = null;
        obsidianVec = null;
        obsidianPositions.clear();
        crystalAttack = false;
        if (options.get("Коррекция движения")) {
            mc.player.rotationYawHead = Integer.MIN_VALUE;
        }
    }
}
хз кристалл аура ева вара на 2.0
 
Начинающий
Статус
Оффлайн
Регистрация
29 Май 2024
Сообщения
469
Реакции[?]
2
Поинты[?]
1K
Начинающий
Статус
Оффлайн
Регистрация
10 Июл 2024
Сообщения
131
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
4 Янв 2023
Сообщения
256
Реакции[?]
11
Поинты[?]
10K
если чтобы это было взято с eva ware но пофикшены все баги и перенесено на 2.0
 
Сверху Снизу