Начинающий
- Статус
- Оффлайн
- Регистрация
- 8 Май 2023
- Сообщения
- 522
- Реакции
- 8
Ахахах нечего себе, античиты начали обходится текстом АххахахаФикс киллауры экспенсив 4.0, пишите если есть ошибки, я недавно начал кодить.
AuraModule: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(); } }
:sob: