Вопрос Не бьет килка exp 3.1

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
19 Янв 2024
Сообщения
203
Реакции
0

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

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

Спасибо!

вчера сделол килку еле как пофиксил ошибки запускаю думаю щас будет бить в итоге ничего просто включил она не бьет
уже все перепробовал ничо не помогает


Код:
Expand Collapse Copy
package im.expensive.functions.impl.combat;

import im.expensive.Expensive;
import im.expensive.events.EventInput;
import im.expensive.events.EventMotion;
import im.expensive.events.EventPacket;
import im.expensive.events.EventTarget;
import im.expensive.events.EventUpdate;
import im.expensive.events.MovingEvent;
import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.animations.AnimationNew;
import im.expensive.utils.animations.Easing;
import im.expensive.utils.math.SensUtils;
import im.expensive.utils.math.StopWatch;
import im.expensive.utils.player.InventoryUtil;
import im.expensive.utils.player.MoveUtils;
import im.expensive.utils.player.RayTraceUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import net.minecraft.block.material.Material;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.enchantment.Enchantments;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.MobEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ArmorItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.network.IPacket;
import net.minecraft.network.play.client.CAnimateHandPacket;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.potion.Effects;
import net.minecraft.tags.FluidTags;
import net.minecraft.util.Hand;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.optifine.util.WorldUtils;

@FunctionRegister(
        name = "Attack Aura",
        type = Category.Combat
)
public class KillAura extends Function {
    private final ModeSetting type = new ModeSetting("Тип", "Плавная", new String[]{"Плавная", "Резкая"});
    public final SliderSetting attackRange = new SliderSetting("Дистанция аттаки", 3.0F, 3.0F, 6.0F, 0.1F);
    final ModeListSetting targets = new ModeListSetting("Таргеты", new BooleanSetting[]{new BooleanSetting("Игроки", true), new BooleanSetting("Голые", true), new BooleanSetting("Мобы", false), new BooleanSetting("Друзья", false)});
    final BooleanSetting onlySpaceCritical = new BooleanSetting("Только в прыжке", true);
    final ModeListSetting options = new ModeListSetting("Опции", new BooleanSetting[]{new BooleanSetting("Только криты", true), new BooleanSetting("Ломать щит", true), new BooleanSetting("Отжимать щит", true), new BooleanSetting("Тпс синх", false), new BooleanSetting("Коррекция движения", true), new BooleanSetting("Бэк Треки", true), new BooleanSetting("Проверка наводки", false)});
    final ModeSetting correctionType = new ModeSetting("Тип коррекции", "Незаметный", new String[]{"Незаметный", "Сфокусированный"});
    final ModeSetting hands = new ModeSetting("Бить рукой", "Правой", new String[]{"Правой", "Левой"});
    private final StopWatch stopWatch = new StopWatch();
    public Vector2f rotateVector = new Vector2f(0.0F, 0.0F);
    public static LivingEntity target;
    private Entity selected;
    Vector2f fakerotate = new Vector2f(0.0F, 0.0F);
    int ticks = 0;
    boolean isRotated;
    final AutoPotion autoPotion;
    AnimationNew animationNew;
    StopWatch timerTimes;
    public double lastSpeed;
    public boolean attack;
    boolean testABoolean;
    public boolean targetAir;
    StopWatch axyenno;
    public float speed;
    boolean axyeenn;
    public boolean attacksave;
    public boolean savePacket;
    public Vector3d test;
    boolean targetVisible;
    private final CopyOnWriteArrayList<IPacket> packets;
    StopWatch arara;
    StopWatch test1;

    public KillAura(AutoPotion autoPotion) {
        this.animationNew = new AnimationNew(Easing.EASE_OUT_EXPO, 100L);
        this.timerTimes = new StopWatch();
        this.lastSpeed = (double)0.0F;
        this.attack = false;
        this.testABoolean = false;
        this.axyenno = new StopWatch();
        this.speed = 0.0F;
        this.axyeenn = false;
        this.attacksave = false;
        this.savePacket = false;
        this.test = Vector3d.ZERO;
        this.packets = new CopyOnWriteArrayList();
        this.arara = new StopWatch();
        this.test1 = new StopWatch();
        this.autoPotion = autoPotion;
        this.addSettings(new Setting[]{this.type, this.attackRange, this.targets, this.options, this.correctionType, this.onlySpaceCritical, this.hands});
    }

    @EventTarget
    public void onInput(EventInput eventInput) {
        if ((Boolean)this.options.get(4).get() && this.correctionType.is("Незаметный") && target != null && mc.player != null && !mc.player.isElytraFlying() && Expensive.getInstance().getFunctionRegistry().getFreeCam().player == null) {
            MoveUtils.fixMovement(eventInput, this.rotateVector.x);
        }

    }

    @EventTarget
    public void onUpdate(EventUpdate e) {
        if (target == null || !this.isValid(target)) {
            this.updateTarget();
        }

        if ((Boolean)this.options.get(5).get()) {
            this.resolvePlayers();
        }

        if ((Boolean)this.options.get(5).get()) {
            this.releaseResolver();
        }

        if (target != null && this.timerTimes.isReached(200L)) {
            double dx = getTarget().getPosX() - getTarget().prevPosX;
            double dy = getTarget().getPosY() - getTarget().prevPosY;
            double dz = getTarget().getPosZ() - getTarget().prevPosZ;
            double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
            double speed22 = distance * (double)20.0F;
            this.lastSpeed = speed22;
            this.timerTimes.reset();
        }
        
        

        if (target != null && (!this.autoPotion.isState() || !this.autoPotion.isActive())) {
            this.isRotated = false;
            if (this.shouldPlayerFalling() && this.stopWatch.hasTimeElapsed()) {
                if (false && RayTraceUtils.rayTraceSingleEntity(this.rotateVector.x, this.rotateVector.y, (double)(Float)this.attackRange.get(), target) || !(Boolean)this.options.get(6).get() || this.type.is("Резкая") || mc.player.isElytraFlying()) {
                    this.updateAttack();
                    this.ticks = 1;
                }
            } else {
                this.attack = false;
            }

            if ((!this.type.is("Резкая") || mc.player.isElytraFlying()) && !Expensive.getInstance().getFunctionRegistry().getElytraFly().flying) {
                if (!this.isRotated) {
                    this.updateRotation(1.0F);
                }
            } else if (this.ticks > 0) {
                this.attack = true;
                this.updateRotation(1.0F);
                --this.ticks;
            } else {
                this.reset();
                this.attack = false;
            }
        } else {
            this.stopWatch.setLastMS(0L);
            this.reset();
        }

    }

    public void resolvePlayers() {
        for(PlayerEntity player : mc.world.getPlayers()) {
            if (player instanceof ClientPlayerEntity entity) {
                entity.resolve();
            }
        }

    }

    public void releaseResolver() {
        for(PlayerEntity player : mc.world.getPlayers()) {
            if (player instanceof ClientPlayerEntity entity) {
                entity.releaseResolver();
            }
        }

    }

    @EventTarget
    public void Moving(MovingEvent event) {
        if (target != null) {
            this.testABoolean = !this.collisionPredict(target.getPositionVec(), target);
        }

    }

    private double getDegree(LivingEntity entity) {
        Vector3d vec = this.getVector3d(mc.player, entity, true);
        double yaw = MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - (double)90.0F);
        double delta = MathHelper.wrapDegrees(yaw - (double)this.rotateVector.x);
        if (Math.abs(delta) > (double)180.0F) {
            delta -= Math.signum(delta) * (double)360.0F;
        }

        return Math.abs(delta);
    }

    public boolean collisionPredict(Vector3d to, LivingEntity target) {
        boolean prevCollision = mc.world.getCollisionShapes(target, target.getBoundingBox().shrink((double)0.0625F)).toList().isEmpty();
        Vector3d backUp = new Vector3d(target.getPosX(), target.getPosY(), target.getPosZ());
        target.setPosition(to.x, to.y, to.z);
        boolean collision = mc.world.getCollisionShapes(target, mc.player.getBoundingBox().shrink((double)0.0625F)).toList().isEmpty() && prevCollision;
        target.setPosition(backUp.x, backUp.y, backUp.z);
        return collision;
    }

    @EventTarget
    private void onWalking(EventMotion e) {
        if (target != null && (!this.autoPotion.isState() || !this.autoPotion.isActive())) {
            float yaw = this.rotateVector.x;
            float pitch = this.rotateVector.y;
            float fakeyaw = this.fakerotate.x;
            float fakepitch = this.fakerotate.y;
            e.setYaw(yaw);
            e.setPitch(pitch);
            mc.player.rotationYawHead = yaw;
            mc.player.renderYawOffset = yaw;
            mc.player.rotationPitchHead = pitch;
        }
    }

    private void updateTarget() {
        List<LivingEntity> targets = new ArrayList();

        for(Entity entity : mc.world.getAllEntities()) {
            if (entity instanceof LivingEntity living) {
                if (this.isValid(living)) {
                    targets.add(living);
                }
            }
        }

        if (targets.isEmpty()) {
            target = null;
        } else if (targets.size() == 1) {
            target = (LivingEntity)targets.get(0);
        } else {
            targets.sort(Comparator.comparingDouble((object) -> {
                if (object instanceof PlayerEntity player) {
                    return -this.getEntityArmor(player);
                } else if (object instanceof LivingEntity base) {
                    return (double)(-base.getTotalArmorValue());
                } else {
                    return (double)0.0F;
                }
            }).thenComparing((object, object2) -> {
                double d2 = this.getEntityHealth((LivingEntity)object);
                double d3 = this.getEntityHealth((LivingEntity)object2);
                return Double.compare(d2, d3);
            }).thenComparing((object, object2) -> {
                double d2 = (double)mc.player.getDistance((LivingEntity)object);
                double d3 = (double)mc.player.getDistance((LivingEntity)object2);
                return Double.compare(d2, d3);
            }));
            target = (LivingEntity)targets.get(0);
        }
    }

    private void updateRotation(float speed) {
        Vector3d vec3d = this.getVector3d(mc.player, target, true);
        Vector3d fakeVec3d = this.getVector3d(mc.player, target, false);
        float rawYaw = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec3d.z, vec3d.x)) - (double)90.0F);
        float rawPitch = (float)MathHelper.wrapDegrees(Math.toDegrees(-Math.atan2(vec3d.y, Math.hypot(vec3d.x, vec3d.z))));
        float yawDelta = MathHelper.wrapDegrees(rawYaw - this.rotateVector.x);
        float pitchDelta = MathHelper.wrapDegrees(rawPitch - this.rotateVector.y);
        if (Math.abs(yawDelta) > 180.0F) {
            yawDelta -= Math.signum(yawDelta) * 360.0F;
        }

        float additionYaw = MathHelper.clamp(yawDelta, -180.0F * speed, 180.0F * speed);
        float additionPitch = MathHelper.clamp(pitchDelta, -90.0F * speed, 90.0F * speed);
        float yaw = this.rotateVector.x + additionYaw;
        float pitch = this.rotateVector.y + additionPitch;
        float x1 = (float)SensUtils.getSensitivity((double)yaw);
        float x2 = (float)SensUtils.getSensitivity((double)MathHelper.clamp(pitch, -89.0F, 89.0F));
        float fakeRawYaw = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(fakeVec3d.z, fakeVec3d.x)) - (double)90.0F);
        float fakeRawPitch = (float)MathHelper.wrapDegrees(Math.toDegrees(-Math.atan2(fakeVec3d.y, Math.hypot(fakeVec3d.x, fakeVec3d.z))));
        float fakeYawDelta = MathHelper.wrapDegrees(fakeRawYaw - this.fakerotate.x);
        float fakePitchDelta = MathHelper.wrapDegrees(fakeRawPitch - this.fakerotate.y);
        if (Math.abs(fakeYawDelta) > 180.0F) {
            fakeYawDelta -= Math.signum(fakeYawDelta) * 360.0F;
        }

        float fakeAdditionYaw = MathHelper.clamp(fakeYawDelta, -180.0F * speed, 180.0F * speed);
        float fakeAdditionPitch = MathHelper.clamp(fakePitchDelta, -90.0F * speed, 90.0F * speed);
        float fakeYaw = this.fakerotate.x + fakeAdditionYaw;
        float fakePitch = this.fakerotate.y + fakeAdditionPitch;
        float fakeX1 = (float)SensUtils.getSensitivity((double)fakeYaw);
        float fakeX2 = (float)SensUtils.getSensitivity((double)MathHelper.clamp(fakePitch, -90.0F, 90.0F));
        this.rotateVector.x = x1;
        this.rotateVector.y = x2;
        this.fakerotate.x = fakeX1;
        this.fakerotate.y = fakeX2;
        if ((Boolean)this.options.get(4).get()) {
            mc.player.rotationPitchOffset = x2;
            mc.player.rotationYawOffset = x1;
        }

    }

    @EventTarget
    private void onRender(WorldEvent event) {
    }

    private Vector3d getVector3d(LivingEntity me, LivingEntity to, boolean targetAir) {
        float dist = 0.0F;
        if (target != null) {
            double dx = getTarget().getPosX() - getTarget().prevPosX;
            double dy = getTarget().getPosY() - getTarget().prevPosY;
            double dz = getTarget().getPosZ() - getTarget().prevPosZ;
            double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
            dist = (float)distance;
        }

        if (this.axyenno.isReached(1000L) && mc.player.isElytraFlying()) {
            this.axyeenn = true;
            this.axyenno.reset();
        }

        if (this.stopWatch.getTime() > 100L) {
            this.attacksave = true;
        } else if (this.stopWatch.getTime() < 100L) {
            this.attacksave = false;
        }

        this.speed = dist;
        boolean xuy = target != null && targetAir && Expensive.getInstance().getFunctionRegistry().getElytraTarget().vibor.getIndex() == 1 ? this.lastSpeed >= (double)20.0F : target.isElytraFlying() && mc.player.isElytraFlying() && !Expensive.getInstance().getFunctionRegistry().getFly().isState() && !Expensive.getInstance().getFunctionRegistry().getFreeCam().isState() && (Boolean)Expensive.getInstance().getFunctionRegistry().getElytraTarget().target.get();
        float SpeedBypass = xuy ? 3.0F + (Float)Expensive.getInstance().getFunctionRegistry().getElytraTarget().distance.get() : 0.0F;
        Vector3d targetPos = to.getPositionVec().add(to.getForward().normalize().scale((double)SpeedBypass));
        Vector3d vec = target.getPositionVec().add((double)0.0F, MathHelper.clamp(mc.player.getEyePosition(mc.getRenderPartialTicks()).y - target.getPosY(), (double)0.0F, (double)target.getHeight() * (MathHelper.getStrictDistance(target) / (double)Math.max(mc.playerController.extendedReach() ? 6.0F : 3.0F, (Float)this.attackRange.get()))), (double)0.0F).subtract(mc.player.getEyePosition(mc.getRenderPartialTicks())).normalize();
        this.targetAir = xuy;
        return targetAir && xuy ? new Vector3d(targetPos.getX() - me.getPosX(), targetPos.getY() - me.getPosY(), targetPos.getZ() - me.getPosZ()) : vec;
    }

    @EventTarget
    public void aragyntang(EventMotion e) {
    }

    @EventTarget
    public void ogogo(EventPacket e) {
    }

    private Vector3d getBestVec(LivingEntity LivingEntity2, double dst) {
        if (LivingEntity2.getDistanceSq(LivingEntity2) > (double)36.0F) {
            return null;
        } else {
            Vector3d headPoint = this.getDeltaForCord(KillAura.HitBox.Head, LivingEntity2);
            Vector3d chestPoint = this.getDeltaForCord(KillAura.HitBox.Chest, LivingEntity2);
            Vector3d leggsPoint = this.getDeltaForCord(KillAura.HitBox.Leggs, LivingEntity2);
            if (mc.player.isElytraFlying()) {
                return headPoint;
            } else {
                ArrayList<Vector3d> arrayList = new ArrayList(Arrays.asList(headPoint, chestPoint, leggsPoint));
                if (arrayList.isEmpty()) {
                    return null;
                } else {
                    arrayList.sort((point1, point2) -> (int)((Math.abs(this.getDeltaForCoord(this.rotateVector, point1).y) - Math.abs(this.getDeltaForCoord(this.rotateVector, point2).y)) * 1000.0F));
                    return (Vector3d)arrayList.get(0);
                }
            }
        }
    }

    private Vector3d getDeltaForCord(HitBox a2, LivingEntity trgt) {
        double var10000;
        switch (a2) {
            case Head -> var10000 = (double)trgt.getEyeHeight();
            case Chest -> var10000 = (double)(trgt.getEyeHeight() / 2.0F);
            case Leggs -> var10000 = 0.05;
            default -> throw new IncompatibleClassChangeError();
        }

        double d2 = var10000;
        return trgt.getPositionVec().add((double)0.0F, d2, (double)0.0F);
    }

    private Vector2f getDeltaForCoord(Vector2f vector2f2, Vector3d jE2) {
        double d2 = jE2.x - mc.player.getPosX();
        double d3 = jE2.y - mc.player.getEyePosition(1.0F).y;
        double d4 = jE2.z - mc.player.getPosZ();
        double d5 = Math.sqrt(d2 * d2 + d4 * d4);
        float f2 = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(d4, d2)) - (double)90.0F);
        float f3 = (float)(-Math.toDegrees(Math.atan2(d3, d5)));
        float f4 = MathHelper.wrapDegrees(f2 - vector2f2.x);
        float f5 = f3 - vector2f2.y;
        return new Vector2f(f4, f5);
    }


    private void updateAttack() {
        if (mc.player.isBlocking() && (Boolean)this.options.getValueByName("Отжимать щит").get()) {
            mc.playerController.onStoppedUsingItem(mc.player);
            mc.player.swingArm(Hand.MAIN_HAND);
            mc.playerController.attackEntity(mc.player, target);
            mc.player.connection.sendPacket(new CAnimateHandPacket(Hand.MAIN_HAND));
        }

        this.stopWatch.setLastMS(460L);
        mc.playerController.attackEntity(mc.player, target);
        mc.player.swingArm(this.hands.getIndex() == 0 ? Hand.MAIN_HAND : Hand.OFF_HAND);
        LivingEntity var2 = target;
        if (var2 instanceof PlayerEntity player) {
            if ((Boolean)this.options.getValueByName("Ломать щит").get()) {
                this.breakShieldPlayer(player);
            }
        }

    }

    private boolean shouldPlayerFalling() {
        boolean onSpace = !(Boolean)this.onlySpaceCritical.get() && mc.player.isOnGround() && !mc.gameSettings.keyBindJump.isKeyDown();
        boolean reasonForAttack = mc.player.isPotionActive(Effects.BLINDNESS) || mc.player.isOnLadder() || mc.player.isInWater() && mc.player.areEyesInFluid(FluidTags.WATER) || mc.player.isRidingHorse() || mc.player.abilities.isFlying || WorldUtils.isInMaterial(Material.WEB) || mc.player.isElytraFlying() || mc.player.isInLava() && mc.player.areEyesInFluid(FluidTags.LAVA) || mc.player.isPotionActive(Effects.LEVITATION) || mc.player.isPassenger();
        double dist = (double)0.0F;
        float cooldown = mc.player.getCooledAttackStrength(0.5f);
        if (cooldown < 0.9f) return false;
        dist = mc.player.getDistanceEyePos(target);
        if (!(dist >= (double)(Float)this.attackRange.get()) && mc.player.getCooledAttackStrength((Boolean)this.options.get(3).get() ? -Expensive.getInstance().getTPSCalcNew().getAdjustTicks() + 1.5F : 1.5F) >= 0.93F) {
            if (Expensive.getInstance().getFunctionRegistry().getFreeCam().player != null) {
                return true;
            } else if (!reasonForAttack && (Boolean)this.options.getValueByName("Только криты").get()) {
                return onSpace || !mc.player.isOnGround() && mc.player.fallDistance > 0.0F;
            } else {
                return true;
            }
        } else {
            return false;
        }
    }

    private boolean isValid(LivingEntity entity) {
        if (entity instanceof ClientPlayerEntity) {
            return false;
        } else if (entity.ticksExisted < 3) {
            return false;
        } else if (mc.player.getDistanceEyePos(entity) > (double)((Float)this.attackRange.get() + (float)(mc.player.isElytraFlying() && !Expensive.getInstance().getFunctionRegistry().getElytraFly().flying ? 30 : 0))) {
            return false;
        } else {
            if (entity instanceof PlayerEntity) {
                PlayerEntity p = (PlayerEntity)entity;
                if (AntiBot.checkBot(entity)) {
                    return false;
                }



                if (!(Boolean)this.targets.getValueByName("Друзья").get() && Expensive.getInstance().getFriendStorage().isFriend(p.getName().getString()) || p.getName().getString().equals("Friend")) {
                    return false;
                }



                if (p.getName().getString().equalsIgnoreCase(mc.player.getName().getString())) {
                    return false;
                }
            }

            if (entity.isAlive()) {
                if (entity instanceof MobEntity && (Boolean)this.targets.getValueByName("Мобы").get()) {
                    return true;
                }

                if (entity.botEntity) {
                    if (entity instanceof PlayerEntity && (Boolean)this.targets.getValueByName("Игроки").get()) {
                        return true;
                    }

                    if (entity instanceof PlayerEntity && entity.getTotalArmorValue() == 0 && (Boolean)this.targets.getValueByName("Голые").get()) {
                        return true;
                    }
                }
            }

            return false;
        }
    }

    private void breakShieldPlayer(PlayerEntity entity) {
        if (entity.isBlocking()) {
            int invSlot = InventoryUtil.getInstance().getAxeInInventory(false);
            int hotBarSlot = InventoryUtil.getInstance().getAxeInInventory(true);
            if (hotBarSlot == -1 && invSlot != -1) {
                int bestSlot = InventoryUtil.getInstance().findBestSlotInHotBar();
                mc.playerController.windowClick(0, invSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, bestSlot + 36, 0, ClickType.PICKUP, mc.player);
                mc.player.connection.sendPacket(new CHeldItemChangePacket(bestSlot));
                mc.playerController.attackEntity(mc.player, entity);
                mc.player.swingArm(Hand.MAIN_HAND);
                mc.player.connection.sendPacket(new CHeldItemChangePacket(mc.player.inventory.currentItem));
                mc.playerController.windowClick(0, bestSlot + 36, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, invSlot, 0, ClickType.PICKUP, mc.player);
            }

            if (hotBarSlot != -1) {
                mc.player.connection.sendPacket(new CHeldItemChangePacket(hotBarSlot));
                mc.playerController.attackEntity(mc.player, entity);
                mc.player.swingArm(Hand.MAIN_HAND);
                mc.player.connection.sendPacket(new CHeldItemChangePacket(mc.player.inventory.currentItem));
            }
        }

    }

    private void reset() {
        if (!(Boolean)this.options.get(4).get() || (Boolean)this.options.get(4).get()) {
            mc.player.rotationYawOffset = (float)Integer.MIN_VALUE;
            mc.player.rotationPitchOffset = (float)Integer.MIN_VALUE;
        }

        this.rotateVector = new Vector2f(mc.player.rotationYaw, mc.player.rotationPitch);
        this.fakerotate = new Vector2f(mc.player.rotationYaw, mc.player.rotationPitch);
    }

    public boolean isEnable() {
        super.onEnable();
        this.savePacket = true;
        this.reset();
        target = null;
        return false;
    }

    public void onDisable() {
        super.onDisable();
        this.attack = false;
        this.savePacket = true;
        this.reset();
        this.stopWatch.setLastMS(0L);
        target = null;
    }

    private double getEntityArmor(PlayerEntity entityPlayer2) {
        double d2 = (double)0.0F;

        for(int i2 = 0; i2 < 4; ++i2) {
            ItemStack is = (ItemStack)entityPlayer2.inventory.armorInventory.get(i2);
            if (is.getItem() instanceof ArmorItem) {
                d2 += this.getProtectionLvl(is);
            }
        }

        return d2;
    }

    private double getProtectionLvl(ItemStack stack) {
        Item item = stack.getItem();
        if (item instanceof ArmorItem i) {
            double protectionLevel = (double) i.getDamageReduceAmount();
            if (stack.isEnchanted()) {
                protectionLevel += (double) EnchantmentHelper.getEnchantmentLevel(Enchantments.PROTECTION, stack) * 0.25D;
            }
            return protectionLevel;
        } else {
            return 0.0D;
        }
    }


    private double getEntityHealth(LivingEntity ent) {
        if (ent instanceof PlayerEntity player) {
            return (double)(Expensive.getInstance().getFunctionRegistry().getGetHealth().isState() ? PlayerEntity.getHealthFromScoreboard(player)[0] : player.getHealth() + player.getAbsorptionAmount()) * (this.getEntityArmor(player) / (double)20.0F);
        } else {
            return Expensive.getInstance().getFunctionRegistry().getGetHealth().isState() ? (double)PlayerEntity.getHealthFromScoreboard(ent)[0] : (double)(ent.getHealth() + ent.getAbsorptionAmount());
        }
    }

    public ModeSetting getType() {
        return this.type;
    }

    public ModeListSetting getOptions() {
        return this.options;
    }

    public StopWatch getStopWatch() {
        return this.stopWatch;
    }

    public static LivingEntity getTarget() {
        return target;
    }

    private static enum HitBox {
        Head,
        Chest,
        Leggs;

        private HitBox() {
        }
    }
}
 
У тебя килка чуть чуть мусор ебанный
 
У тебя килка чуть чуть мусор ебанный
1746783586709.png
я пока смотрел чуть-чуть инсульт словил, так что соглашусь
1746783753197.png
1746783791797.png
xD
1746783820730.png
var момент
 
У тебя килка чуть чуть мусор ебанный
под рв
это $elfcode
 
Последнее редактирование:
под рв

это $elfcode
не пасти больше киллку дик клиента
это киллка не его а дик клиента, виокс писал её
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Посмотреть вложение 305969я понял, но всё же, спасибо за разъяснение
просто сурсы сливали не реди дика, и пока тему не удалили кто успел тот успел
не сделать рв киллку в 2025 году - мощно
:tearsofjoy:
бля ебать ты смешной
 
вчера сделол килку еле как пофиксил ошибки запускаю думаю щас будет бить в итоге ничего просто включил она не бьет
уже все перепробовал ничо не помогает


Код:
Expand Collapse Copy
package im.expensive.functions.impl.combat;

import im.expensive.Expensive;
import im.expensive.events.EventInput;
import im.expensive.events.EventMotion;
import im.expensive.events.EventPacket;
import im.expensive.events.EventTarget;
import im.expensive.events.EventUpdate;
import im.expensive.events.MovingEvent;
import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.animations.AnimationNew;
import im.expensive.utils.animations.Easing;
import im.expensive.utils.math.SensUtils;
import im.expensive.utils.math.StopWatch;
import im.expensive.utils.player.InventoryUtil;
import im.expensive.utils.player.MoveUtils;
import im.expensive.utils.player.RayTraceUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import net.minecraft.block.material.Material;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.enchantment.Enchantments;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.MobEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ArmorItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.network.IPacket;
import net.minecraft.network.play.client.CAnimateHandPacket;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.potion.Effects;
import net.minecraft.tags.FluidTags;
import net.minecraft.util.Hand;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.optifine.util.WorldUtils;

@FunctionRegister(
        name = "Attack Aura",
        type = Category.Combat
)
public class KillAura extends Function {
    private final ModeSetting type = new ModeSetting("Тип", "Плавная", new String[]{"Плавная", "Резкая"});
    public final SliderSetting attackRange = new SliderSetting("Дистанция аттаки", 3.0F, 3.0F, 6.0F, 0.1F);
    final ModeListSetting targets = new ModeListSetting("Таргеты", new BooleanSetting[]{new BooleanSetting("Игроки", true), new BooleanSetting("Голые", true), new BooleanSetting("Мобы", false), new BooleanSetting("Друзья", false)});
    final BooleanSetting onlySpaceCritical = new BooleanSetting("Только в прыжке", true);
    final ModeListSetting options = new ModeListSetting("Опции", new BooleanSetting[]{new BooleanSetting("Только криты", true), new BooleanSetting("Ломать щит", true), new BooleanSetting("Отжимать щит", true), new BooleanSetting("Тпс синх", false), new BooleanSetting("Коррекция движения", true), new BooleanSetting("Бэк Треки", true), new BooleanSetting("Проверка наводки", false)});
    final ModeSetting correctionType = new ModeSetting("Тип коррекции", "Незаметный", new String[]{"Незаметный", "Сфокусированный"});
    final ModeSetting hands = new ModeSetting("Бить рукой", "Правой", new String[]{"Правой", "Левой"});
    private final StopWatch stopWatch = new StopWatch();
    public Vector2f rotateVector = new Vector2f(0.0F, 0.0F);
    public static LivingEntity target;
    private Entity selected;
    Vector2f fakerotate = new Vector2f(0.0F, 0.0F);
    int ticks = 0;
    boolean isRotated;
    final AutoPotion autoPotion;
    AnimationNew animationNew;
    StopWatch timerTimes;
    public double lastSpeed;
    public boolean attack;
    boolean testABoolean;
    public boolean targetAir;
    StopWatch axyenno;
    public float speed;
    boolean axyeenn;
    public boolean attacksave;
    public boolean savePacket;
    public Vector3d test;
    boolean targetVisible;
    private final CopyOnWriteArrayList<IPacket> packets;
    StopWatch arara;
    StopWatch test1;

    public KillAura(AutoPotion autoPotion) {
        this.animationNew = new AnimationNew(Easing.EASE_OUT_EXPO, 100L);
        this.timerTimes = new StopWatch();
        this.lastSpeed = (double)0.0F;
        this.attack = false;
        this.testABoolean = false;
        this.axyenno = new StopWatch();
        this.speed = 0.0F;
        this.axyeenn = false;
        this.attacksave = false;
        this.savePacket = false;
        this.test = Vector3d.ZERO;
        this.packets = new CopyOnWriteArrayList();
        this.arara = new StopWatch();
        this.test1 = new StopWatch();
        this.autoPotion = autoPotion;
        this.addSettings(new Setting[]{this.type, this.attackRange, this.targets, this.options, this.correctionType, this.onlySpaceCritical, this.hands});
    }

    @EventTarget
    public void onInput(EventInput eventInput) {
        if ((Boolean)this.options.get(4).get() && this.correctionType.is("Незаметный") && target != null && mc.player != null && !mc.player.isElytraFlying() && Expensive.getInstance().getFunctionRegistry().getFreeCam().player == null) {
            MoveUtils.fixMovement(eventInput, this.rotateVector.x);
        }

    }

    @EventTarget
    public void onUpdate(EventUpdate e) {
        if (target == null || !this.isValid(target)) {
            this.updateTarget();
        }

        if ((Boolean)this.options.get(5).get()) {
            this.resolvePlayers();
        }

        if ((Boolean)this.options.get(5).get()) {
            this.releaseResolver();
        }

        if (target != null && this.timerTimes.isReached(200L)) {
            double dx = getTarget().getPosX() - getTarget().prevPosX;
            double dy = getTarget().getPosY() - getTarget().prevPosY;
            double dz = getTarget().getPosZ() - getTarget().prevPosZ;
            double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
            double speed22 = distance * (double)20.0F;
            this.lastSpeed = speed22;
            this.timerTimes.reset();
        }
       
       

        if (target != null && (!this.autoPotion.isState() || !this.autoPotion.isActive())) {
            this.isRotated = false;
            if (this.shouldPlayerFalling() && this.stopWatch.hasTimeElapsed()) {
                if (false && RayTraceUtils.rayTraceSingleEntity(this.rotateVector.x, this.rotateVector.y, (double)(Float)this.attackRange.get(), target) || !(Boolean)this.options.get(6).get() || this.type.is("Резкая") || mc.player.isElytraFlying()) {
                    this.updateAttack();
                    this.ticks = 1;
                }
            } else {
                this.attack = false;
            }

            if ((!this.type.is("Резкая") || mc.player.isElytraFlying()) && !Expensive.getInstance().getFunctionRegistry().getElytraFly().flying) {
                if (!this.isRotated) {
                    this.updateRotation(1.0F);
                }
            } else if (this.ticks > 0) {
                this.attack = true;
                this.updateRotation(1.0F);
                --this.ticks;
            } else {
                this.reset();
                this.attack = false;
            }
        } else {
            this.stopWatch.setLastMS(0L);
            this.reset();
        }

    }

    public void resolvePlayers() {
        for(PlayerEntity player : mc.world.getPlayers()) {
            if (player instanceof ClientPlayerEntity entity) {
                entity.resolve();
            }
        }

    }

    public void releaseResolver() {
        for(PlayerEntity player : mc.world.getPlayers()) {
            if (player instanceof ClientPlayerEntity entity) {
                entity.releaseResolver();
            }
        }

    }

    @EventTarget
    public void Moving(MovingEvent event) {
        if (target != null) {
            this.testABoolean = !this.collisionPredict(target.getPositionVec(), target);
        }

    }

    private double getDegree(LivingEntity entity) {
        Vector3d vec = this.getVector3d(mc.player, entity, true);
        double yaw = MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - (double)90.0F);
        double delta = MathHelper.wrapDegrees(yaw - (double)this.rotateVector.x);
        if (Math.abs(delta) > (double)180.0F) {
            delta -= Math.signum(delta) * (double)360.0F;
        }

        return Math.abs(delta);
    }

    public boolean collisionPredict(Vector3d to, LivingEntity target) {
        boolean prevCollision = mc.world.getCollisionShapes(target, target.getBoundingBox().shrink((double)0.0625F)).toList().isEmpty();
        Vector3d backUp = new Vector3d(target.getPosX(), target.getPosY(), target.getPosZ());
        target.setPosition(to.x, to.y, to.z);
        boolean collision = mc.world.getCollisionShapes(target, mc.player.getBoundingBox().shrink((double)0.0625F)).toList().isEmpty() && prevCollision;
        target.setPosition(backUp.x, backUp.y, backUp.z);
        return collision;
    }

    @EventTarget
    private void onWalking(EventMotion e) {
        if (target != null && (!this.autoPotion.isState() || !this.autoPotion.isActive())) {
            float yaw = this.rotateVector.x;
            float pitch = this.rotateVector.y;
            float fakeyaw = this.fakerotate.x;
            float fakepitch = this.fakerotate.y;
            e.setYaw(yaw);
            e.setPitch(pitch);
            mc.player.rotationYawHead = yaw;
            mc.player.renderYawOffset = yaw;
            mc.player.rotationPitchHead = pitch;
        }
    }

    private void updateTarget() {
        List<LivingEntity> targets = new ArrayList();

        for(Entity entity : mc.world.getAllEntities()) {
            if (entity instanceof LivingEntity living) {
                if (this.isValid(living)) {
                    targets.add(living);
                }
            }
        }

        if (targets.isEmpty()) {
            target = null;
        } else if (targets.size() == 1) {
            target = (LivingEntity)targets.get(0);
        } else {
            targets.sort(Comparator.comparingDouble((object) -> {
                if (object instanceof PlayerEntity player) {
                    return -this.getEntityArmor(player);
                } else if (object instanceof LivingEntity base) {
                    return (double)(-base.getTotalArmorValue());
                } else {
                    return (double)0.0F;
                }
            }).thenComparing((object, object2) -> {
                double d2 = this.getEntityHealth((LivingEntity)object);
                double d3 = this.getEntityHealth((LivingEntity)object2);
                return Double.compare(d2, d3);
            }).thenComparing((object, object2) -> {
                double d2 = (double)mc.player.getDistance((LivingEntity)object);
                double d3 = (double)mc.player.getDistance((LivingEntity)object2);
                return Double.compare(d2, d3);
            }));
            target = (LivingEntity)targets.get(0);
        }
    }

    private void updateRotation(float speed) {
        Vector3d vec3d = this.getVector3d(mc.player, target, true);
        Vector3d fakeVec3d = this.getVector3d(mc.player, target, false);
        float rawYaw = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec3d.z, vec3d.x)) - (double)90.0F);
        float rawPitch = (float)MathHelper.wrapDegrees(Math.toDegrees(-Math.atan2(vec3d.y, Math.hypot(vec3d.x, vec3d.z))));
        float yawDelta = MathHelper.wrapDegrees(rawYaw - this.rotateVector.x);
        float pitchDelta = MathHelper.wrapDegrees(rawPitch - this.rotateVector.y);
        if (Math.abs(yawDelta) > 180.0F) {
            yawDelta -= Math.signum(yawDelta) * 360.0F;
        }

        float additionYaw = MathHelper.clamp(yawDelta, -180.0F * speed, 180.0F * speed);
        float additionPitch = MathHelper.clamp(pitchDelta, -90.0F * speed, 90.0F * speed);
        float yaw = this.rotateVector.x + additionYaw;
        float pitch = this.rotateVector.y + additionPitch;
        float x1 = (float)SensUtils.getSensitivity((double)yaw);
        float x2 = (float)SensUtils.getSensitivity((double)MathHelper.clamp(pitch, -89.0F, 89.0F));
        float fakeRawYaw = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(fakeVec3d.z, fakeVec3d.x)) - (double)90.0F);
        float fakeRawPitch = (float)MathHelper.wrapDegrees(Math.toDegrees(-Math.atan2(fakeVec3d.y, Math.hypot(fakeVec3d.x, fakeVec3d.z))));
        float fakeYawDelta = MathHelper.wrapDegrees(fakeRawYaw - this.fakerotate.x);
        float fakePitchDelta = MathHelper.wrapDegrees(fakeRawPitch - this.fakerotate.y);
        if (Math.abs(fakeYawDelta) > 180.0F) {
            fakeYawDelta -= Math.signum(fakeYawDelta) * 360.0F;
        }

        float fakeAdditionYaw = MathHelper.clamp(fakeYawDelta, -180.0F * speed, 180.0F * speed);
        float fakeAdditionPitch = MathHelper.clamp(fakePitchDelta, -90.0F * speed, 90.0F * speed);
        float fakeYaw = this.fakerotate.x + fakeAdditionYaw;
        float fakePitch = this.fakerotate.y + fakeAdditionPitch;
        float fakeX1 = (float)SensUtils.getSensitivity((double)fakeYaw);
        float fakeX2 = (float)SensUtils.getSensitivity((double)MathHelper.clamp(fakePitch, -90.0F, 90.0F));
        this.rotateVector.x = x1;
        this.rotateVector.y = x2;
        this.fakerotate.x = fakeX1;
        this.fakerotate.y = fakeX2;
        if ((Boolean)this.options.get(4).get()) {
            mc.player.rotationPitchOffset = x2;
            mc.player.rotationYawOffset = x1;
        }

    }

    @EventTarget
    private void onRender(WorldEvent event) {
    }

    private Vector3d getVector3d(LivingEntity me, LivingEntity to, boolean targetAir) {
        float dist = 0.0F;
        if (target != null) {
            double dx = getTarget().getPosX() - getTarget().prevPosX;
            double dy = getTarget().getPosY() - getTarget().prevPosY;
            double dz = getTarget().getPosZ() - getTarget().prevPosZ;
            double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
            dist = (float)distance;
        }

        if (this.axyenno.isReached(1000L) && mc.player.isElytraFlying()) {
            this.axyeenn = true;
            this.axyenno.reset();
        }

        if (this.stopWatch.getTime() > 100L) {
            this.attacksave = true;
        } else if (this.stopWatch.getTime() < 100L) {
            this.attacksave = false;
        }

        this.speed = dist;
        boolean xuy = target != null && targetAir && Expensive.getInstance().getFunctionRegistry().getElytraTarget().vibor.getIndex() == 1 ? this.lastSpeed >= (double)20.0F : target.isElytraFlying() && mc.player.isElytraFlying() && !Expensive.getInstance().getFunctionRegistry().getFly().isState() && !Expensive.getInstance().getFunctionRegistry().getFreeCam().isState() && (Boolean)Expensive.getInstance().getFunctionRegistry().getElytraTarget().target.get();
        float SpeedBypass = xuy ? 3.0F + (Float)Expensive.getInstance().getFunctionRegistry().getElytraTarget().distance.get() : 0.0F;
        Vector3d targetPos = to.getPositionVec().add(to.getForward().normalize().scale((double)SpeedBypass));
        Vector3d vec = target.getPositionVec().add((double)0.0F, MathHelper.clamp(mc.player.getEyePosition(mc.getRenderPartialTicks()).y - target.getPosY(), (double)0.0F, (double)target.getHeight() * (MathHelper.getStrictDistance(target) / (double)Math.max(mc.playerController.extendedReach() ? 6.0F : 3.0F, (Float)this.attackRange.get()))), (double)0.0F).subtract(mc.player.getEyePosition(mc.getRenderPartialTicks())).normalize();
        this.targetAir = xuy;
        return targetAir && xuy ? new Vector3d(targetPos.getX() - me.getPosX(), targetPos.getY() - me.getPosY(), targetPos.getZ() - me.getPosZ()) : vec;
    }

    @EventTarget
    public void aragyntang(EventMotion e) {
    }

    @EventTarget
    public void ogogo(EventPacket e) {
    }

    private Vector3d getBestVec(LivingEntity LivingEntity2, double dst) {
        if (LivingEntity2.getDistanceSq(LivingEntity2) > (double)36.0F) {
            return null;
        } else {
            Vector3d headPoint = this.getDeltaForCord(KillAura.HitBox.Head, LivingEntity2);
            Vector3d chestPoint = this.getDeltaForCord(KillAura.HitBox.Chest, LivingEntity2);
            Vector3d leggsPoint = this.getDeltaForCord(KillAura.HitBox.Leggs, LivingEntity2);
            if (mc.player.isElytraFlying()) {
                return headPoint;
            } else {
                ArrayList<Vector3d> arrayList = new ArrayList(Arrays.asList(headPoint, chestPoint, leggsPoint));
                if (arrayList.isEmpty()) {
                    return null;
                } else {
                    arrayList.sort((point1, point2) -> (int)((Math.abs(this.getDeltaForCoord(this.rotateVector, point1).y) - Math.abs(this.getDeltaForCoord(this.rotateVector, point2).y)) * 1000.0F));
                    return (Vector3d)arrayList.get(0);
                }
            }
        }
    }

    private Vector3d getDeltaForCord(HitBox a2, LivingEntity trgt) {
        double var10000;
        switch (a2) {
            case Head -> var10000 = (double)trgt.getEyeHeight();
            case Chest -> var10000 = (double)(trgt.getEyeHeight() / 2.0F);
            case Leggs -> var10000 = 0.05;
            default -> throw new IncompatibleClassChangeError();
        }

        double d2 = var10000;
        return trgt.getPositionVec().add((double)0.0F, d2, (double)0.0F);
    }

    private Vector2f getDeltaForCoord(Vector2f vector2f2, Vector3d jE2) {
        double d2 = jE2.x - mc.player.getPosX();
        double d3 = jE2.y - mc.player.getEyePosition(1.0F).y;
        double d4 = jE2.z - mc.player.getPosZ();
        double d5 = Math.sqrt(d2 * d2 + d4 * d4);
        float f2 = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(d4, d2)) - (double)90.0F);
        float f3 = (float)(-Math.toDegrees(Math.atan2(d3, d5)));
        float f4 = MathHelper.wrapDegrees(f2 - vector2f2.x);
        float f5 = f3 - vector2f2.y;
        return new Vector2f(f4, f5);
    }


    private void updateAttack() {
        if (mc.player.isBlocking() && (Boolean)this.options.getValueByName("Отжимать щит").get()) {
            mc.playerController.onStoppedUsingItem(mc.player);
            mc.player.swingArm(Hand.MAIN_HAND);
            mc.playerController.attackEntity(mc.player, target);
            mc.player.connection.sendPacket(new CAnimateHandPacket(Hand.MAIN_HAND));
        }

        this.stopWatch.setLastMS(460L);
        mc.playerController.attackEntity(mc.player, target);
        mc.player.swingArm(this.hands.getIndex() == 0 ? Hand.MAIN_HAND : Hand.OFF_HAND);
        LivingEntity var2 = target;
        if (var2 instanceof PlayerEntity player) {
            if ((Boolean)this.options.getValueByName("Ломать щит").get()) {
                this.breakShieldPlayer(player);
            }
        }

    }

    private boolean shouldPlayerFalling() {
        boolean onSpace = !(Boolean)this.onlySpaceCritical.get() && mc.player.isOnGround() && !mc.gameSettings.keyBindJump.isKeyDown();
        boolean reasonForAttack = mc.player.isPotionActive(Effects.BLINDNESS) || mc.player.isOnLadder() || mc.player.isInWater() && mc.player.areEyesInFluid(FluidTags.WATER) || mc.player.isRidingHorse() || mc.player.abilities.isFlying || WorldUtils.isInMaterial(Material.WEB) || mc.player.isElytraFlying() || mc.player.isInLava() && mc.player.areEyesInFluid(FluidTags.LAVA) || mc.player.isPotionActive(Effects.LEVITATION) || mc.player.isPassenger();
        double dist = (double)0.0F;
        float cooldown = mc.player.getCooledAttackStrength(0.5f);
        if (cooldown < 0.9f) return false;
        dist = mc.player.getDistanceEyePos(target);
        if (!(dist >= (double)(Float)this.attackRange.get()) && mc.player.getCooledAttackStrength((Boolean)this.options.get(3).get() ? -Expensive.getInstance().getTPSCalcNew().getAdjustTicks() + 1.5F : 1.5F) >= 0.93F) {
            if (Expensive.getInstance().getFunctionRegistry().getFreeCam().player != null) {
                return true;
            } else if (!reasonForAttack && (Boolean)this.options.getValueByName("Только криты").get()) {
                return onSpace || !mc.player.isOnGround() && mc.player.fallDistance > 0.0F;
            } else {
                return true;
            }
        } else {
            return false;
        }
    }

    private boolean isValid(LivingEntity entity) {
        if (entity instanceof ClientPlayerEntity) {
            return false;
        } else if (entity.ticksExisted < 3) {
            return false;
        } else if (mc.player.getDistanceEyePos(entity) > (double)((Float)this.attackRange.get() + (float)(mc.player.isElytraFlying() && !Expensive.getInstance().getFunctionRegistry().getElytraFly().flying ? 30 : 0))) {
            return false;
        } else {
            if (entity instanceof PlayerEntity) {
                PlayerEntity p = (PlayerEntity)entity;
                if (AntiBot.checkBot(entity)) {
                    return false;
                }



                if (!(Boolean)this.targets.getValueByName("Друзья").get() && Expensive.getInstance().getFriendStorage().isFriend(p.getName().getString()) || p.getName().getString().equals("Friend")) {
                    return false;
                }



                if (p.getName().getString().equalsIgnoreCase(mc.player.getName().getString())) {
                    return false;
                }
            }

            if (entity.isAlive()) {
                if (entity instanceof MobEntity && (Boolean)this.targets.getValueByName("Мобы").get()) {
                    return true;
                }

                if (entity.botEntity) {
                    if (entity instanceof PlayerEntity && (Boolean)this.targets.getValueByName("Игроки").get()) {
                        return true;
                    }

                    if (entity instanceof PlayerEntity && entity.getTotalArmorValue() == 0 && (Boolean)this.targets.getValueByName("Голые").get()) {
                        return true;
                    }
                }
            }

            return false;
        }
    }

    private void breakShieldPlayer(PlayerEntity entity) {
        if (entity.isBlocking()) {
            int invSlot = InventoryUtil.getInstance().getAxeInInventory(false);
            int hotBarSlot = InventoryUtil.getInstance().getAxeInInventory(true);
            if (hotBarSlot == -1 && invSlot != -1) {
                int bestSlot = InventoryUtil.getInstance().findBestSlotInHotBar();
                mc.playerController.windowClick(0, invSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, bestSlot + 36, 0, ClickType.PICKUP, mc.player);
                mc.player.connection.sendPacket(new CHeldItemChangePacket(bestSlot));
                mc.playerController.attackEntity(mc.player, entity);
                mc.player.swingArm(Hand.MAIN_HAND);
                mc.player.connection.sendPacket(new CHeldItemChangePacket(mc.player.inventory.currentItem));
                mc.playerController.windowClick(0, bestSlot + 36, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, invSlot, 0, ClickType.PICKUP, mc.player);
            }

            if (hotBarSlot != -1) {
                mc.player.connection.sendPacket(new CHeldItemChangePacket(hotBarSlot));
                mc.playerController.attackEntity(mc.player, entity);
                mc.player.swingArm(Hand.MAIN_HAND);
                mc.player.connection.sendPacket(new CHeldItemChangePacket(mc.player.inventory.currentItem));
            }
        }

    }

    private void reset() {
        if (!(Boolean)this.options.get(4).get() || (Boolean)this.options.get(4).get()) {
            mc.player.rotationYawOffset = (float)Integer.MIN_VALUE;
            mc.player.rotationPitchOffset = (float)Integer.MIN_VALUE;
        }

        this.rotateVector = new Vector2f(mc.player.rotationYaw, mc.player.rotationPitch);
        this.fakerotate = new Vector2f(mc.player.rotationYaw, mc.player.rotationPitch);
    }

    public boolean isEnable() {
        super.onEnable();
        this.savePacket = true;
        this.reset();
        target = null;
        return false;
    }

    public void onDisable() {
        super.onDisable();
        this.attack = false;
        this.savePacket = true;
        this.reset();
        this.stopWatch.setLastMS(0L);
        target = null;
    }

    private double getEntityArmor(PlayerEntity entityPlayer2) {
        double d2 = (double)0.0F;

        for(int i2 = 0; i2 < 4; ++i2) {
            ItemStack is = (ItemStack)entityPlayer2.inventory.armorInventory.get(i2);
            if (is.getItem() instanceof ArmorItem) {
                d2 += this.getProtectionLvl(is);
            }
        }

        return d2;
    }

    private double getProtectionLvl(ItemStack stack) {
        Item item = stack.getItem();
        if (item instanceof ArmorItem i) {
            double protectionLevel = (double) i.getDamageReduceAmount();
            if (stack.isEnchanted()) {
                protectionLevel += (double) EnchantmentHelper.getEnchantmentLevel(Enchantments.PROTECTION, stack) * 0.25D;
            }
            return protectionLevel;
        } else {
            return 0.0D;
        }
    }


    private double getEntityHealth(LivingEntity ent) {
        if (ent instanceof PlayerEntity player) {
            return (double)(Expensive.getInstance().getFunctionRegistry().getGetHealth().isState() ? PlayerEntity.getHealthFromScoreboard(player)[0] : player.getHealth() + player.getAbsorptionAmount()) * (this.getEntityArmor(player) / (double)20.0F);
        } else {
            return Expensive.getInstance().getFunctionRegistry().getGetHealth().isState() ? (double)PlayerEntity.getHealthFromScoreboard(ent)[0] : (double)(ent.getHealth() + ent.getAbsorptionAmount());
        }
    }

    public ModeSetting getType() {
        return this.type;
    }

    public ModeListSetting getOptions() {
        return this.options;
    }

    public StopWatch getStopWatch() {
        return this.stopWatch;
    }

    public static LivingEntity getTarget() {
        return target;
    }

    private static enum HitBox {
        Head,
        Chest,
        Leggs;

        private HitBox() {
        }
    }
}
нахуя ты типов левой рукой бить собиаешься?
 
вчера сделол килку еле как пофиксил ошибки запускаю думаю щас будет бить в итоге ничего просто включил она не бьет
уже все перепробовал ничо не помогает


Код:
Expand Collapse Copy
package im.expensive.functions.impl.combat;

import im.expensive.Expensive;
import im.expensive.events.EventInput;
import im.expensive.events.EventMotion;
import im.expensive.events.EventPacket;
import im.expensive.events.EventTarget;
import im.expensive.events.EventUpdate;
import im.expensive.events.MovingEvent;
import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.animations.AnimationNew;
import im.expensive.utils.animations.Easing;
import im.expensive.utils.math.SensUtils;
import im.expensive.utils.math.StopWatch;
import im.expensive.utils.player.InventoryUtil;
import im.expensive.utils.player.MoveUtils;
import im.expensive.utils.player.RayTraceUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import net.minecraft.block.material.Material;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.enchantment.Enchantments;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.MobEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ArmorItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.network.IPacket;
import net.minecraft.network.play.client.CAnimateHandPacket;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.potion.Effects;
import net.minecraft.tags.FluidTags;
import net.minecraft.util.Hand;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.optifine.util.WorldUtils;

@FunctionRegister(
        name = "Attack Aura",
        type = Category.Combat
)
public class KillAura extends Function {
    private final ModeSetting type = new ModeSetting("Тип", "Плавная", new String[]{"Плавная", "Резкая"});
    public final SliderSetting attackRange = new SliderSetting("Дистанция аттаки", 3.0F, 3.0F, 6.0F, 0.1F);
    final ModeListSetting targets = new ModeListSetting("Таргеты", new BooleanSetting[]{new BooleanSetting("Игроки", true), new BooleanSetting("Голые", true), new BooleanSetting("Мобы", false), new BooleanSetting("Друзья", false)});
    final BooleanSetting onlySpaceCritical = new BooleanSetting("Только в прыжке", true);
    final ModeListSetting options = new ModeListSetting("Опции", new BooleanSetting[]{new BooleanSetting("Только криты", true), new BooleanSetting("Ломать щит", true), new BooleanSetting("Отжимать щит", true), new BooleanSetting("Тпс синх", false), new BooleanSetting("Коррекция движения", true), new BooleanSetting("Бэк Треки", true), new BooleanSetting("Проверка наводки", false)});
    final ModeSetting correctionType = new ModeSetting("Тип коррекции", "Незаметный", new String[]{"Незаметный", "Сфокусированный"});
    final ModeSetting hands = new ModeSetting("Бить рукой", "Правой", new String[]{"Правой", "Левой"});
    private final StopWatch stopWatch = new StopWatch();
    public Vector2f rotateVector = new Vector2f(0.0F, 0.0F);
    public static LivingEntity target;
    private Entity selected;
    Vector2f fakerotate = new Vector2f(0.0F, 0.0F);
    int ticks = 0;
    boolean isRotated;
    final AutoPotion autoPotion;
    AnimationNew animationNew;
    StopWatch timerTimes;
    public double lastSpeed;
    public boolean attack;
    boolean testABoolean;
    public boolean targetAir;
    StopWatch axyenno;
    public float speed;
    boolean axyeenn;
    public boolean attacksave;
    public boolean savePacket;
    public Vector3d test;
    boolean targetVisible;
    private final CopyOnWriteArrayList<IPacket> packets;
    StopWatch arara;
    StopWatch test1;

    public KillAura(AutoPotion autoPotion) {
        this.animationNew = new AnimationNew(Easing.EASE_OUT_EXPO, 100L);
        this.timerTimes = new StopWatch();
        this.lastSpeed = (double)0.0F;
        this.attack = false;
        this.testABoolean = false;
        this.axyenno = new StopWatch();
        this.speed = 0.0F;
        this.axyeenn = false;
        this.attacksave = false;
        this.savePacket = false;
        this.test = Vector3d.ZERO;
        this.packets = new CopyOnWriteArrayList();
        this.arara = new StopWatch();
        this.test1 = new StopWatch();
        this.autoPotion = autoPotion;
        this.addSettings(new Setting[]{this.type, this.attackRange, this.targets, this.options, this.correctionType, this.onlySpaceCritical, this.hands});
    }

    @EventTarget
    public void onInput(EventInput eventInput) {
        if ((Boolean)this.options.get(4).get() && this.correctionType.is("Незаметный") && target != null && mc.player != null && !mc.player.isElytraFlying() && Expensive.getInstance().getFunctionRegistry().getFreeCam().player == null) {
            MoveUtils.fixMovement(eventInput, this.rotateVector.x);
        }

    }

    @EventTarget
    public void onUpdate(EventUpdate e) {
        if (target == null || !this.isValid(target)) {
            this.updateTarget();
        }

        if ((Boolean)this.options.get(5).get()) {
            this.resolvePlayers();
        }

        if ((Boolean)this.options.get(5).get()) {
            this.releaseResolver();
        }

        if (target != null && this.timerTimes.isReached(200L)) {
            double dx = getTarget().getPosX() - getTarget().prevPosX;
            double dy = getTarget().getPosY() - getTarget().prevPosY;
            double dz = getTarget().getPosZ() - getTarget().prevPosZ;
            double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
            double speed22 = distance * (double)20.0F;
            this.lastSpeed = speed22;
            this.timerTimes.reset();
        }
       
       

        if (target != null && (!this.autoPotion.isState() || !this.autoPotion.isActive())) {
            this.isRotated = false;
            if (this.shouldPlayerFalling() && this.stopWatch.hasTimeElapsed()) {
                if (false && RayTraceUtils.rayTraceSingleEntity(this.rotateVector.x, this.rotateVector.y, (double)(Float)this.attackRange.get(), target) || !(Boolean)this.options.get(6).get() || this.type.is("Резкая") || mc.player.isElytraFlying()) {
                    this.updateAttack();
                    this.ticks = 1;
                }
            } else {
                this.attack = false;
            }

            if ((!this.type.is("Резкая") || mc.player.isElytraFlying()) && !Expensive.getInstance().getFunctionRegistry().getElytraFly().flying) {
                if (!this.isRotated) {
                    this.updateRotation(1.0F);
                }
            } else if (this.ticks > 0) {
                this.attack = true;
                this.updateRotation(1.0F);
                --this.ticks;
            } else {
                this.reset();
                this.attack = false;
            }
        } else {
            this.stopWatch.setLastMS(0L);
            this.reset();
        }

    }

    public void resolvePlayers() {
        for(PlayerEntity player : mc.world.getPlayers()) {
            if (player instanceof ClientPlayerEntity entity) {
                entity.resolve();
            }
        }

    }

    public void releaseResolver() {
        for(PlayerEntity player : mc.world.getPlayers()) {
            if (player instanceof ClientPlayerEntity entity) {
                entity.releaseResolver();
            }
        }

    }

    @EventTarget
    public void Moving(MovingEvent event) {
        if (target != null) {
            this.testABoolean = !this.collisionPredict(target.getPositionVec(), target);
        }

    }

    private double getDegree(LivingEntity entity) {
        Vector3d vec = this.getVector3d(mc.player, entity, true);
        double yaw = MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - (double)90.0F);
        double delta = MathHelper.wrapDegrees(yaw - (double)this.rotateVector.x);
        if (Math.abs(delta) > (double)180.0F) {
            delta -= Math.signum(delta) * (double)360.0F;
        }

        return Math.abs(delta);
    }

    public boolean collisionPredict(Vector3d to, LivingEntity target) {
        boolean prevCollision = mc.world.getCollisionShapes(target, target.getBoundingBox().shrink((double)0.0625F)).toList().isEmpty();
        Vector3d backUp = new Vector3d(target.getPosX(), target.getPosY(), target.getPosZ());
        target.setPosition(to.x, to.y, to.z);
        boolean collision = mc.world.getCollisionShapes(target, mc.player.getBoundingBox().shrink((double)0.0625F)).toList().isEmpty() && prevCollision;
        target.setPosition(backUp.x, backUp.y, backUp.z);
        return collision;
    }

    @EventTarget
    private void onWalking(EventMotion e) {
        if (target != null && (!this.autoPotion.isState() || !this.autoPotion.isActive())) {
            float yaw = this.rotateVector.x;
            float pitch = this.rotateVector.y;
            float fakeyaw = this.fakerotate.x;
            float fakepitch = this.fakerotate.y;
            e.setYaw(yaw);
            e.setPitch(pitch);
            mc.player.rotationYawHead = yaw;
            mc.player.renderYawOffset = yaw;
            mc.player.rotationPitchHead = pitch;
        }
    }

    private void updateTarget() {
        List<LivingEntity> targets = new ArrayList();

        for(Entity entity : mc.world.getAllEntities()) {
            if (entity instanceof LivingEntity living) {
                if (this.isValid(living)) {
                    targets.add(living);
                }
            }
        }

        if (targets.isEmpty()) {
            target = null;
        } else if (targets.size() == 1) {
            target = (LivingEntity)targets.get(0);
        } else {
            targets.sort(Comparator.comparingDouble((object) -> {
                if (object instanceof PlayerEntity player) {
                    return -this.getEntityArmor(player);
                } else if (object instanceof LivingEntity base) {
                    return (double)(-base.getTotalArmorValue());
                } else {
                    return (double)0.0F;
                }
            }).thenComparing((object, object2) -> {
                double d2 = this.getEntityHealth((LivingEntity)object);
                double d3 = this.getEntityHealth((LivingEntity)object2);
                return Double.compare(d2, d3);
            }).thenComparing((object, object2) -> {
                double d2 = (double)mc.player.getDistance((LivingEntity)object);
                double d3 = (double)mc.player.getDistance((LivingEntity)object2);
                return Double.compare(d2, d3);
            }));
            target = (LivingEntity)targets.get(0);
        }
    }

    private void updateRotation(float speed) {
        Vector3d vec3d = this.getVector3d(mc.player, target, true);
        Vector3d fakeVec3d = this.getVector3d(mc.player, target, false);
        float rawYaw = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec3d.z, vec3d.x)) - (double)90.0F);
        float rawPitch = (float)MathHelper.wrapDegrees(Math.toDegrees(-Math.atan2(vec3d.y, Math.hypot(vec3d.x, vec3d.z))));
        float yawDelta = MathHelper.wrapDegrees(rawYaw - this.rotateVector.x);
        float pitchDelta = MathHelper.wrapDegrees(rawPitch - this.rotateVector.y);
        if (Math.abs(yawDelta) > 180.0F) {
            yawDelta -= Math.signum(yawDelta) * 360.0F;
        }

        float additionYaw = MathHelper.clamp(yawDelta, -180.0F * speed, 180.0F * speed);
        float additionPitch = MathHelper.clamp(pitchDelta, -90.0F * speed, 90.0F * speed);
        float yaw = this.rotateVector.x + additionYaw;
        float pitch = this.rotateVector.y + additionPitch;
        float x1 = (float)SensUtils.getSensitivity((double)yaw);
        float x2 = (float)SensUtils.getSensitivity((double)MathHelper.clamp(pitch, -89.0F, 89.0F));
        float fakeRawYaw = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(fakeVec3d.z, fakeVec3d.x)) - (double)90.0F);
        float fakeRawPitch = (float)MathHelper.wrapDegrees(Math.toDegrees(-Math.atan2(fakeVec3d.y, Math.hypot(fakeVec3d.x, fakeVec3d.z))));
        float fakeYawDelta = MathHelper.wrapDegrees(fakeRawYaw - this.fakerotate.x);
        float fakePitchDelta = MathHelper.wrapDegrees(fakeRawPitch - this.fakerotate.y);
        if (Math.abs(fakeYawDelta) > 180.0F) {
            fakeYawDelta -= Math.signum(fakeYawDelta) * 360.0F;
        }

        float fakeAdditionYaw = MathHelper.clamp(fakeYawDelta, -180.0F * speed, 180.0F * speed);
        float fakeAdditionPitch = MathHelper.clamp(fakePitchDelta, -90.0F * speed, 90.0F * speed);
        float fakeYaw = this.fakerotate.x + fakeAdditionYaw;
        float fakePitch = this.fakerotate.y + fakeAdditionPitch;
        float fakeX1 = (float)SensUtils.getSensitivity((double)fakeYaw);
        float fakeX2 = (float)SensUtils.getSensitivity((double)MathHelper.clamp(fakePitch, -90.0F, 90.0F));
        this.rotateVector.x = x1;
        this.rotateVector.y = x2;
        this.fakerotate.x = fakeX1;
        this.fakerotate.y = fakeX2;
        if ((Boolean)this.options.get(4).get()) {
            mc.player.rotationPitchOffset = x2;
            mc.player.rotationYawOffset = x1;
        }

    }

    @EventTarget
    private void onRender(WorldEvent event) {
    }

    private Vector3d getVector3d(LivingEntity me, LivingEntity to, boolean targetAir) {
        float dist = 0.0F;
        if (target != null) {
            double dx = getTarget().getPosX() - getTarget().prevPosX;
            double dy = getTarget().getPosY() - getTarget().prevPosY;
            double dz = getTarget().getPosZ() - getTarget().prevPosZ;
            double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
            dist = (float)distance;
        }

        if (this.axyenno.isReached(1000L) && mc.player.isElytraFlying()) {
            this.axyeenn = true;
            this.axyenno.reset();
        }

        if (this.stopWatch.getTime() > 100L) {
            this.attacksave = true;
        } else if (this.stopWatch.getTime() < 100L) {
            this.attacksave = false;
        }

        this.speed = dist;
        boolean xuy = target != null && targetAir && Expensive.getInstance().getFunctionRegistry().getElytraTarget().vibor.getIndex() == 1 ? this.lastSpeed >= (double)20.0F : target.isElytraFlying() && mc.player.isElytraFlying() && !Expensive.getInstance().getFunctionRegistry().getFly().isState() && !Expensive.getInstance().getFunctionRegistry().getFreeCam().isState() && (Boolean)Expensive.getInstance().getFunctionRegistry().getElytraTarget().target.get();
        float SpeedBypass = xuy ? 3.0F + (Float)Expensive.getInstance().getFunctionRegistry().getElytraTarget().distance.get() : 0.0F;
        Vector3d targetPos = to.getPositionVec().add(to.getForward().normalize().scale((double)SpeedBypass));
        Vector3d vec = target.getPositionVec().add((double)0.0F, MathHelper.clamp(mc.player.getEyePosition(mc.getRenderPartialTicks()).y - target.getPosY(), (double)0.0F, (double)target.getHeight() * (MathHelper.getStrictDistance(target) / (double)Math.max(mc.playerController.extendedReach() ? 6.0F : 3.0F, (Float)this.attackRange.get()))), (double)0.0F).subtract(mc.player.getEyePosition(mc.getRenderPartialTicks())).normalize();
        this.targetAir = xuy;
        return targetAir && xuy ? new Vector3d(targetPos.getX() - me.getPosX(), targetPos.getY() - me.getPosY(), targetPos.getZ() - me.getPosZ()) : vec;
    }

    @EventTarget
    public void aragyntang(EventMotion e) {
    }

    @EventTarget
    public void ogogo(EventPacket e) {
    }

    private Vector3d getBestVec(LivingEntity LivingEntity2, double dst) {
        if (LivingEntity2.getDistanceSq(LivingEntity2) > (double)36.0F) {
            return null;
        } else {
            Vector3d headPoint = this.getDeltaForCord(KillAura.HitBox.Head, LivingEntity2);
            Vector3d chestPoint = this.getDeltaForCord(KillAura.HitBox.Chest, LivingEntity2);
            Vector3d leggsPoint = this.getDeltaForCord(KillAura.HitBox.Leggs, LivingEntity2);
            if (mc.player.isElytraFlying()) {
                return headPoint;
            } else {
                ArrayList<Vector3d> arrayList = new ArrayList(Arrays.asList(headPoint, chestPoint, leggsPoint));
                if (arrayList.isEmpty()) {
                    return null;
                } else {
                    arrayList.sort((point1, point2) -> (int)((Math.abs(this.getDeltaForCoord(this.rotateVector, point1).y) - Math.abs(this.getDeltaForCoord(this.rotateVector, point2).y)) * 1000.0F));
                    return (Vector3d)arrayList.get(0);
                }
            }
        }
    }

    private Vector3d getDeltaForCord(HitBox a2, LivingEntity trgt) {
        double var10000;
        switch (a2) {
            case Head -> var10000 = (double)trgt.getEyeHeight();
            case Chest -> var10000 = (double)(trgt.getEyeHeight() / 2.0F);
            case Leggs -> var10000 = 0.05;
            default -> throw new IncompatibleClassChangeError();
        }

        double d2 = var10000;
        return trgt.getPositionVec().add((double)0.0F, d2, (double)0.0F);
    }

    private Vector2f getDeltaForCoord(Vector2f vector2f2, Vector3d jE2) {
        double d2 = jE2.x - mc.player.getPosX();
        double d3 = jE2.y - mc.player.getEyePosition(1.0F).y;
        double d4 = jE2.z - mc.player.getPosZ();
        double d5 = Math.sqrt(d2 * d2 + d4 * d4);
        float f2 = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(d4, d2)) - (double)90.0F);
        float f3 = (float)(-Math.toDegrees(Math.atan2(d3, d5)));
        float f4 = MathHelper.wrapDegrees(f2 - vector2f2.x);
        float f5 = f3 - vector2f2.y;
        return new Vector2f(f4, f5);
    }


    private void updateAttack() {
        if (mc.player.isBlocking() && (Boolean)this.options.getValueByName("Отжимать щит").get()) {
            mc.playerController.onStoppedUsingItem(mc.player);
            mc.player.swingArm(Hand.MAIN_HAND);
            mc.playerController.attackEntity(mc.player, target);
            mc.player.connection.sendPacket(new CAnimateHandPacket(Hand.MAIN_HAND));
        }

        this.stopWatch.setLastMS(460L);
        mc.playerController.attackEntity(mc.player, target);
        mc.player.swingArm(this.hands.getIndex() == 0 ? Hand.MAIN_HAND : Hand.OFF_HAND);
        LivingEntity var2 = target;
        if (var2 instanceof PlayerEntity player) {
            if ((Boolean)this.options.getValueByName("Ломать щит").get()) {
                this.breakShieldPlayer(player);
            }
        }

    }

    private boolean shouldPlayerFalling() {
        boolean onSpace = !(Boolean)this.onlySpaceCritical.get() && mc.player.isOnGround() && !mc.gameSettings.keyBindJump.isKeyDown();
        boolean reasonForAttack = mc.player.isPotionActive(Effects.BLINDNESS) || mc.player.isOnLadder() || mc.player.isInWater() && mc.player.areEyesInFluid(FluidTags.WATER) || mc.player.isRidingHorse() || mc.player.abilities.isFlying || WorldUtils.isInMaterial(Material.WEB) || mc.player.isElytraFlying() || mc.player.isInLava() && mc.player.areEyesInFluid(FluidTags.LAVA) || mc.player.isPotionActive(Effects.LEVITATION) || mc.player.isPassenger();
        double dist = (double)0.0F;
        float cooldown = mc.player.getCooledAttackStrength(0.5f);
        if (cooldown < 0.9f) return false;
        dist = mc.player.getDistanceEyePos(target);
        if (!(dist >= (double)(Float)this.attackRange.get()) && mc.player.getCooledAttackStrength((Boolean)this.options.get(3).get() ? -Expensive.getInstance().getTPSCalcNew().getAdjustTicks() + 1.5F : 1.5F) >= 0.93F) {
            if (Expensive.getInstance().getFunctionRegistry().getFreeCam().player != null) {
                return true;
            } else if (!reasonForAttack && (Boolean)this.options.getValueByName("Только криты").get()) {
                return onSpace || !mc.player.isOnGround() && mc.player.fallDistance > 0.0F;
            } else {
                return true;
            }
        } else {
            return false;
        }
    }

    private boolean isValid(LivingEntity entity) {
        if (entity instanceof ClientPlayerEntity) {
            return false;
        } else if (entity.ticksExisted < 3) {
            return false;
        } else if (mc.player.getDistanceEyePos(entity) > (double)((Float)this.attackRange.get() + (float)(mc.player.isElytraFlying() && !Expensive.getInstance().getFunctionRegistry().getElytraFly().flying ? 30 : 0))) {
            return false;
        } else {
            if (entity instanceof PlayerEntity) {
                PlayerEntity p = (PlayerEntity)entity;
                if (AntiBot.checkBot(entity)) {
                    return false;
                }



                if (!(Boolean)this.targets.getValueByName("Друзья").get() && Expensive.getInstance().getFriendStorage().isFriend(p.getName().getString()) || p.getName().getString().equals("Friend")) {
                    return false;
                }



                if (p.getName().getString().equalsIgnoreCase(mc.player.getName().getString())) {
                    return false;
                }
            }

            if (entity.isAlive()) {
                if (entity instanceof MobEntity && (Boolean)this.targets.getValueByName("Мобы").get()) {
                    return true;
                }

                if (entity.botEntity) {
                    if (entity instanceof PlayerEntity && (Boolean)this.targets.getValueByName("Игроки").get()) {
                        return true;
                    }

                    if (entity instanceof PlayerEntity && entity.getTotalArmorValue() == 0 && (Boolean)this.targets.getValueByName("Голые").get()) {
                        return true;
                    }
                }
            }

            return false;
        }
    }

    private void breakShieldPlayer(PlayerEntity entity) {
        if (entity.isBlocking()) {
            int invSlot = InventoryUtil.getInstance().getAxeInInventory(false);
            int hotBarSlot = InventoryUtil.getInstance().getAxeInInventory(true);
            if (hotBarSlot == -1 && invSlot != -1) {
                int bestSlot = InventoryUtil.getInstance().findBestSlotInHotBar();
                mc.playerController.windowClick(0, invSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, bestSlot + 36, 0, ClickType.PICKUP, mc.player);
                mc.player.connection.sendPacket(new CHeldItemChangePacket(bestSlot));
                mc.playerController.attackEntity(mc.player, entity);
                mc.player.swingArm(Hand.MAIN_HAND);
                mc.player.connection.sendPacket(new CHeldItemChangePacket(mc.player.inventory.currentItem));
                mc.playerController.windowClick(0, bestSlot + 36, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, invSlot, 0, ClickType.PICKUP, mc.player);
            }

            if (hotBarSlot != -1) {
                mc.player.connection.sendPacket(new CHeldItemChangePacket(hotBarSlot));
                mc.playerController.attackEntity(mc.player, entity);
                mc.player.swingArm(Hand.MAIN_HAND);
                mc.player.connection.sendPacket(new CHeldItemChangePacket(mc.player.inventory.currentItem));
            }
        }

    }

    private void reset() {
        if (!(Boolean)this.options.get(4).get() || (Boolean)this.options.get(4).get()) {
            mc.player.rotationYawOffset = (float)Integer.MIN_VALUE;
            mc.player.rotationPitchOffset = (float)Integer.MIN_VALUE;
        }

        this.rotateVector = new Vector2f(mc.player.rotationYaw, mc.player.rotationPitch);
        this.fakerotate = new Vector2f(mc.player.rotationYaw, mc.player.rotationPitch);
    }

    public boolean isEnable() {
        super.onEnable();
        this.savePacket = true;
        this.reset();
        target = null;
        return false;
    }

    public void onDisable() {
        super.onDisable();
        this.attack = false;
        this.savePacket = true;
        this.reset();
        this.stopWatch.setLastMS(0L);
        target = null;
    }

    private double getEntityArmor(PlayerEntity entityPlayer2) {
        double d2 = (double)0.0F;

        for(int i2 = 0; i2 < 4; ++i2) {
            ItemStack is = (ItemStack)entityPlayer2.inventory.armorInventory.get(i2);
            if (is.getItem() instanceof ArmorItem) {
                d2 += this.getProtectionLvl(is);
            }
        }

        return d2;
    }

    private double getProtectionLvl(ItemStack stack) {
        Item item = stack.getItem();
        if (item instanceof ArmorItem i) {
            double protectionLevel = (double) i.getDamageReduceAmount();
            if (stack.isEnchanted()) {
                protectionLevel += (double) EnchantmentHelper.getEnchantmentLevel(Enchantments.PROTECTION, stack) * 0.25D;
            }
            return protectionLevel;
        } else {
            return 0.0D;
        }
    }


    private double getEntityHealth(LivingEntity ent) {
        if (ent instanceof PlayerEntity player) {
            return (double)(Expensive.getInstance().getFunctionRegistry().getGetHealth().isState() ? PlayerEntity.getHealthFromScoreboard(player)[0] : player.getHealth() + player.getAbsorptionAmount()) * (this.getEntityArmor(player) / (double)20.0F);
        } else {
            return Expensive.getInstance().getFunctionRegistry().getGetHealth().isState() ? (double)PlayerEntity.getHealthFromScoreboard(ent)[0] : (double)(ent.getHealth() + ent.getAbsorptionAmount());
        }
    }

    public ModeSetting getType() {
        return this.type;
    }

    public ModeListSetting getOptions() {
        return this.options;
    }

    public StopWatch getStopWatch() {
        return this.stopWatch;
    }

    public static LivingEntity getTarget() {
        return target;
    }

    private static enum HitBox {
        Head,
        Chest,
        Leggs;

        private HitBox() {
        }
    }
}
пиздец
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
наверни говна олух
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
мм
вчера сделол килку еле как пофиксил ошибки запускаю думаю щас будет бить в итоге ничего просто включил она не бьет
уже все перепробовал ничо не помогает


