-
Автор темы
- #1
Батька вартов создатель Wave Client скинул мне эту килку , вроде робит и не банит , проверяйте не жрёт урон ач и удары каждые проходят
CC - нашёл ролик какой то -
Sselffff kod -
Сделали - NeverBels and Wave client
Тот кто не может заменить
im.negr на im.expensive и modules на functions- анлак чуваки

CC - нашёл ролик какой то -
Пожалуйста, авторизуйтесь для просмотра ссылки.
Sselffff kod -
Код:
package im.negr.modules.impl.combat;
import com.google.common.eventbus.Subscribe;
import im.negr.client.command.friends.FriendStorage;
import im.negr.client.events.EventInput;
import im.negr.client.events.EventMotion;
import im.negr.client.events.EventUpdate;
import im.negr.modules.api.Module;
import im.negr.modules.api.ModuleAnnotation;
import im.negr.modules.api.Type;
import im.negr.modules.settings.impl.BooleanSetting;
import im.negr.modules.settings.impl.ModeListSetting;
import im.negr.modules.settings.impl.ModeSetting;
import im.negr.modules.settings.impl.SliderSetting;
import im.negr.system.math.SensUtils;
import im.negr.system.math.StopWatch;
import im.negr.system.player.MouseUtil;
import im.negr.system.player.MoveUtils;
import im.negr.system.player.TimerUtils;
import lombok.Getter;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.enchantment.Enchantments;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.Pose;
import net.minecraft.entity.item.ArmorStandEntity;
import net.minecraft.entity.monster.MonsterEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ArmorItem;
import net.minecraft.item.ItemStack;
import net.minecraft.tags.FluidTags;
import net.minecraft.util.Hand;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.RayTraceContext;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Random;
import static java.lang.Math.hypot;
import static net.minecraft.util.math.MathHelper.clamp;
import static net.minecraft.util.math.MathHelper.wrapDegrees;
@ModuleAnnotation(name = "KillAura", type = Type.Combat)
public class KillAura extends Module {
@Override
public Type getType() {
return Type.Combat; // возвращаем правильный тип для Combat
}
@Getter
private final ModeSetting type = new ModeSetting("Ротация", "RW", "RW", "Grim", "Funtime");
private final SliderSetting attackRange = new SliderSetting("Дистанция аттаки", 3f, 2.5f, 6f, 0.1f);
private final SliderSetting PreRange = new SliderSetting("Доп-Дистанция", 0f, 0f, 10f, 0.1f).setVisible(() -> !this.type.is("Snap"));
final ModeSetting TipFuntime = new ModeSetting("Тип Ротации", "Snap", "Snap", "Legit").setVisible(() -> this.type.is("Funtime"));
private final BooleanSetting Waterhelp = new BooleanSetting("Помогать в воде", false).setVisible(() -> this.TipFuntime.is("Snap") && type.is("Funtime"));
final ModeListSetting targets = new ModeListSetting("Таргеты",
new BooleanSetting("Игроки", true),
new BooleanSetting("Голые", true),
new BooleanSetting("Мобы", false),
new BooleanSetting("Животные", false),
new BooleanSetting("Друзья", false),
new BooleanSetting("Голые невидимки", true),
new BooleanSetting("Невидимки", true));
@Getter
final ModeListSetting options = new ModeListSetting("Опции",
new BooleanSetting("Только криты", true),
new BooleanSetting("Отжимать щит", true),
new BooleanSetting("Авто-прыжок", false),
new BooleanSetting("Через стены", true),
new BooleanSetting("Фокусировать одну цель", true));
final ModeSetting correctionType = new ModeSetting("Коррекция", "Невидимая", "Невидимая", "Сильная", "Без Коррекции");
@Getter
private final StopWatch stopWatch = new StopWatch();
private Vector2f rotateVector = new Vector2f(0, 0);
@Getter
private LivingEntity target;
private Entity selected;
private TimerUtils timer = new TimerUtils();
int ticks = 0;
boolean isRotated;
private final Random random = new Random();
final AutoPotion autoPotion;
public KillAura(AutoPotion autoPotion) {
this.autoPotion = autoPotion;
addSettings(type, attackRange, PreRange, Waterhelp, TipFuntime,targets, options, correctionType);
}
@Subscribe
public void onInput(EventInput eventInput) {
if (correctionType.is("Невидимая") && target != null && mc.player != null) {
MoveUtils.fixMovement(eventInput, rotateVector.x);
}
}
@Subscribe
public void onUpdate(EventUpdate e) {
if (options.getValueByName("Фокусировать одну цель").get() && (target == null !isValid(target)) !options.getValueByName("Фокусировать одну цель").get()) {
updateTarget();
}
if (options.getValueByName("Авто-прыжок").get() && target != null && mc.player.getDistanceEyePos(target) < attackRange.get()) {
if (mc.player.isOnGround()) {
mc.gameSettings.keyBindJump.setPressed(true);
} else {
mc.gameSettings.keyBindJump.setPressed(false);
}
}
if (target != null && !(autoPotion.isState() && autoPotion.isActive())) {
isRotated = false;
if (shouldPlayerFalling() && (stopWatch.hasTimeElapsed())) {
updateAttack();
ticks = 1;
}
if (type.is("Grim") TipFuntime.is("Snap") && type.is("Funtime")) {
if (ticks > 0) {
updateRotation(true, 180, 90);
ticks--;
} else {
reset();
}
} else {
if (!isRotated) {
updateRotation(false, 80, 35);
}
}
} else {
stopWatch.setLastMS(0);
reset();
}
}
@Subscribe
private void onWalking(EventMotion e) {
if (target == null autoPotion.isState() && autoPotion.isActive()) return;
float yaw = rotateVector.x;
float pitch = rotateVector.y;
e.setYaw(yaw);
e.setPitch(pitch);
mc.player.rotationYawHead = yaw;
mc.player.renderYawOffset = yaw;
mc.player.rotationPitchHead = pitch;
}
! [NW] W1rzy, [14.01.2025 17:10]
private void updateTarget() {
List<LivingEntity> targets = new ArrayList<>();
for (Entity entity : mc.world.getAllEntities()) {
if (entity instanceof LivingEntity living && isValid(living)) {
targets.add(living);
}
}
if (targets.isEmpty()) {
target = null;
return;
}
if (targets.size() == 1) {
target = targets.get(0);
return;
}
targets.sort(Comparator.comparingDouble(object -> {
if (object instanceof PlayerEntity player) {
return -getEntityArmor(player);
}
if (object instanceof LivingEntity base) {
return -base.getTotalArmorValue();
}
return 0.0;
}).thenComparing((object, object2) -> {
double d2 = getEntityHealth((LivingEntity) object);
double d3 = getEntityHealth((LivingEntity) object2);
return Double.compare(d2, d3);
}).thenComparing((object, object2) -> {
double d2 = mc.player.getDistance((LivingEntity) object);
double d3 = mc.player.getDistance((LivingEntity) object2);
return Double.compare(d2, d3);
}));
target = targets.get(0);
}
float lastYaw, lastPitch;
private void updateRotation(boolean attack, float rotationYawSpeed, float rotationPitchSpeed) {
Vector3d targetPos;
targetPos = target.getPositionVec().add(0, clamp(mc.player.getPosYEye() - target.getPosY(), 0, target.getHeight() * (mc.player.getDistanceEyePos(target) / (attackRange.get() + PreRange.get()))), 0);
Vector3d vec = targetPos.subtract(mc.player.getEyePosition(10000.0F));
isRotated = true;
float yawToTarget = (float) MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - 90);
float pitchToTarget = (float) (-Math.toDegrees(Math.atan2(vec.y, hypot(vec.x, vec.z))));
float yawDelta = (wrapDegrees(yawToTarget - rotateVector.x));
float pitchDelta = (wrapDegrees(pitchToTarget - rotateVector.y));
int roundedYaw = (int) yawDelta;
if (TipFuntime.is("Snap") && type.is("Funtime") && Waterhelp.get()) {
if (target.isInWater()) {
target.setPose(Pose.STANDING);
}
}
switch (type.get()) {
case "RW" -> {
float yaw = rotateVector.x + roundedYaw;
float pitch = clamp(rotateVector.y + pitchDelta, -90, 90);
float gcd = SensUtils.getGCDValue();
yaw -= (yaw - rotateVector.x) % gcd;
pitch -= (pitch - rotateVector.y) % gcd;
rotateVector = new Vector2f(yaw, pitch);
if (!correctionType.is("Без Коррекции")) {
mc.player.rotationYawOffset = yaw;
}
}
case "Grim" -> {
float yaw = rotateVector.x + roundedYaw;
float pitch = clamp(rotateVector.y + pitchDelta, -90, 90);
float gcd = SensUtils.getGCDValue();
yaw -= (yaw - rotateVector.x) % gcd;
pitch -= (pitch - rotateVector.y) % gcd;
rotateVector = new Vector2f(yaw, pitch);
if (!correctionType.is("Без Коррекции")) {
mc.player.rotationYawOffset = yaw;
}
}
}
if (TipFuntime.is("Legit") && type.is("Funtime")) {
float bank = MouseUtil.getMouseOver(target, rotateVector.x, rotateVector.y, attackRange.get()) != null ? 30 : 0;
float yaw = rotateVector.x + roundedYaw / 2 + bank;
float pitch = clamp(rotateVector.y + pitchDelta / 2, -90, 90);
float gcd = SensUtils.getGCDValue();
yaw -= (yaw - rotateVector.x) % gcd;
pitch -= (pitch - rotateVector.y) % gcd;
rotateVector = new Vector2f(yaw, pitch);
if (!correctionType.is("Без Коррекции")) {
mc.player.rotationYawOffset = yaw;
}
! [NW] W1rzy, [14.01.2025 17:10]
}
if (TipFuntime.is("Snap") && type.is("Funtime")) {
float yaw = rotateVector.x + roundedYaw;
float pitch = clamp(rotateVector.y, -90, 90);
float gcd = SensUtils.getGCDValue();
yaw -= (yaw - rotateVector.x) % gcd;
pitch -= (pitch - rotateVector.y) % gcd;
rotateVector = new Vector2f(yaw, pitch);
if (!correctionType.is("Без Коррекции")) {
mc.player.rotationYawOffset = yaw;
}
}
}
private void updateAttack() {
selected = MouseUtil.getMouseOver(target, rotateVector.x, rotateVector.y, attackRange.get());
if ((selected == null selected != target) && !mc.player.isElytraFlying()) {
return;
}
if (mc.player.isBlocking() && options.getValueByName("Отжимать щит").get()) {
mc.playerController.onStoppedUsingItem(mc.player);
}
if (mc.player.getDistanceEyePos(target) < attackRange.get()) {
stopWatch.setLastMS(500);
mc.playerController.attackEntity(mc.player, target);
mc.player.swingArm(Hand.MAIN_HAND);
}
}
private boolean shouldPlayerFalling() {
boolean cancelReason = mc.player.isInWater() && mc.player.areEyesInFluid(FluidTags.WATER) mc.player.isInLava() mc.player.isOnLadder() mc.player.isPassenger() || mc.player.abilities.isFlying;
if (!cancelReason && options.getValueByName("Только криты").get()) {
return !mc.player.isOnGround() && mc.player.fallDistance > 0;
}
return true;
}
private boolean isValid(LivingEntity entity) {
if (entity instanceof ClientPlayerEntity) return false;
if (entity.ticksExisted < 3) return false;
if (!this.type.is("Snap")) {
if (mc.player.getDistanceEyePos(entity) > attackRange.get() + PreRange.get()) return false;
} else {
if (mc.player.getDistanceEyePos(entity) > attackRange.get()) return false;
}
if (entity instanceof PlayerEntity p) {
if (AntiBot.isBot(entity)) {
return false;
}
if (!targets.getValueByName("Друзья").get() && FriendStorage.isFriend(p.getName().getString())) {
return false;
}
if (p.getName().getString().equalsIgnoreCase(mc.player.getName().getString())) return false;
}
if (entity instanceof PlayerEntity && !targets.getValueByName("Игроки").get()) {
return false;
}
if (entity instanceof PlayerEntity && entity.getTotalArmorValue() == 0 && !targets.getValueByName("Голые").get()) {
return false;
}
if (entity instanceof PlayerEntity && entity.isInvisible() && entity.getTotalArmorValue() == 0 && !targets.getValueByName("Голые невидимки").get()) {
return false;
}
if (entity instanceof PlayerEntity && entity.isInvisible() && !targets.getValueByName("Невидимки").get()) {
return false;
}
! [NW] W1rzy, [14.01.2025 17:10]
if (entity instanceof MonsterEntity && !targets.getValueByName("Мобы").get()) {
return false;
}
if (entity instanceof AnimalEntity && !targets.getValueByName("Животные").get()) {
return false;
}
if (!options.getValueByName("Через стены").get()) {
ClientWorld world = mc.world;
Vector3d eyePos = mc.player.getEyePosition(1.0F);
Vector3d targetPos = entity.getEyePosition(1.0F);
RayTraceResult result = world.rayTraceBlocks(new RayTraceContext(eyePos, targetPos, RayTraceContext.BlockMode.COLLIDER, RayTraceContext.FluidMode.NONE, mc.player));
if (result.getType() != RayTraceResult.Type.MISS) {
return false;
}
}
return !entity.isInvulnerable() && entity.isAlive() && !(entity instanceof ArmorStandEntity);
}
private void reset() {
mc.player.rotationYawOffset = Integer.MIN_VALUE;
rotateVector = new Vector2f(mc.player.rotationYaw, mc.player.rotationPitch);
}
@Override
public void onDisable() {
super.onDisable();
reset();
stopWatch.setLastMS(0);
target = null;
}
private double getEntityArmor(PlayerEntity entityPlayer2) {
double d2 = 0.0;
for (int i2 = 0; i2 < 4; ++i2) {
ItemStack is = entityPlayer2.inventory.armorInventory.get(i2);
if (!(is.getItem() instanceof ArmorItem)) continue;
d2 += getProtectionLvl(is);
}
return d2;
}
private double getProtectionLvl(ItemStack stack) {
if (stack.getItem() instanceof ArmorItem i) {
double damageReduceAmount = i.getDamageReduceAmount();
if (stack.isEnchanted()) {
damageReduceAmount += (double) EnchantmentHelper.getEnchantmentLevel(Enchantments.PROTECTION, stack) * 0.25;
}
return damageReduceAmount;
}
return 0;
}
private double getEntityHealth(LivingEntity ent) {
if (ent instanceof PlayerEntity player) {
return (double) (player.getHealth() + player.getAbsorptionAmount()) * (getEntityArmor(player) / 20.0);
}
return ent.getHealth() + ent.getAbsorptionAmount();
}
}
Тот кто не может заменить
im.negr на im.expensive и modules на functions- анлак чуваки

Последнее редактирование: