Легит аура под фт и другие сервера

Начинающий
Начинающий
Статус
Онлайн
Регистрация
8 Авг 2024
Сообщения
403
Реакции
1
запенил дельту изи, она дефолтная с моей старой темы но быстрее и добавлена рандом ротация

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

import com.google.common.eventbus.Subscribe;
import im.expensive.command.friends.FriendStorage;
import im.expensive.events.EventPacket;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.math.StopWatch;
import im.expensive.utils.player.AttackUtil;
import im.expensive.utils.player.InventoryUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.network.play.client.CUseEntityPacket;
import net.minecraft.util.Hand;
import net.minecraft.util.math.EntityRayTraceResult;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.RayTraceContext;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector3d;

import java.util.Random;
//by tolerantniy
//в токиоваре с 26.12.24(noad)
//сделано толерантным для себя и пастерам!

@FunctionRegister(name = "LegitAura", type = Category.Combat)
public class LegitAura extends Function {
    private final SliderSetting distanceSetting = new SliderSetting("Дистанция", 5.0f, 2.0f, 7.0f, 0.1f);
    private final SliderSetting yawSpeedSetting = new SliderSetting("Гориз. скорость", 10.0f, 0.0f, 50.0f, 0.5f);
    private final SliderSetting pitchSpeedSetting = new SliderSetting("Верт. скорость", 3.0f, 0.0f, 50.0f, 0.5f);
    private final BooleanSetting targetFriendsSetting = new BooleanSetting("Таргетить друзей", false);
    private final BooleanSetting targetInvisibleSetting = new BooleanSetting("Таргетить инвизок", false);
    private final BooleanSetting players = new BooleanSetting("Игроки", true);
    private final BooleanSetting mobs = new BooleanSetting("Мобы", true);
    private final BooleanSetting animals = new BooleanSetting("Животные", true);
    private final BooleanSetting onlyCrit = new BooleanSetting("Только криты", true);
    private final BooleanSetting shieldBreak = new BooleanSetting("Ломать щит", false);

    private PlayerEntity currentTarget;
    private static final Minecraft mc = Minecraft.getInstance();
    private final StopWatch stopWatch = new StopWatch();

    public LegitAura() {
        addSettings(distanceSetting, yawSpeedSetting, pitchSpeedSetting, targetFriendsSetting, targetInvisibleSetting,
                players, mobs, animals, onlyCrit, shieldBreak);
    }

    @Subscribe
    public void onPacket(EventPacket event) {
        if (event.getPacket() instanceof CUseEntityPacket) {
            CUseEntityPacket packet = (CUseEntityPacket) event.getPacket();
            Entity targetEntity = packet.getEntityFromWorld(mc.world);
            if (targetEntity instanceof PlayerEntity) {
                currentTarget = (PlayerEntity) targetEntity;
            }
        }
    }

    @Subscribe
    public void onUpdate(EventUpdate event) {
        if (currentTarget != null) {
            if (mc.player.getDistance(currentTarget) <= distanceSetting.get() && !isWallBetween(mc.player, currentTarget)) {
                float[] targetRotations = calculateRotations(currentTarget);


                float yawRandomFactor = 10.0f;
                float pitchRandomFactor = 5.0f;

                mc.player.rotationYaw = lerpAngleWithRandom(mc.player.rotationYaw, targetRotations[0], yawSpeedSetting.get(), yawRandomFactor);
                mc.player.rotationPitch = lerpAngleWithRandom(mc.player.rotationPitch, targetRotations[1], pitchSpeedSetting.get(), pitchRandomFactor);

            } else {
                currentTarget = null;
            }
        } else {
            currentTarget = findClosestPlayer();
        }

        // TriggerBot логика
        Entity entity = getValidEntity();
        if (entity == null || mc.player == null) {
            return;
        }

        if (shouldAttack()) {
            stopWatch.setLastMS(500);
            attackEntity(entity);
        }
    }

    private boolean shouldAttack() {
        return AttackUtil.isPlayerFalling(onlyCrit.get(), true, false) && stopWatch.hasTimeElapsed();
    }

    private void attackEntity(Entity entity) {
        boolean shouldStopSprinting = false;
        if (onlyCrit.get() && CEntityActionPacket.lastUpdatedSprint) {
            mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.STOP_SPRINTING));
            shouldStopSprinting = true;
        }

        mc.playerController.attackEntity(mc.player, entity);
        mc.player.swingArm(Hand.MAIN_HAND);
        if (shieldBreak.get() && entity instanceof PlayerEntity)
            breakShieldPlayer(entity);

        if (shouldStopSprinting) {
            mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_SPRINTING));
        }
    }

    private Entity getValidEntity() {
        if (mc.objectMouseOver.getType() == RayTraceResult.Type.ENTITY) {
            Entity entity = ((EntityRayTraceResult) mc.objectMouseOver).getEntity();
            if (checkEntity((LivingEntity) entity)) {
                return entity;
            }
        }
        return null;
    }

    public static void breakShieldPlayer(Entity entity) {
        if (((LivingEntity) 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 boolean checkEntity(LivingEntity entity) {
        if (FriendStorage.isFriend(entity.getName().getString())) {
            return false;
        }

        AttackUtil entitySelector = new AttackUtil();

        if (players.get()) {
            entitySelector.apply(AttackUtil.EntityType.PLAYERS);
        }
        if (mobs.get()) {
            entitySelector.apply(AttackUtil.EntityType.MOBS);
        }
        if (animals.get()) {
            entitySelector.apply(AttackUtil.EntityType.ANIMALS);
        }
        return entitySelector.ofType(entity, entitySelector.build()) != null && entity.isAlive();
    }

    private PlayerEntity findClosestPlayer() {
        PlayerEntity closestPlayer = null;
        double closestDistanceSq = Double.MAX_VALUE;
        for (PlayerEntity player : mc.world.getPlayers()) {
            if (player != mc.player && (!FriendStorage.isFriend(player.getName().getString()) || targetFriendsSetting.get()) && (!player.isInvisible() || targetInvisibleSetting.get())) {
                double distanceSq = mc.player.getDistanceSq(player);
                if (distanceSq < closestDistanceSq && distanceSq <= distanceSetting.get() * distanceSetting.get() && !isWallBetween(mc.player, player)) {
                    closestPlayer = player;
                    closestDistanceSq = distanceSq;
                }
            }
        }
        return closestPlayer;
    }

    private boolean isWallBetween(Entity from, Entity to) {
        Vector3d fromVec = new Vector3d(from.getPosX(), from.getPosYEye(), from.getPosZ());
        Vector3d toVec = new Vector3d(to.getPosX(), to.getPosYEye(), to.getPosZ());
        RayTraceResult result = mc.world.rayTraceBlocks(new RayTraceContext(fromVec, toVec, RayTraceContext.BlockMode.COLLIDER, RayTraceContext.FluidMode.NONE, from));

        return result.getType() == RayTraceResult.Type.BLOCK;
    }

    private float[] calculateRotations(Entity entity) {
        double x = entity.getPosX() - mc.player.getPosX();
        double y = entity.getPosY() - mc.player.getPosY() + entity.getEyeHeight() - mc.player.getEyeHeight();
        double z = entity.getPosZ() - mc.player.getPosZ();
        double dist = Math.sqrt(x * x + z * z);
        float yaw = (float) ((Math.atan2(z, x) * 180 / Math.PI) - 90);
        float pitch = (float) (-(Math.atan2(y, dist) * 180 / Math.PI));
        return new float[]{yaw, pitch};
    }

    private float lerpAngleWithRandom(float current, float target, float factor, float randomFactor) {
        Random random = new Random();
        float delta = MathHelper.wrapDegrees(target - current);


        float randomOffset = (random.nextFloat() - 0.5f) * randomFactor;
        return current + (delta + randomOffset) * (factor / 100.0f);
    }

    @Override
    public void onDisable() {
        stopWatch.reset();
        super.onDisable();
    }
}
сса нету просто дефолт легит аура но улучшеная с этой темы (а вот там есть сс)
тема и сс (https://yougame.biz/threads/332583/#post-3170975)noad
 
запенил дельту изи, она дефолтная с моей старой темы но быстрее и добавлена рандом ротация

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

import com.google.common.eventbus.Subscribe;
import im.expensive.command.friends.FriendStorage;
import im.expensive.events.EventPacket;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.math.StopWatch;
import im.expensive.utils.player.AttackUtil;
import im.expensive.utils.player.InventoryUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.network.play.client.CUseEntityPacket;
import net.minecraft.util.Hand;
import net.minecraft.util.math.EntityRayTraceResult;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.RayTraceContext;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector3d;

import java.util.Random;
//by tolerantniy
//в токиоваре с 26.12.24(noad)
//сделано толерантным для себя и пастерам!

@FunctionRegister(name = "LegitAura", type = Category.Combat)
public class LegitAura extends Function {
    private final SliderSetting distanceSetting = new SliderSetting("Дистанция", 5.0f, 2.0f, 7.0f, 0.1f);
    private final SliderSetting yawSpeedSetting = new SliderSetting("Гориз. скорость", 10.0f, 0.0f, 50.0f, 0.5f);
    private final SliderSetting pitchSpeedSetting = new SliderSetting("Верт. скорость", 3.0f, 0.0f, 50.0f, 0.5f);
    private final BooleanSetting targetFriendsSetting = new BooleanSetting("Таргетить друзей", false);
    private final BooleanSetting targetInvisibleSetting = new BooleanSetting("Таргетить инвизок", false);
    private final BooleanSetting players = new BooleanSetting("Игроки", true);
    private final BooleanSetting mobs = new BooleanSetting("Мобы", true);
    private final BooleanSetting animals = new BooleanSetting("Животные", true);
    private final BooleanSetting onlyCrit = new BooleanSetting("Только криты", true);
    private final BooleanSetting shieldBreak = new BooleanSetting("Ломать щит", false);

    private PlayerEntity currentTarget;
    private static final Minecraft mc = Minecraft.getInstance();
    private final StopWatch stopWatch = new StopWatch();

    public LegitAura() {
        addSettings(distanceSetting, yawSpeedSetting, pitchSpeedSetting, targetFriendsSetting, targetInvisibleSetting,
                players, mobs, animals, onlyCrit, shieldBreak);
    }

    @Subscribe
    public void onPacket(EventPacket event) {
        if (event.getPacket() instanceof CUseEntityPacket) {
            CUseEntityPacket packet = (CUseEntityPacket) event.getPacket();
            Entity targetEntity = packet.getEntityFromWorld(mc.world);
            if (targetEntity instanceof PlayerEntity) {
                currentTarget = (PlayerEntity) targetEntity;
            }
        }
    }

    @Subscribe
    public void onUpdate(EventUpdate event) {
        if (currentTarget != null) {
            if (mc.player.getDistance(currentTarget) <= distanceSetting.get() && !isWallBetween(mc.player, currentTarget)) {
                float[] targetRotations = calculateRotations(currentTarget);


                float yawRandomFactor = 10.0f;
                float pitchRandomFactor = 5.0f;

                mc.player.rotationYaw = lerpAngleWithRandom(mc.player.rotationYaw, targetRotations[0], yawSpeedSetting.get(), yawRandomFactor);
                mc.player.rotationPitch = lerpAngleWithRandom(mc.player.rotationPitch, targetRotations[1], pitchSpeedSetting.get(), pitchRandomFactor);

            } else {
                currentTarget = null;
            }
        } else {
            currentTarget = findClosestPlayer();
        }

        // TriggerBot логика
        Entity entity = getValidEntity();
        if (entity == null || mc.player == null) {
            return;
        }

        if (shouldAttack()) {
            stopWatch.setLastMS(500);
            attackEntity(entity);
        }
    }

    private boolean shouldAttack() {
        return AttackUtil.isPlayerFalling(onlyCrit.get(), true, false) && stopWatch.hasTimeElapsed();
    }

    private void attackEntity(Entity entity) {
        boolean shouldStopSprinting = false;
        if (onlyCrit.get() && CEntityActionPacket.lastUpdatedSprint) {
            mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.STOP_SPRINTING));
            shouldStopSprinting = true;
        }

        mc.playerController.attackEntity(mc.player, entity);
        mc.player.swingArm(Hand.MAIN_HAND);
        if (shieldBreak.get() && entity instanceof PlayerEntity)
            breakShieldPlayer(entity);

        if (shouldStopSprinting) {
            mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_SPRINTING));
        }
    }

    private Entity getValidEntity() {
        if (mc.objectMouseOver.getType() == RayTraceResult.Type.ENTITY) {
            Entity entity = ((EntityRayTraceResult) mc.objectMouseOver).getEntity();
            if (checkEntity((LivingEntity) entity)) {
                return entity;
            }
        }
        return null;
    }

    public static void breakShieldPlayer(Entity entity) {
        if (((LivingEntity) 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 boolean checkEntity(LivingEntity entity) {
        if (FriendStorage.isFriend(entity.getName().getString())) {
            return false;
        }

        AttackUtil entitySelector = new AttackUtil();

        if (players.get()) {
            entitySelector.apply(AttackUtil.EntityType.PLAYERS);
        }
        if (mobs.get()) {
            entitySelector.apply(AttackUtil.EntityType.MOBS);
        }
        if (animals.get()) {
            entitySelector.apply(AttackUtil.EntityType.ANIMALS);
        }
        return entitySelector.ofType(entity, entitySelector.build()) != null && entity.isAlive();
    }

    private PlayerEntity findClosestPlayer() {
        PlayerEntity closestPlayer = null;
        double closestDistanceSq = Double.MAX_VALUE;
        for (PlayerEntity player : mc.world.getPlayers()) {
            if (player != mc.player && (!FriendStorage.isFriend(player.getName().getString()) || targetFriendsSetting.get()) && (!player.isInvisible() || targetInvisibleSetting.get())) {
                double distanceSq = mc.player.getDistanceSq(player);
                if (distanceSq < closestDistanceSq && distanceSq <= distanceSetting.get() * distanceSetting.get() && !isWallBetween(mc.player, player)) {
                    closestPlayer = player;
                    closestDistanceSq = distanceSq;
                }
            }
        }
        return closestPlayer;
    }

    private boolean isWallBetween(Entity from, Entity to) {
        Vector3d fromVec = new Vector3d(from.getPosX(), from.getPosYEye(), from.getPosZ());
        Vector3d toVec = new Vector3d(to.getPosX(), to.getPosYEye(), to.getPosZ());
        RayTraceResult result = mc.world.rayTraceBlocks(new RayTraceContext(fromVec, toVec, RayTraceContext.BlockMode.COLLIDER, RayTraceContext.FluidMode.NONE, from));

        return result.getType() == RayTraceResult.Type.BLOCK;
    }

    private float[] calculateRotations(Entity entity) {
        double x = entity.getPosX() - mc.player.getPosX();
        double y = entity.getPosY() - mc.player.getPosY() + entity.getEyeHeight() - mc.player.getEyeHeight();
        double z = entity.getPosZ() - mc.player.getPosZ();
        double dist = Math.sqrt(x * x + z * z);
        float yaw = (float) ((Math.atan2(z, x) * 180 / Math.PI) - 90);
        float pitch = (float) (-(Math.atan2(y, dist) * 180 / Math.PI));
        return new float[]{yaw, pitch};
    }

    private float lerpAngleWithRandom(float current, float target, float factor, float randomFactor) {
        Random random = new Random();
        float delta = MathHelper.wrapDegrees(target - current);


        float randomOffset = (random.nextFloat() - 0.5f) * randomFactor;
        return current + (delta + randomOffset) * (factor / 100.0f);
    }

    @Override
    public void onDisable() {
        stopWatch.reset();
        super.onDisable();
    }
}
сса нету просто дефолт легит аура но улучшеная с этой темы (а вот там есть сс)
тема и сс (https://yougame.biz/threads/332583/#post-3170975)noad
побежал пастить в свой абуза клиент
 
/del не обходит Vanila AC
 
запенил дельту изи, она дефолтная с моей старой темы но быстрее и добавлена рандом ротация

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

import com.google.common.eventbus.Subscribe;
import im.expensive.command.friends.FriendStorage;
import im.expensive.events.EventPacket;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.math.StopWatch;
import im.expensive.utils.player.AttackUtil;
import im.expensive.utils.player.InventoryUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.network.play.client.CUseEntityPacket;
import net.minecraft.util.Hand;
import net.minecraft.util.math.EntityRayTraceResult;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.RayTraceContext;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector3d;

import java.util.Random;
//by tolerantniy
//в токиоваре с 26.12.24(noad)
//сделано толерантным для себя и пастерам!

@FunctionRegister(name = "LegitAura", type = Category.Combat)
public class LegitAura extends Function {
    private final SliderSetting distanceSetting = new SliderSetting("Дистанция", 5.0f, 2.0f, 7.0f, 0.1f);
    private final SliderSetting yawSpeedSetting = new SliderSetting("Гориз. скорость", 10.0f, 0.0f, 50.0f, 0.5f);
    private final SliderSetting pitchSpeedSetting = new SliderSetting("Верт. скорость", 3.0f, 0.0f, 50.0f, 0.5f);
    private final BooleanSetting targetFriendsSetting = new BooleanSetting("Таргетить друзей", false);
    private final BooleanSetting targetInvisibleSetting = new BooleanSetting("Таргетить инвизок", false);
    private final BooleanSetting players = new BooleanSetting("Игроки", true);
    private final BooleanSetting mobs = new BooleanSetting("Мобы", true);
    private final BooleanSetting animals = new BooleanSetting("Животные", true);
    private final BooleanSetting onlyCrit = new BooleanSetting("Только криты", true);
    private final BooleanSetting shieldBreak = new BooleanSetting("Ломать щит", false);

    private PlayerEntity currentTarget;
    private static final Minecraft mc = Minecraft.getInstance();
    private final StopWatch stopWatch = new StopWatch();

    public LegitAura() {
        addSettings(distanceSetting, yawSpeedSetting, pitchSpeedSetting, targetFriendsSetting, targetInvisibleSetting,
                players, mobs, animals, onlyCrit, shieldBreak);
    }

    @Subscribe
    public void onPacket(EventPacket event) {
        if (event.getPacket() instanceof CUseEntityPacket) {
            CUseEntityPacket packet = (CUseEntityPacket) event.getPacket();
            Entity targetEntity = packet.getEntityFromWorld(mc.world);
            if (targetEntity instanceof PlayerEntity) {
                currentTarget = (PlayerEntity) targetEntity;
            }
        }
    }

    @Subscribe
    public void onUpdate(EventUpdate event) {
        if (currentTarget != null) {
            if (mc.player.getDistance(currentTarget) <= distanceSetting.get() && !isWallBetween(mc.player, currentTarget)) {
                float[] targetRotations = calculateRotations(currentTarget);


                float yawRandomFactor = 10.0f;
                float pitchRandomFactor = 5.0f;

                mc.player.rotationYaw = lerpAngleWithRandom(mc.player.rotationYaw, targetRotations[0], yawSpeedSetting.get(), yawRandomFactor);
                mc.player.rotationPitch = lerpAngleWithRandom(mc.player.rotationPitch, targetRotations[1], pitchSpeedSetting.get(), pitchRandomFactor);

            } else {
                currentTarget = null;
            }
        } else {
            currentTarget = findClosestPlayer();
        }

        // TriggerBot логика
        Entity entity = getValidEntity();
        if (entity == null || mc.player == null) {
            return;
        }

        if (shouldAttack()) {
            stopWatch.setLastMS(500);
            attackEntity(entity);
        }
    }

    private boolean shouldAttack() {
        return AttackUtil.isPlayerFalling(onlyCrit.get(), true, false) && stopWatch.hasTimeElapsed();
    }

    private void attackEntity(Entity entity) {
        boolean shouldStopSprinting = false;
        if (onlyCrit.get() && CEntityActionPacket.lastUpdatedSprint) {
            mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.STOP_SPRINTING));
            shouldStopSprinting = true;
        }

        mc.playerController.attackEntity(mc.player, entity);
        mc.player.swingArm(Hand.MAIN_HAND);
        if (shieldBreak.get() && entity instanceof PlayerEntity)
            breakShieldPlayer(entity);

        if (shouldStopSprinting) {
            mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.START_SPRINTING));
        }
    }

    private Entity getValidEntity() {
        if (mc.objectMouseOver.getType() == RayTraceResult.Type.ENTITY) {
            Entity entity = ((EntityRayTraceResult) mc.objectMouseOver).getEntity();
            if (checkEntity((LivingEntity) entity)) {
                return entity;
            }
        }
        return null;
    }

    public static void breakShieldPlayer(Entity entity) {
        if (((LivingEntity) 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 boolean checkEntity(LivingEntity entity) {
        if (FriendStorage.isFriend(entity.getName().getString())) {
            return false;
        }

        AttackUtil entitySelector = new AttackUtil();

        if (players.get()) {
            entitySelector.apply(AttackUtil.EntityType.PLAYERS);
        }
        if (mobs.get()) {
            entitySelector.apply(AttackUtil.EntityType.MOBS);
        }
        if (animals.get()) {
            entitySelector.apply(AttackUtil.EntityType.ANIMALS);
        }
        return entitySelector.ofType(entity, entitySelector.build()) != null && entity.isAlive();
    }

    private PlayerEntity findClosestPlayer() {
        PlayerEntity closestPlayer = null;
        double closestDistanceSq = Double.MAX_VALUE;
        for (PlayerEntity player : mc.world.getPlayers()) {
            if (player != mc.player && (!FriendStorage.isFriend(player.getName().getString()) || targetFriendsSetting.get()) && (!player.isInvisible() || targetInvisibleSetting.get())) {
                double distanceSq = mc.player.getDistanceSq(player);
                if (distanceSq < closestDistanceSq && distanceSq <= distanceSetting.get() * distanceSetting.get() && !isWallBetween(mc.player, player)) {
                    closestPlayer = player;
                    closestDistanceSq = distanceSq;
                }
            }
        }
        return closestPlayer;
    }

    private boolean isWallBetween(Entity from, Entity to) {
        Vector3d fromVec = new Vector3d(from.getPosX(), from.getPosYEye(), from.getPosZ());
        Vector3d toVec = new Vector3d(to.getPosX(), to.getPosYEye(), to.getPosZ());
        RayTraceResult result = mc.world.rayTraceBlocks(new RayTraceContext(fromVec, toVec, RayTraceContext.BlockMode.COLLIDER, RayTraceContext.FluidMode.NONE, from));

        return result.getType() == RayTraceResult.Type.BLOCK;
    }

    private float[] calculateRotations(Entity entity) {
        double x = entity.getPosX() - mc.player.getPosX();
        double y = entity.getPosY() - mc.player.getPosY() + entity.getEyeHeight() - mc.player.getEyeHeight();
        double z = entity.getPosZ() - mc.player.getPosZ();
        double dist = Math.sqrt(x * x + z * z);
        float yaw = (float) ((Math.atan2(z, x) * 180 / Math.PI) - 90);
        float pitch = (float) (-(Math.atan2(y, dist) * 180 / Math.PI));
        return new float[]{yaw, pitch};
    }

    private float lerpAngleWithRandom(float current, float target, float factor, float randomFactor) {
        Random random = new Random();
        float delta = MathHelper.wrapDegrees(target - current);


        float randomOffset = (random.nextFloat() - 0.5f) * randomFactor;
        return current + (delta + randomOffset) * (factor / 100.0f);
    }

    @Override
    public void onDisable() {
        stopWatch.reset();
        super.onDisable();
    }
}
сса нету просто дефолт легит аура но улучшеная с этой темы (а вот там есть сс)
тема и сс (https://yougame.biz/threads/332583/#post-3170975)noad
добавлено venuc client
 
ты тестил хоть?
[/QUOTE]
бро тут по коду все понятно что это пиздец ебаный если ты тестил на спавне фт это не значит что оно обходит
 
Назад
Сверху Снизу