Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Expensive 4.0 | Killaura FIX

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
11 Дек 2022
Сообщения
10
Реакции
0
Фикс киллауры экспенсив 4.0, пишите если есть ошибки, я недавно начал кодить.

AuraModule:
Expand Collapse Copy
package ru.expensive.implement.features.modules.combat;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.experimental.FieldDefaults;
import lombok.experimental.NonFinal;
import net.minecraft.entity.LivingEntity;
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
import net.minecraft.util.math.Vec3d;
import ru.expensive.api.event.EventHandler;
import ru.expensive.api.feature.module.Module;
import ru.expensive.api.feature.module.ModuleCategory;
import ru.expensive.api.feature.module.setting.implement.*;
import ru.expensive.common.util.task.TaskPriority;
import ru.expensive.core.Expensive;
import ru.expensive.implement.events.player.PostRotationMovementInputEvent;
import ru.expensive.implement.events.player.TickEvent;
import ru.expensive.implement.features.commands.defaults.DebugCommand;
import ru.expensive.implement.features.modules.combat.killaura.attack.AttackHandler;
import ru.expensive.implement.features.modules.combat.killaura.attack.AttackPerpetrator;
import ru.expensive.implement.features.modules.combat.killaura.attack.ClickScheduler;
import ru.expensive.implement.features.modules.combat.killaura.attack.SprintManager;
import ru.expensive.implement.features.modules.combat.killaura.rotation.*;
import ru.expensive.implement.features.modules.combat.killaura.rotation.angle.*;
import ru.expensive.implement.features.modules.combat.killaura.target.TargetSelector;
import ru.expensive.implement.screens.menu.components.implement.window.implement.module.InfoWindow;

[USER=270918]@Getter[/USER]
@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true)
public class AuraModule extends Module {
    TargetSelector targetSelector = new TargetSelector();
    PointFinder pointFinder = new PointFinder();

    @NonFinal
    LivingEntity target = null;
    ValueSetting maxDistanceSetting = new ValueSetting("Макс. расстояние", "Устанавливает значение максимального расстояния поиска целей")
            .setValue(3.0F).range(1.0F, 6.0F);

    MultiSelectSetting targetTypeSetting = new MultiSelectSetting("Тип цели", "Фильтрует список целей по типу")
            .value("Игроки", "Мобы", "Животные", "Друзья");

    MultiSelectSetting attackSetting = new MultiSelectSetting("Настройка атаки", "Позволяет настроить атаку")
            .value("Только критические", "Проверка трассировки", "Динамический откат", "Разбить щит", "Отжать щит");

    SelectSetting correctionType = new SelectSetting("Тип коррекции", "Выбирает тип коррекции")
            .value("Свободный", "Фокусированный");

    GroupSetting correctionGroupSetting = new GroupSetting("Коррекция движения", "Предотвращает обнаружение античитами, чувствительными к движению.")
            .settings(correctionType);

    SelectSetting sprintMode = new SelectSetting("Режим бега", "Позволяет выбрать режим бега")
            .value("Обход", "По умолчанию", "Нет");

    SelectSetting aimMode = new SelectSetting("Время прицеливания", "Позволяет выбрать время вращения")
            .value("Нормальный", "Резкий", "Один тик");

    AttackPerpetrator attackPerpetrator = new AttackPerpetrator();

    public AuraModule() {
        super("Аура", ModuleCategory.COMBAT);
        setup(maxDistanceSetting, targetTypeSetting, attackSetting, correctionGroupSetting, sprintMode, aimMode);
    }

    @Override
    public void deactivate() {
        targetSelector.releaseTarget();
        target = null;
        super.deactivate();
    }

    @EventHandler
    public void onPostRotationMovementInput(PostRotationMovementInputEvent postRotationMovementInputEvent) {
        target = updateTarget();
        if (target != null) {
            RotationController rotationController = RotationController.INSTANCE;
            Vec3d attackVector = pointFinder.computeVector(target, maxDistanceSetting.getValue(), rotationController.getRotation(),
                    getSmoothMode().randomValue());
            Angle angle = AngleUtil.fromVec3d(attackVector.subtract(mc.player.getEyePos()));
            rotateToTarget(target, new Angle.VecRotation(angle, attackVector), rotationController);
        }
    }

    @EventHandler
    public void onTick(TickEvent tickEvent) {
        if (target != null) {
            attackTarget(target, RotationController.INSTANCE.getCurrentAngle());
            TargetSelector.EntityFilter filter = new TargetSelector.EntityFilter(targetTypeSetting.getSelected());

            targetSelector.searchTargets(mc.world.getEntities(), maxDistanceSetting.getValue());
            targetSelector.validateTarget(filter::isValid);
        }
    }

    private LivingEntity updateTarget() {
        TargetSelector.EntityFilter filter = new TargetSelector.EntityFilter(targetTypeSetting.getSelected());

        targetSelector.searchTargets(mc.world.getEntities(), maxDistanceSetting.getValue());
        targetSelector.validateTarget(filter::isValid);

        return targetSelector.getCurrentTarget();
    }

    private void attackTarget(LivingEntity target, Angle angle) {
        AttackPerpetrator attackPerpetrator = Expensive.getInstance().getAttackPerpetrator();

        AttackPerpetrator.AttackPerpetratorConfigurable configurable = new AttackPerpetrator.AttackPerpetratorConfigurable(
                target,
                RotationController.INSTANCE.getServerAngle(),
                maxDistanceSetting.getValue(),
                attackSetting.getSelected(),
                getSprintMode()
        );
        if (angle != null && aimMode.isSelected("Один тик")) {
            mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.Full(mc.player.getX(), mc.player.getY(), mc.player.getZ(),
                    angle.getYaw(), angle.getPitch(), mc.player.isOnGround()));
        }

        attackPerpetrator.performAttack(configurable);

        if (angle != null && aimMode.isSelected("Один тик")) {
            mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.Full(mc.player.getX(), mc.player.getY(), mc.player.getZ(),
                    mc.player.getYaw(), mc.player.getPitch(), mc.player.isOnGround()));
        }
    }

    private void rotateToTarget(LivingEntity target, Angle.VecRotation rotation, RotationController rotationController) {
        RotationConfig configurable = new RotationConfig(getSmoothMode(),
                DebugCommand.debug,
                correctionGroupSetting.isValue(),
                ((SelectSetting) correctionGroupSetting.getSubSetting("Тип коррекции")).isSelected("Свободный")
        );

        AttackHandler attackHandler = Expensive.getInstance().getAttackPerpetrator().getAttackHandler();
        ClickScheduler clickScheduler = attackHandler.getClickScheduler();

        if (aimMode.isSelected("Резкий") && clickScheduler.hasTicksElapsedSinceLastClick(2)) {
            return;
        }

        if (aimMode.isSelected("Один тик")) {
            return;
        }

        rotationController.rotateTo(rotation, target, configurable, TaskPriority.HIGH_IMPORTANCE_1, this);
    }

    public SprintManager.Mode getSprintMode() {
        switch (sprintMode.getSelected()) {
            case "Обход" -> {
                return SprintManager.Mode.BYPASS;
            }
            case "По умолчанию" -> {
                return SprintManager.Mode.DEFAULT;
            }
        }
        return SprintManager.Mode.NONE;
    }

    public AngleSmoothMode getSmoothMode() {
        if (!aimMode.isSelected("Резкий")) {
            switch (InfoWindow.selectSetting.getSelected()) {
                case "FunTime" -> {
                    return new FunTimeSmoothMode();
                }
                case "ReallyWorld" -> {
                    return new ReallyWorldSmoothMode();
                }
                case "HolyWorld Classic" -> {
                    return new HolyWorldClassicSmoothMode();
                }
                case "HolyWorld Lite" -> {
                    return new HolyWorldLiteSmoothMode();
                }
            }
        } else {
            return new LinearSmoothMode();
        }
        return new ReallyWorldSmoothMode();
    }
}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
топ бро:seemsgood:
 
Темы начили одобрять
 
а смысл если билд нельзя сделать
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Про какой сайт?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пиздец, Пастеры теперь такие?
сайт кишит пастерами, я сам не селф кодер но изменить код я могу, а по сообщениям этого типа думаю он способен только изменить цвет фона и то скорее всего нет :roflanBuldiga:
 
сайт кишит пастерами, я сам не селф кодер но изменить код я могу, а по сообщениям этого типа думаю он способен только изменить цвет фона и то скорее всего нет :roflanBuldiga:
окей кинь скрин если у тебя забилдилось модом и запустилось в лаунчере сын умника
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ну так ты сам написал что знаешь код
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Фикс киллауры экспенсив 4.0, пишите если есть ошибки, я недавно начал кодить.

AuraModule:
Expand Collapse Copy
package ru.expensive.implement.features.modules.combat;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.experimental.FieldDefaults;
import lombok.experimental.NonFinal;
import net.minecraft.entity.LivingEntity;
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
import net.minecraft.util.math.Vec3d;
import ru.expensive.api.event.EventHandler;
import ru.expensive.api.feature.module.Module;
import ru.expensive.api.feature.module.ModuleCategory;
import ru.expensive.api.feature.module.setting.implement.*;
import ru.expensive.common.util.task.TaskPriority;
import ru.expensive.core.Expensive;
import ru.expensive.implement.events.player.PostRotationMovementInputEvent;
import ru.expensive.implement.events.player.TickEvent;
import ru.expensive.implement.features.commands.defaults.DebugCommand;
import ru.expensive.implement.features.modules.combat.killaura.attack.AttackHandler;
import ru.expensive.implement.features.modules.combat.killaura.attack.AttackPerpetrator;
import ru.expensive.implement.features.modules.combat.killaura.attack.ClickScheduler;
import ru.expensive.implement.features.modules.combat.killaura.attack.SprintManager;
import ru.expensive.implement.features.modules.combat.killaura.rotation.*;
import ru.expensive.implement.features.modules.combat.killaura.rotation.angle.*;
import ru.expensive.implement.features.modules.combat.killaura.target.TargetSelector;
import ru.expensive.implement.screens.menu.components.implement.window.implement.module.InfoWindow;

[USER=270918]@Getter[/USER]
@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true)
public class AuraModule extends Module {
    TargetSelector targetSelector = new TargetSelector();
    PointFinder pointFinder = new PointFinder();

    @NonFinal
    LivingEntity target = null;
    ValueSetting maxDistanceSetting = new ValueSetting("Макс. расстояние", "Устанавливает значение максимального расстояния поиска целей")
            .setValue(3.0F).range(1.0F, 6.0F);

    MultiSelectSetting targetTypeSetting = new MultiSelectSetting("Тип цели", "Фильтрует список целей по типу")
            .value("Игроки", "Мобы", "Животные", "Друзья");

    MultiSelectSetting attackSetting = new MultiSelectSetting("Настройка атаки", "Позволяет настроить атаку")
            .value("Только критические", "Проверка трассировки", "Динамический откат", "Разбить щит", "Отжать щит");

    SelectSetting correctionType = new SelectSetting("Тип коррекции", "Выбирает тип коррекции")
            .value("Свободный", "Фокусированный");

    GroupSetting correctionGroupSetting = new GroupSetting("Коррекция движения", "Предотвращает обнаружение античитами, чувствительными к движению.")
            .settings(correctionType);

    SelectSetting sprintMode = new SelectSetting("Режим бега", "Позволяет выбрать режим бега")
            .value("Обход", "По умолчанию", "Нет");

    SelectSetting aimMode = new SelectSetting("Время прицеливания", "Позволяет выбрать время вращения")
            .value("Нормальный", "Резкий", "Один тик");

    AttackPerpetrator attackPerpetrator = new AttackPerpetrator();

    public AuraModule() {
        super("Аура", ModuleCategory.COMBAT);
        setup(maxDistanceSetting, targetTypeSetting, attackSetting, correctionGroupSetting, sprintMode, aimMode);
    }

    @Override
    public void deactivate() {
        targetSelector.releaseTarget();
        target = null;
        super.deactivate();
    }

    @EventHandler
    public void onPostRotationMovementInput(PostRotationMovementInputEvent postRotationMovementInputEvent) {
        target = updateTarget();
        if (target != null) {
            RotationController rotationController = RotationController.INSTANCE;
            Vec3d attackVector = pointFinder.computeVector(target, maxDistanceSetting.getValue(), rotationController.getRotation(),
                    getSmoothMode().randomValue());
            Angle angle = AngleUtil.fromVec3d(attackVector.subtract(mc.player.getEyePos()));
            rotateToTarget(target, new Angle.VecRotation(angle, attackVector), rotationController);
        }
    }

    @EventHandler
    public void onTick(TickEvent tickEvent) {
        if (target != null) {
            attackTarget(target, RotationController.INSTANCE.getCurrentAngle());
            TargetSelector.EntityFilter filter = new TargetSelector.EntityFilter(targetTypeSetting.getSelected());

            targetSelector.searchTargets(mc.world.getEntities(), maxDistanceSetting.getValue());
            targetSelector.validateTarget(filter::isValid);
        }
    }

    private LivingEntity updateTarget() {
        TargetSelector.EntityFilter filter = new TargetSelector.EntityFilter(targetTypeSetting.getSelected());

        targetSelector.searchTargets(mc.world.getEntities(), maxDistanceSetting.getValue());
        targetSelector.validateTarget(filter::isValid);

        return targetSelector.getCurrentTarget();
    }

    private void attackTarget(LivingEntity target, Angle angle) {
        AttackPerpetrator attackPerpetrator = Expensive.getInstance().getAttackPerpetrator();

        AttackPerpetrator.AttackPerpetratorConfigurable configurable = new AttackPerpetrator.AttackPerpetratorConfigurable(
                target,
                RotationController.INSTANCE.getServerAngle(),
                maxDistanceSetting.getValue(),
                attackSetting.getSelected(),
                getSprintMode()
        );
        if (angle != null && aimMode.isSelected("Один тик")) {
            mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.Full(mc.player.getX(), mc.player.getY(), mc.player.getZ(),
                    angle.getYaw(), angle.getPitch(), mc.player.isOnGround()));
        }

        attackPerpetrator.performAttack(configurable);

        if (angle != null && aimMode.isSelected("Один тик")) {
            mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.Full(mc.player.getX(), mc.player.getY(), mc.player.getZ(),
                    mc.player.getYaw(), mc.player.getPitch(), mc.player.isOnGround()));
        }
    }

    private void rotateToTarget(LivingEntity target, Angle.VecRotation rotation, RotationController rotationController) {
        RotationConfig configurable = new RotationConfig(getSmoothMode(),
                DebugCommand.debug,
                correctionGroupSetting.isValue(),
                ((SelectSetting) correctionGroupSetting.getSubSetting("Тип коррекции")).isSelected("Свободный")
        );

        AttackHandler attackHandler = Expensive.getInstance().getAttackPerpetrator().getAttackHandler();
        ClickScheduler clickScheduler = attackHandler.getClickScheduler();

        if (aimMode.isSelected("Резкий") && clickScheduler.hasTicksElapsedSinceLastClick(2)) {
            return;
        }

        if (aimMode.isSelected("Один тик")) {
            return;
        }

        rotationController.rotateTo(rotation, target, configurable, TaskPriority.HIGH_IMPORTANCE_1, this);
    }

    public SprintManager.Mode getSprintMode() {
        switch (sprintMode.getSelected()) {
            case "Обход" -> {
                return SprintManager.Mode.BYPASS;
            }
            case "По умолчанию" -> {
                return SprintManager.Mode.DEFAULT;
            }
        }
        return SprintManager.Mode.NONE;
    }

    public AngleSmoothMode getSmoothMode() {
        if (!aimMode.isSelected("Резкий")) {
            switch (InfoWindow.selectSetting.getSelected()) {
                case "FunTime" -> {
                    return new FunTimeSmoothMode();
                }
                case "ReallyWorld" -> {
                    return new ReallyWorldSmoothMode();
                }
                case "HolyWorld Classic" -> {
                    return new HolyWorldClassicSmoothMode();
                }
                case "HolyWorld Lite" -> {
                    return new HolyWorldLiteSmoothMode();
                }
            }
        } else {
            return new LinearSmoothMode();
        }
        return new ReallyWorldSmoothMode();
    }
}
зачем рус мне щяс что делать замену языков и что тут изменено
окей кинь скрин если у тебя забилдилось модом и запустилось в лаунчере сын умника
скачай fabric 1.20.1 + fabric api 1.20.1 + твой билд и все
 
прости пожалуйста его рил можно забилдить но почему то мне все говорили что нельзя еще прошу прощения
1721303531404.png

скажите пожайлуста а это с старого модуля переносить?
 
Последнее редактирование:
прости пожалуйста его рил можно забилдить но почему то мне все говорили что нельзя еще прошу прощения
Посмотреть вложение 281445
скажите пожайлуста а это с старого модуля переносить?
[/QUOTE

крутой

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.

 
ну и как фикс
 
Назад
Сверху Снизу