Код:
Expand Collapse Copy
package im.expensive.functions.impl.combat;

import im.expensive.Expensive;
import im.expensive.events.EventInput;
import im.expensive.events.EventMotion;
import im.expensive.events.EventPacket;
import im.expensive.events.EventTarget;
import im.expensive.events.EventUpdate;
import im.expensive.events.MovingEvent;
import im.expensive.events.WorldEvent;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.animations.AnimationNew;
import im.expensive.utils.animations.Easing;
import im.expensive.utils.math.SensUtils;
import im.expensive.utils.math.StopWatch;
import im.expensive.utils.player.InventoryUtil;
import im.expensive.utils.player.MoveUtils;
import im.expensive.utils.player.RayTraceUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import net.minecraft.block.material.Material;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.enchantment.Enchantments;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.MobEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ArmorItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.network.IPacket;
import net.minecraft.network.play.client.CAnimateHandPacket;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.potion.Effects;
import net.minecraft.tags.FluidTags;
import net.minecraft.util.Hand;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.optifine.util.WorldUtils;

@FunctionRegister(
        name = "Attack Aura",
        type = Category.Combat
)
public class KillAura extends Function {
    private final ModeSetting type = new ModeSetting("Тип", "Плавная", new String[]{"Плавная", "Резкая"});
    public final SliderSetting attackRange = new SliderSetting("Дистанция аттаки", 3.0F, 3.0F, 6.0F, 0.1F);
    final ModeListSetting targets = new ModeListSetting("Таргеты", new BooleanSetting[]{new BooleanSetting("Игроки", true), new BooleanSetting("Голые", true), new BooleanSetting("Мобы", false), new BooleanSetting("Друзья", false)});
    final BooleanSetting onlySpaceCritical = new BooleanSetting("Только в прыжке", true);
    final ModeListSetting options = new ModeListSetting("Опции", new BooleanSetting[]{new BooleanSetting("Только криты", true), new BooleanSetting("Ломать щит", true), new BooleanSetting("Отжимать щит", true), new BooleanSetting("Тпс синх", false), new BooleanSetting("Коррекция движения", true), new BooleanSetting("Бэк Треки", true), new BooleanSetting("Проверка наводки", false)});
    final ModeSetting correctionType = new ModeSetting("Тип коррекции", "Незаметный", new String[]{"Незаметный", "Сфокусированный"});
    final ModeSetting hands = new ModeSetting("Бить рукой", "Правой", new String[]{"Правой", "Левой"});
    private final StopWatch stopWatch = new StopWatch();
    public Vector2f rotateVector = new Vector2f(0.0F, 0.0F);
    public static LivingEntity target;
    private Entity selected;
    Vector2f fakerotate = new Vector2f(0.0F, 0.0F);
    int ticks = 0;
    boolean isRotated;
    final AutoPotion autoPotion;
    AnimationNew animationNew;
    StopWatch timerTimes;
    public double lastSpeed;
    public boolean attack;
    boolean testABoolean;
    public boolean targetAir;
    StopWatch axyenno;
    public float speed;
    boolean axyeenn;
    public boolean attacksave;
    public boolean savePacket;
    public Vector3d test;
    boolean targetVisible;
    private final CopyOnWriteArrayList<IPacket> packets;
    StopWatch arara;
    StopWatch test1;

    public KillAura(AutoPotion autoPotion) {
        this.animationNew = new AnimationNew(Easing.EASE_OUT_EXPO, 100L);
        this.timerTimes = new StopWatch();
        this.lastSpeed = (double)0.0F;
        this.attack = false;
        this.testABoolean = false;
        this.axyenno = new StopWatch();
        this.speed = 0.0F;
        this.axyeenn = false;
        this.attacksave = false;
        this.savePacket = false;
        this.test = Vector3d.ZERO;
        this.packets = new CopyOnWriteArrayList();
        this.arara = new StopWatch();
        this.test1 = new StopWatch();
        this.autoPotion = autoPotion;
        this.addSettings(new Setting[]{this.type, this.attackRange, this.targets, this.options, this.correctionType, this.onlySpaceCritical, this.hands});
    }

    @EventTarget
    public void onInput(EventInput eventInput) {
        if ((Boolean)this.options.get(4).get() && this.correctionType.is("Незаметный") && target != null && mc.player != null && !mc.player.isElytraFlying() && Expensive.getInstance().getFunctionRegistry().getFreeCam().player == null) {
            MoveUtils.fixMovement(eventInput, this.rotateVector.x);
        }

    }

    @EventTarget
    public void onUpdate(EventUpdate e) {
        if (target == null || !this.isValid(target)) {
            this.updateTarget();
        }

        if ((Boolean)this.options.get(5).get()) {
            this.resolvePlayers();
        }

        if ((Boolean)this.options.get(5).get()) {
            this.releaseResolver();
        }

        if (target != null && this.timerTimes.isReached(200L)) {
            double dx = getTarget().getPosX() - getTarget().prevPosX;
            double dy = getTarget().getPosY() - getTarget().prevPosY;
            double dz = getTarget().getPosZ() - getTarget().prevPosZ;
            double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
            double speed22 = distance * (double)20.0F;
            this.lastSpeed = speed22;
            this.timerTimes.reset();
        }
       
       

        if (target != null && (!this.autoPotion.isState() || !this.autoPotion.isActive())) {
            this.isRotated = false;
            if (this.shouldPlayerFalling() && this.stopWatch.hasTimeElapsed()) {
                if (false && RayTraceUtils.rayTraceSingleEntity(this.rotateVector.x, this.rotateVector.y, (double)(Float)this.attackRange.get(), target) || !(Boolean)this.options.get(6).get() || this.type.is("Резкая") || mc.player.isElytraFlying()) {
                    this.updateAttack();
                    this.ticks = 1;
                }
            } else {
                this.attack = false;
            }

            if ((!this.type.is("Резкая") || mc.player.isElytraFlying()) && !Expensive.getInstance().getFunctionRegistry().getElytraFly().flying) {
                if (!this.isRotated) {
                    this.updateRotation(1.0F);
                }
            } else if (this.ticks > 0) {
                this.attack = true;
                this.updateRotation(1.0F);
                --this.ticks;
            } else {
                this.reset();
                this.attack = false;
            }
        } else {
            this.stopWatch.setLastMS(0L);
            this.reset();
        }

    }

    public void resolvePlayers() {
        for(PlayerEntity player : mc.world.getPlayers()) {
            if (player instanceof ClientPlayerEntity entity) {
                entity.resolve();
            }
        }

    }

    public void releaseResolver() {
        for(PlayerEntity player : mc.world.getPlayers()) {
            if (player instanceof ClientPlayerEntity entity) {
                entity.releaseResolver();
            }
        }

    }

    @EventTarget
    public void Moving(MovingEvent event) {
        if (target != null) {
            this.testABoolean = !this.collisionPredict(target.getPositionVec(), target);
        }

    }

    private double getDegree(LivingEntity entity) {
        Vector3d vec = this.getVector3d(mc.player, entity, true);
        double yaw = MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - (double)90.0F);
        double delta = MathHelper.wrapDegrees(yaw - (double)this.rotateVector.x);
        if (Math.abs(delta) > (double)180.0F) {
            delta -= Math.signum(delta) * (double)360.0F;
        }

        return Math.abs(delta);
    }

    public boolean collisionPredict(Vector3d to, LivingEntity target) {
        boolean prevCollision = mc.world.getCollisionShapes(target, target.getBoundingBox().shrink((double)0.0625F)).toList().isEmpty();
        Vector3d backUp = new Vector3d(target.getPosX(), target.getPosY(), target.getPosZ());
        target.setPosition(to.x, to.y, to.z);
        boolean collision = mc.world.getCollisionShapes(target, mc.player.getBoundingBox().shrink((double)0.0625F)).toList().isEmpty() && prevCollision;
        target.setPosition(backUp.x, backUp.y, backUp.z);
        return collision;
    }

    @EventTarget
    private void onWalking(EventMotion e) {
        if (target != null && (!this.autoPotion.isState() || !this.autoPotion.isActive())) {
            float yaw = this.rotateVector.x;
            float pitch = this.rotateVector.y;
            float fakeyaw = this.fakerotate.x;
            float fakepitch = this.fakerotate.y;
            e.setYaw(yaw);
            e.setPitch(pitch);
            mc.player.rotationYawHead = yaw;
            mc.player.renderYawOffset = yaw;
            mc.player.rotationPitchHead = pitch;
        }
    }

    private void updateTarget() {
        List<LivingEntity> targets = new ArrayList();

        for(Entity entity : mc.world.getAllEntities()) {
            if (entity instanceof LivingEntity living) {
                if (this.isValid(living)) {
                    targets.add(living);
                }
            }
        }

        if (targets.isEmpty()) {
            target = null;
        } else if (targets.size() == 1) {
            target = (LivingEntity)targets.get(0);
        } else {
            targets.sort(Comparator.comparingDouble((object) -> {
                if (object instanceof PlayerEntity player) {
                    return -this.getEntityArmor(player);
                } else if (object instanceof LivingEntity base) {
                    return (double)(-base.getTotalArmorValue());
                } else {
                    return (double)0.0F;
                }
            }).thenComparing((object, object2) -> {
                double d2 = this.getEntityHealth((LivingEntity)object);
                double d3 = this.getEntityHealth((LivingEntity)object2);
                return Double.compare(d2, d3);
            }).thenComparing((object, object2) -> {
                double d2 = (double)mc.player.getDistance((LivingEntity)object);
                double d3 = (double)mc.player.getDistance((LivingEntity)object2);
                return Double.compare(d2, d3);
            }));
            target = (LivingEntity)targets.get(0);
        }
    }

    private void updateRotation(float speed) {
        Vector3d vec3d = this.getVector3d(mc.player, target, true);
        Vector3d fakeVec3d = this.getVector3d(mc.player, target, false);
        float rawYaw = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec3d.z, vec3d.x)) - (double)90.0F);
        float rawPitch = (float)MathHelper.wrapDegrees(Math.toDegrees(-Math.atan2(vec3d.y, Math.hypot(vec3d.x, vec3d.z))));
        float yawDelta = MathHelper.wrapDegrees(rawYaw - this.rotateVector.x);
        float pitchDelta = MathHelper.wrapDegrees(rawPitch - this.rotateVector.y);
        if (Math.abs(yawDelta) > 180.0F) {
            yawDelta -= Math.signum(yawDelta) * 360.0F;
        }

        float additionYaw = MathHelper.clamp(yawDelta, -180.0F * speed, 180.0F * speed);
        float additionPitch = MathHelper.clamp(pitchDelta, -90.0F * speed, 90.0F * speed);
        float yaw = this.rotateVector.x + additionYaw;
        float pitch = this.rotateVector.y + additionPitch;
        float x1 = (float)SensUtils.getSensitivity((double)yaw);
        float x2 = (float)SensUtils.getSensitivity((double)MathHelper.clamp(pitch, -89.0F, 89.0F));
        float fakeRawYaw = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(fakeVec3d.z, fakeVec3d.x)) - (double)90.0F);
        float fakeRawPitch = (float)MathHelper.wrapDegrees(Math.toDegrees(-Math.atan2(fakeVec3d.y, Math.hypot(fakeVec3d.x, fakeVec3d.z))));
        float fakeYawDelta = MathHelper.wrapDegrees(fakeRawYaw - this.fakerotate.x);
        float fakePitchDelta = MathHelper.wrapDegrees(fakeRawPitch - this.fakerotate.y);
        if (Math.abs(fakeYawDelta) > 180.0F) {
            fakeYawDelta -= Math.signum(fakeYawDelta) * 360.0F;
        }

        float fakeAdditionYaw = MathHelper.clamp(fakeYawDelta, -180.0F * speed, 180.0F * speed);
        float fakeAdditionPitch = MathHelper.clamp(fakePitchDelta, -90.0F * speed, 90.0F * speed);
        float fakeYaw = this.fakerotate.x + fakeAdditionYaw;
        float fakePitch = this.fakerotate.y + fakeAdditionPitch;
        float fakeX1 = (float)SensUtils.getSensitivity((double)fakeYaw);
        float fakeX2 = (float)SensUtils.getSensitivity((double)MathHelper.clamp(fakePitch, -90.0F, 90.0F));
        this.rotateVector.x = x1;
        this.rotateVector.y = x2;
        this.fakerotate.x = fakeX1;
        this.fakerotate.y = fakeX2;
        if ((Boolean)this.options.get(4).get()) {
            mc.player.rotationPitchOffset = x2;
            mc.player.rotationYawOffset = x1;
        }

    }

    @EventTarget
    private void onRender(WorldEvent event) {
    }

    private Vector3d getVector3d(LivingEntity me, LivingEntity to, boolean targetAir) {
        float dist = 0.0F;
        if (target != null) {
            double dx = getTarget().getPosX() - getTarget().prevPosX;
            double dy = getTarget().getPosY() - getTarget().prevPosY;
            double dz = getTarget().getPosZ() - getTarget().prevPosZ;
            double distance = Math.sqrt(dx * dx + dy * dy + dz * dz);
            dist = (float)distance;
        }

        if (this.axyenno.isReached(1000L) && mc.player.isElytraFlying()) {
            this.axyeenn = true;
            this.axyenno.reset();
        }

        if (this.stopWatch.getTime() > 100L) {
            this.attacksave = true;
        } else if (this.stopWatch.getTime() < 100L) {
            this.attacksave = false;
        }

        this.speed = dist;
        boolean xuy = target != null && targetAir && Expensive.getInstance().getFunctionRegistry().getElytraTarget().vibor.getIndex() == 1 ? this.lastSpeed >= (double)20.0F : target.isElytraFlying() && mc.player.isElytraFlying() && !Expensive.getInstance().getFunctionRegistry().getFly().isState() && !Expensive.getInstance().getFunctionRegistry().getFreeCam().isState() && (Boolean)Expensive.getInstance().getFunctionRegistry().getElytraTarget().target.get();
        float SpeedBypass = xuy ? 3.0F + (Float)Expensive.getInstance().getFunctionRegistry().getElytraTarget().distance.get() : 0.0F;
        Vector3d targetPos = to.getPositionVec().add(to.getForward().normalize().scale((double)SpeedBypass));
        Vector3d vec = target.getPositionVec().add((double)0.0F, MathHelper.clamp(mc.player.getEyePosition(mc.getRenderPartialTicks()).y - target.getPosY(), (double)0.0F, (double)target.getHeight() * (MathHelper.getStrictDistance(target) / (double)Math.max(mc.playerController.extendedReach() ? 6.0F : 3.0F, (Float)this.attackRange.get()))), (double)0.0F).subtract(mc.player.getEyePosition(mc.getRenderPartialTicks())).normalize();
        this.targetAir = xuy;
        return targetAir && xuy ? new Vector3d(targetPos.getX() - me.getPosX(), targetPos.getY() - me.getPosY(), targetPos.getZ() - me.getPosZ()) : vec;
    }

    @EventTarget
    public void aragyntang(EventMotion e) {
    }

    @EventTarget
    public void ogogo(EventPacket e) {
    }

    private Vector3d getBestVec(LivingEntity LivingEntity2, double dst) {
        if (LivingEntity2.getDistanceSq(LivingEntity2) > (double)36.0F) {
            return null;
        } else {
            Vector3d headPoint = this.getDeltaForCord(KillAura.HitBox.Head, LivingEntity2);
            Vector3d chestPoint = this.getDeltaForCord(KillAura.HitBox.Chest, LivingEntity2);
            Vector3d leggsPoint = this.getDeltaForCord(KillAura.HitBox.Leggs, LivingEntity2);
            if (mc.player.isElytraFlying()) {
                return headPoint;
            } else {
                ArrayList<Vector3d> arrayList = new ArrayList(Arrays.asList(headPoint, chestPoint, leggsPoint));
                if (arrayList.isEmpty()) {
                    return null;
                } else {
                    arrayList.sort((point1, point2) -> (int)((Math.abs(this.getDeltaForCoord(this.rotateVector, point1).y) - Math.abs(this.getDeltaForCoord(this.rotateVector, point2).y)) * 1000.0F));
                    return (Vector3d)arrayList.get(0);
                }
            }
        }
    }

    private Vector3d getDeltaForCord(HitBox a2, LivingEntity trgt) {
        double var10000;
        switch (a2) {
            case Head -> var10000 = (double)trgt.getEyeHeight();
            case Chest -> var10000 = (double)(trgt.getEyeHeight() / 2.0F);
            case Leggs -> var10000 = 0.05;
            default -> throw new IncompatibleClassChangeError();
        }

        double d2 = var10000;
        return trgt.getPositionVec().add((double)0.0F, d2, (double)0.0F);
    }

    private Vector2f getDeltaForCoord(Vector2f vector2f2, Vector3d jE2) {
        double d2 = jE2.x - mc.player.getPosX();
        double d3 = jE2.y - mc.player.getEyePosition(1.0F).y;
        double d4 = jE2.z - mc.player.getPosZ();
        double d5 = Math.sqrt(d2 * d2 + d4 * d4);
        float f2 = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(d4, d2)) - (double)90.0F);
        float f3 = (float)(-Math.toDegrees(Math.atan2(d3, d5)));
        float f4 = MathHelper.wrapDegrees(f2 - vector2f2.x);
        float f5 = f3 - vector2f2.y;
        return new Vector2f(f4, f5);
    }


    private void updateAttack() {
        if (mc.player.isBlocking() && (Boolean)this.options.getValueByName("Отжимать щит").get()) {
            mc.playerController.onStoppedUsingItem(mc.player);
            mc.player.swingArm(Hand.MAIN_HAND);
            mc.playerController.attackEntity(mc.player, target);
            mc.player.connection.sendPacket(new CAnimateHandPacket(Hand.MAIN_HAND));
        }

        this.stopWatch.setLastMS(460L);
        mc.playerController.attackEntity(mc.player, target);
        mc.player.swingArm(this.hands.getIndex() == 0 ? Hand.MAIN_HAND : Hand.OFF_HAND);
        LivingEntity var2 = target;
        if (var2 instanceof PlayerEntity player) {
            if ((Boolean)this.options.getValueByName("Ломать щит").get()) {
                this.breakShieldPlayer(player);
            }
        }

    }

    private boolean shouldPlayerFalling() {
        boolean onSpace = !(Boolean)this.onlySpaceCritical.get() && mc.player.isOnGround() && !mc.gameSettings.keyBindJump.isKeyDown();
        boolean reasonForAttack = mc.player.isPotionActive(Effects.BLINDNESS) || mc.player.isOnLadder() || mc.player.isInWater() && mc.player.areEyesInFluid(FluidTags.WATER) || mc.player.isRidingHorse() || mc.player.abilities.isFlying || WorldUtils.isInMaterial(Material.WEB) || mc.player.isElytraFlying() || mc.player.isInLava() && mc.player.areEyesInFluid(FluidTags.LAVA) || mc.player.isPotionActive(Effects.LEVITATION) || mc.player.isPassenger();
        double dist = (double)0.0F;
        float cooldown = mc.player.getCooledAttackStrength(0.5f);
        if (cooldown < 0.9f) return false;
        dist = mc.player.getDistanceEyePos(target);
        if (!(dist >= (double)(Float)this.attackRange.get()) && mc.player.getCooledAttackStrength((Boolean)this.options.get(3).get() ? -Expensive.getInstance().getTPSCalcNew().getAdjustTicks() + 1.5F : 1.5F) >= 0.93F) {
            if (Expensive.getInstance().getFunctionRegistry().getFreeCam().player != null) {
                return true;
            } else if (!reasonForAttack && (Boolean)this.options.getValueByName("Только криты").get()) {
                return onSpace || !mc.player.isOnGround() && mc.player.fallDistance > 0.0F;
            } else {
                return true;
            }
        } else {
            return false;
        }
    }

    private boolean isValid(LivingEntity entity) {
        if (entity instanceof ClientPlayerEntity) {
            return false;
        } else if (entity.ticksExisted < 3) {
            return false;
        } else if (mc.player.getDistanceEyePos(entity) > (double)((Float)this.attackRange.get() + (float)(mc.player.isElytraFlying() && !Expensive.getInstance().getFunctionRegistry().getElytraFly().flying ? 30 : 0))) {
            return false;
        } else {
            if (entity instanceof PlayerEntity) {
                PlayerEntity p = (PlayerEntity)entity;
                if (AntiBot.checkBot(entity)) {
                    return false;
                }



                if (!(Boolean)this.targets.getValueByName("Друзья").get() && Expensive.getInstance().getFriendStorage().isFriend(p.getName().getString()) || p.getName().getString().equals("Friend")) {
                    return false;
                }



                if (p.getName().getString().equalsIgnoreCase(mc.player.getName().getString())) {
                    return false;
                }
            }

            if (entity.isAlive()) {
                if (entity instanceof MobEntity && (Boolean)this.targets.getValueByName("Мобы").get()) {
                    return true;
                }

                if (entity.botEntity) {
                    if (entity instanceof PlayerEntity && (Boolean)this.targets.getValueByName("Игроки").get()) {
                        return true;
                    }

                    if (entity instanceof PlayerEntity && entity.getTotalArmorValue() == 0 && (Boolean)this.targets.getValueByName("Голые").get()) {
                        return true;
                    }
                }
            }

            return false;
        }
    }

    private void breakShieldPlayer(PlayerEntity entity) {
        if (entity.isBlocking()) {
            int invSlot = InventoryUtil.getInstance().getAxeInInventory(false);
            int hotBarSlot = InventoryUtil.getInstance().getAxeInInventory(true);
            if (hotBarSlot == -1 && invSlot != -1) {
                int bestSlot = InventoryUtil.getInstance().findBestSlotInHotBar();
                mc.playerController.windowClick(0, invSlot, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, bestSlot + 36, 0, ClickType.PICKUP, mc.player);
                mc.player.connection.sendPacket(new CHeldItemChangePacket(bestSlot));
                mc.playerController.attackEntity(mc.player, entity);
                mc.player.swingArm(Hand.MAIN_HAND);
                mc.player.connection.sendPacket(new CHeldItemChangePacket(mc.player.inventory.currentItem));
                mc.playerController.windowClick(0, bestSlot + 36, 0, ClickType.PICKUP, mc.player);
                mc.playerController.windowClick(0, invSlot, 0, ClickType.PICKUP, mc.player);
            }

            if (hotBarSlot != -1) {
                mc.player.connection.sendPacket(new CHeldItemChangePacket(hotBarSlot));
                mc.playerController.attackEntity(mc.player, entity);
                mc.player.swingArm(Hand.MAIN_HAND);
                mc.player.connection.sendPacket(new CHeldItemChangePacket(mc.player.inventory.currentItem));
            }
        }

    }

    private void reset() {
        if (!(Boolean)this.options.get(4).get() || (Boolean)this.options.get(4).get()) {
            mc.player.rotationYawOffset = (float)Integer.MIN_VALUE;
            mc.player.rotationPitchOffset = (float)Integer.MIN_VALUE;
        }

        this.rotateVector = new Vector2f(mc.player.rotationYaw, mc.player.rotationPitch);
        this.fakerotate = new Vector2f(mc.player.rotationYaw, mc.player.rotationPitch);
    }

    public boolean isEnable() {
        super.onEnable();
        this.savePacket = true;
        this.reset();
        target = null;
        return false;
    }

    public void onDisable() {
        super.onDisable();
        this.attack = false;
        this.savePacket = true;
        this.reset();
        this.stopWatch.setLastMS(0L);
        target = null;
    }

    private double getEntityArmor(PlayerEntity entityPlayer2) {
        double d2 = (double)0.0F;

        for(int i2 = 0; i2 < 4; ++i2) {
            ItemStack is = (ItemStack)entityPlayer2.inventory.armorInventory.get(i2);
            if (is.getItem() instanceof ArmorItem) {
                d2 += this.getProtectionLvl(is);
            }
        }

        return d2;
    }

    private double getProtectionLvl(ItemStack stack) {
        Item item = stack.getItem();
        if (item instanceof ArmorItem i) {
            double protectionLevel = (double) i.getDamageReduceAmount();
            if (stack.isEnchanted()) {
                protectionLevel += (double) EnchantmentHelper.getEnchantmentLevel(Enchantments.PROTECTION, stack) * 0.25D;
            }
            return protectionLevel;
        } else {
            return 0.0D;
        }
    }


    private double getEntityHealth(LivingEntity ent) {
        if (ent instanceof PlayerEntity player) {
            return (double)(Expensive.getInstance().getFunctionRegistry().getGetHealth().isState() ? PlayerEntity.getHealthFromScoreboard(player)[0] : player.getHealth() + player.getAbsorptionAmount()) * (this.getEntityArmor(player) / (double)20.0F);
        } else {
            return Expensive.getInstance().getFunctionRegistry().getGetHealth().isState() ? (double)PlayerEntity.getHealthFromScoreboard(ent)[0] : (double)(ent.getHealth() + ent.getAbsorptionAmount());
        }
    }

    public ModeSetting getType() {
        return this.type;
    }

    public ModeListSetting getOptions() {
        return this.options;
    }

    public StopWatch getStopWatch() {
        return this.stopWatch;
    }

    public static LivingEntity getTarget() {
        return target;
    }

    private static enum HitBox {
        Head,
        Chest,
        Leggs;

        private HitBox() {
        }
    }
}
мм сколько говно кода
 
Назад
Сверху Снизу