-
Автор темы
- #21
фикси блять, сурсы же естьтут в килке коррекция движения говно редкостное из за которого таргет не работает
фикси блять, сурсы же естьтут в килке коррекция движения говно редкостное из за которого таргет не работает
я уже клиент так супер ультра мега переделал <3 кста когда 30 билд евы?фикси блять, сурсы же есть
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
из нового:
step
crystalaura -> ставить обсидиан
package eva.ware.modules.impl.combat;
import com.google.common.eventbus.Subscribe;
import eva.ware.Evaware;
import eva.ware.events.EventInput;
import eva.ware.events.EventMotion;
import eva.ware.events.EventUpdate;
import eva.ware.manager.friend.FriendManager;
import eva.ware.modules.api.Category;
import eva.ware.modules.api.Module;
import eva.ware.modules.api.ModuleRegister;
import eva.ware.modules.settings.api.Setting;
import eva.ware.modules.settings.impl.CheckBoxSetting;
import eva.ware.modules.settings.impl.ModeListSetting;
import eva.ware.modules.settings.impl.ModeSetting;
import eva.ware.modules.settings.impl.SliderSetting;
import eva.ware.ui.clickgui.ClickGuiScreen;
import eva.ware.utils.math.MathUtility;
import eva.ware.utils.math.SensUtility;
import eva.ware.utils.math.TimerUtility;
import eva.ware.utils.player.AttackUtility;
import eva.ware.utils.player.InventoryUtility;
import eva.ware.utils.player.MouseUtility;
import eva.ware.utils.player.MoveUtility;
import eva.ware.utils.player.PlayerUtility;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.entity.player.RemoteClientPlayerEntity;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.gui.screen.IngameMenuScreen;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.item.ArmorStandEntity;
import net.minecraft.entity.merchant.villager.VillagerEntity;
import net.minecraft.entity.monster.MonsterEntity;
import net.minecraft.entity.monster.SlimeEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.UseAction;
import net.minecraft.network.play.client.CHeldItemChangePacket;
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;
@ModuleRegister(
name = "HitAura",
category = Category.Combat
)
public class HitAura extends Module {
final ModeSetting type = new ModeSetting("Тип", "Плавная", new String[]{"Плавная", "Резкая", "HolyWorld"});
final ModeSetting visualType = new ModeSetting("Визуальная наводка", "Обычная", new String[]{"Обычная", "Спин-бот", "Никакая"});
final SliderSetting attackRange = new SliderSetting("Дистанция аттаки", 3.0F, 2.5F, 6.0F, 0.05F);
final SliderSetting elytraRange = new SliderSetting("Дистанция на элитре", 6.0F, 0.0F, 16.0F, 0.05F);
final SliderSetting preRange = (new SliderSetting("Дистанция наводки", 0.3F, 0.0F, 3.0F, 0.05F)).visibleIf(() -> {
return !this.type.is("Резкая");
});
final SliderSetting tick = (new SliderSetting("Тики", 2.0F, 1.0F, 10.0F, 1.0F)).visibleIf(() -> {
return this.type.is("Резкая");
});
final ModeSetting clickType = new ModeSetting("Режим кликов", "1.9", new String[]{"1.8", "1.9"});
final SliderSetting minCPS = (new SliderSetting("Мин. CPS", 7.0F, 1.0F, 10.0F, 1.0F)).visibleIf(() -> {
return !this.clickType.is("1.9");
});
final SliderSetting maxCPS = (new SliderSetting("Макс. CPS", 10.0F, 1.0F, 20.0F, 1.0F)).visibleIf(() -> {
return !this.clickType.is("1.9");
});
final ModeListSetting targets = new ModeListSetting("Таргеты", new CheckBoxSetting[]{new CheckBoxSetting("Игроки", true), new CheckBoxSetting("Голые", true), new CheckBoxSetting("Мобы", false), new CheckBoxSetting("Животные", false), new CheckBoxSetting("Друзья", false), new CheckBoxSetting("Голые невидимки", true), new CheckBoxSetting("Невидимки", true)});
final ModeListSetting consider = new ModeListSetting("Учитывать", new CheckBoxSetting[]{new CheckBoxSetting("Хп", true), new CheckBoxSetting("Броню", true), new CheckBoxSetting("Дистанцию", true), new CheckBoxSetting("Баффы", true)});
final ModeListSetting options = new ModeListSetting("Опции", new CheckBoxSetting[]{new CheckBoxSetting("Только криты", true), new CheckBoxSetting("Ломать щит", true), new CheckBoxSetting("Отжимать щит", false), new CheckBoxSetting("Синхронизировать с TPS", false), new CheckBoxSetting("Фокусировать одну цель", true), new CheckBoxSetting("Коррекция движения", true), new CheckBoxSetting("Оптимальная дистанция", false), new CheckBoxSetting("Резольвер", true)});
final ModeListSetting moreOptions = new ModeListSetting("Дополнительное", new CheckBoxSetting[]{new CheckBoxSetting("Проверка луча", true), new CheckBoxSetting("Перелетать противника", true), new CheckBoxSetting("Бить через стены", true), new CheckBoxSetting("Не бить если кушаешь", false), new CheckBoxSetting("Не бить если в гуи", false), new CheckBoxSetting("Рандомизация", true)});
final SliderSetting elytraForward = (new SliderSetting("Значение перелета", 75.0F, 1.0F, 100.0F, 1.0F)).visibleIf(() -> {
return (Boolean)this.moreOptions.is("Перелетать противника").getValue();
});
public CheckBoxSetting smartCrits = (new CheckBoxSetting("Умные криты", false)).visibleIf(() -> {
return (Boolean)this.options.is("Только криты").getValue();
});
final ModeSetting correctionType = (new ModeSetting("Тип коррекции", "Незаметный", new String[]{"Незаметный", "Сфокусированный"})).visibleIf(() -> {
return (Boolean)this.options.is("Коррекция движения").getValue();
});
final ModeSetting critType = new ModeSetting("Крит хелпер", "None", new String[]{"None", "Matrix", "NCP", "NCP+", "Grim"});
private final TimerUtility timerUtility = new TimerUtility();
public Vector2f rotate = new Vector2f(0.0F, 0.0F);
public Vector2f visualRotateVector = new Vector2f(0.0F, 0.0F);
private LivingEntity target;
private Entity selected;
int ticks = 0;
boolean isRotated = false;
boolean isAttacking = false;
boolean crystalAuraRule = true;
boolean elytraTargetRule;
float lastYaw;
float lastPitch;
boolean isReversing = false;
private float rotationSpeed;
private float rotationAngle;
final PotionThrower autoPotion;
double moreAttackDistanceOnElytra = 0.0;
float aimDistance() {
return !this.type.is("Резкая") ? (Float)this.preRange.getValue() : 0.0F;
}
float maxRange() {
return this.attackDistance() + (mc.player.isElytraFlying() ? (Float)this.elytraRange.getValue() : 0.0F) + this.aimDistance();
}
public HitAura(PotionThrower autoPotion) {
this.autoPotion = autoPotion;
this.addSettings(new Setting[]{this.type, this.visualType, this.attackRange, this.preRange, this.elytraRange, this.tick, this.clickType, this.minCPS, this.maxCPS, this.targets, this.consider, this.options, this.moreOptions, this.elytraForward, this.smartCrits, this.correctionType, this.critType});
}
@Subscribe
public void onInput(EventInput eventInput) {
if ((Boolean)this.options.is("Коррекция движения").getValue() && this.correctionType.is("Незаметный") && this.crystalAuraRule) {
MoveUtility.fixMovement(eventInput, this.rotate.x);
}
}
@Subscribe
public void onUpdate(EventUpdate e) {
if (this.crystalAuraRule) {
if ((Boolean)this.options.is("Фокусировать одну цель").getValue() && (this.target == null || !this.isValid(this.target)) || !(Boolean)this.options.is("Фокусировать одну цель").getValue()) {
this.updateTarget();
}
if ((Boolean)this.options.is("Резольвер").getValue()) {
this.resolvePlayers();
this.releaseResolver();
}
if (this.target != null && (!this.autoPotion.isEnabled() || !this.autoPotion.isActive())) {
this.isRotated = false;
this.visualRotationUpdate();
this.updateRotation();
if (this.shouldPlayerFalling() && this.timerUtility.hasTimeElapsed()) {
this.ticks = ((Float)this.tick.getValue()).intValue();
this.forceAttack();
}
if (!mc.player.isElytraFlying()) {
if (this.type.is("Резкая")) {
if (this.ticks > 0) {
this.setRotate();
--this.ticks;
} else {
this.reset();
}
} else if (!this.isRotated) {
this.setRotate();
}
} else if (!this.isRotated) {
this.setRotate();
}
} else {
this.timerUtility.setLastMS(0L);
this.reset();
}
if (this.target != null && this.isRotated && !mc.player.isElytraFlying() && mc.player.getDistanceEyePos(this.target) <= (double)this.attackDistance()) {
this.critHelper();
}
}
}
@Subscribe
private void onWalking(EventMotion e) {
if (this.target != null && (!this.autoPotion.isEnabled() || !this.autoPotion.isActive()) && this.crystalAuraRule) {
float yaw = this.visualRotateVector.x;
float pitch = this.visualRotateVector.y;
e.setYaw(this.rotate.x);
e.setPitch(this.rotate.y);
mc.player.rotationYawHead = yaw;
mc.player.renderYawOffset = PlayerUtility.calculateCorrectYawOffset(yaw);
mc.player.rotationPitchHead = pitch;
}
}
public void setRotate() {
this.elytraTargetRule = mc.player.isElytraFlying() && this.target.isElytraFlying();
if (this.type.is("Резкая")) {
this.updateRotation(2.1474836E9F);
} else {
this.updateRotation(9999.0F);
}
}
public float attackDistance() {
if ((Boolean)this.options.is("Оптимальная дистанция").getValue() && !Evaware.getInst().getModuleManager().getTPInfluence().isEnabled()) {
return !mc.player.isSwimming() ? (float)(3.6 + this.moreAttackDistanceOnElytra) : (float)(3.0 + this.moreAttackDistanceOnElytra);
} else {
return Evaware.getInst().getModuleManager().getTPInfluence().isEnabled() && !Evaware.getInst().getModuleManager().getFreeCam().isEnabled() ? (Float)Evaware.getInst().getModuleManager().getTPInfluence().range.getValue() : (float)((double)(Float)this.attackRange.getValue() + this.moreAttackDistanceOnElytra);
}
}
public void resolvePlayers() {
Iterator var1 = mc.world.getPlayers().iterator();
while(var1.hasNext()) {
PlayerEntity player = (PlayerEntity)var1.next();
if (player instanceof RemoteClientPlayerEntity) {
((RemoteClientPlayerEntity)player).resolve();
}
}
}
public void releaseResolver() {
Iterator var1 = mc.world.getPlayers().iterator();
while(var1.hasNext()) {
PlayerEntity player = (PlayerEntity)var1.next();
if (player instanceof RemoteClientPlayerEntity) {
((RemoteClientPlayerEntity)player).releaseResolver();
}
}
}
private void updateTarget() {
List<LivingEntity> targets = new ArrayList();
Iterator var2 = mc.world.getAllEntities().iterator();
while(var2.hasNext()) {
Entity entity = (Entity)var2.next();
if (entity instanceof LivingEntity living) {
if (this.isValid(living)) {
targets.add(living);
}
}
}
if (targets.isEmpty()) {
this.target = null;
} else if (targets.size() == 1) {
this.target = (LivingEntity)targets.get(0);
} else {
targets.sort(Comparator.comparingDouble((entityx) -> {
return MathUtility.entity(entityx, (Boolean)this.consider.is("Хп").getValue(), (Boolean)this.consider.is("Броню").getValue(), (Boolean)this.consider.is("Дистанцию").getValue(), (double)this.maxRange(), (Boolean)this.consider.is("Баффы").getValue());
}));
this.target = (LivingEntity)targets.get(0);
}
}
private void updateRotation(float rotationYawSpeed) {
float scaleFactor = (Boolean)this.moreOptions.is("Перелетать противника").getValue() ? (PlayerUtility.getEntityBPS(this.target, false) > 8.0 ? (Float)this.elytraForward.getValue() / 20.0F : 1.0F) : 1.0F;
Vector3d vec;
float yawToTarget;
float pitchToTarget;
float yawDelta;
float pitchDelta;
float yaw;
float pitch;
float gcd;
float clampedYaw;
float clampedPitch;
float randomYawFactor;
float randomPitchFactor;
float randomThreshold;
float randomAddition;
if (this.elytraTargetRule) {
vec = this.target.getPositionVec().add(0.0, MathHelper.clamp(this.target.getPosY() - (double)this.target.getHeight(), 0.0, (double)(this.target.getHeight() / 2.0F)), 0.0).subtract(mc.player.getEyePosition(1.0F)).add(this.target.getMotion().mul(this.elytraTargetRule ? (double)scaleFactor : 1.0, mc.player.isElytraFlying() && this.target.isElytraFlying() ? (double)scaleFactor : 1.0, mc.player.isElytraFlying() && this.target.isElytraFlying() ? (double)scaleFactor : 1.0));
yawToTarget = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - 90.0);
pitchToTarget = (float)(-Math.toDegrees(Math.atan2(vec.y, Math.hypot(vec.x, vec.z))));
yawDelta = MathHelper.wrapDegrees(yawToTarget - this.rotate.x);
pitchDelta = MathHelper.wrapDegrees(pitchToTarget - this.rotate.y);
switch ((String)this.type.getValue()) {
case "Плавная":
yaw = Math.min(Math.max(Math.abs(yawDelta), 1.0F), rotationYawSpeed);
pitch = Math.max(Math.abs(pitchDelta), 1.0F);
gcd = this.rotate.x + (yawDelta > 0.0F ? yaw : -yaw) + SensUtility.getSensitivity((float)(Math.cos((double)System.currentTimeMillis() / 50.0) * 7.0));
pitch = MathHelper.clamp(this.rotate.y + (pitchDelta > 0.0F ? pitch : -pitch), -89.0F, 89.0F) + SensUtility.getSensitivity((float)(Math.cos((double)System.currentTimeMillis() / 50.0) * 7.0));
gcd -= (gcd - this.rotate.x) % SensUtility.getGCDValue();
pitch -= (pitch - this.rotate.y) % SensUtility.getGCDValue();
this.rotate = new Vector2f(gcd, pitch);
this.lastYaw = yaw;
this.lastPitch = pitch;
break;
case "Резкая":
yaw = this.rotate.x + yawDelta;
pitch = MathHelper.clamp(this.rotate.y + pitchDelta, -90.0F, 90.0F);
gcd = SensUtility.getGCDValue();
yaw -= (yaw - this.rotate.x) % gcd;
pitch -= (pitch - this.rotate.y) % gcd;
this.rotate = new Vector2f(yaw, pitch);
break;
case "HolyWorld":
clampedYaw = Math.min(Math.max(Math.abs(yawDelta), 1.0E-4F), 52.0F);
clampedPitch = Math.min(Math.max(Math.abs(pitchDelta), 1.0E-4F), 22.0F);
randomYawFactor = (float)(Math.random() * 1.5 - 1.5);
randomPitchFactor = (float)(Math.random() * 1.5 - 1.0);
randomThreshold = (float)(Math.random() * 1.5);
randomAddition = (float)(Math.random() * 2.5 + 1.5);
if (this.selected != this.target) {
clampedPitch = Math.max(Math.abs(pitchDelta), 1.0F);
} else {
clampedPitch /= 3.0F;
}
if (Math.abs(clampedYaw - this.lastYaw) <= randomThreshold) {
clampedYaw = this.lastYaw + randomAddition;
}
clampedYaw += randomYawFactor;
clampedPitch += randomPitchFactor;
yaw = this.rotate.x + (yawDelta > 0.0F ? clampedYaw : -clampedYaw);
pitch = MathHelper.clamp(this.rotate.y + (pitchDelta > 0.0F ? clampedPitch : -clampedPitch), -90.0F, 90.0F);
gcd = SensUtility.getGCDValue();
yaw -= (yaw - this.rotate.x) % gcd;
pitch -= (pitch - this.rotate.y) % gcd;
this.rotate = new Vector2f(yaw, pitch);
this.lastYaw = clampedYaw;
this.lastPitch = clampedPitch;
}
} else {
vec = this.target.getPositionVec().add(0.0, MathHelper.clamp(this.target.getPosY() - (double)this.target.getHeight(), 0.0, (double)(this.target.getHeight() / 2.0F)), 0.0).subtract(mc.player.getEyePosition(1.0F));
yawToTarget = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - 90.0);
pitchToTarget = (float)(-Math.toDegrees(Math.atan2(vec.y, Math.hypot(vec.x, vec.z))));
yawDelta = MathHelper.wrapDegrees(yawToTarget - this.rotate.x);
pitchDelta = MathHelper.wrapDegrees(pitchToTarget - this.rotate.y);
int roundedYaw = (int)yawDelta;
switch ((String)this.type.getValue()) {
case "Плавная":
yaw = Math.min(Math.max(Math.abs(yawDelta), 1.0F), rotationYawSpeed);
pitch = Math.max(Math.abs(pitchDelta), 1.0F);
gcd = this.rotate.x + (yawDelta > 0.0F ? yaw : -yaw);
pitch = MathHelper.clamp(this.rotate.y + (pitchDelta > 0.0F ? pitch : -pitch), -89.0F, 89.0F);
gcd -= (gcd - this.rotate.x) % SensUtility.getGCDValue();
pitch -= (pitch - this.rotate.y) % SensUtility.getGCDValue();
this.rotate = new Vector2f(gcd, pitch);
this.lastYaw = yaw;
this.lastPitch = pitch;
break;
case "Резкая":
yaw = this.rotate.x + (float)roundedYaw;
pitch = MathHelper.clamp(this.rotate.y + pitchDelta, -90.0F, 90.0F);
gcd = SensUtility.getGCDValue();
yaw -= (yaw - this.rotate.x) % gcd;
pitch -= (pitch - this.rotate.y) % gcd;
this.rotate = new Vector2f(yaw, pitch);
break;
case "HolyWorld":
clampedYaw = Math.min(Math.max(Math.abs(yawDelta), 1.0E-4F), 52.0F);
clampedPitch = Math.min(Math.max(Math.abs(pitchDelta), 1.0E-4F), 22.0F);
randomYawFactor = (float)(Math.random() * 1.5 - 1.5);
randomPitchFactor = (float)(Math.random() * 1.5 - 1.0);
randomThreshold = (float)(Math.random() * 1.5);
randomAddition = (float)(Math.random() * 2.5 + 1.5);
if (this.selected != this.target) {
clampedPitch = Math.max(Math.abs(pitchDelta), 1.0F);
} else {
clampedPitch /= 3.0F;
}
if (Math.abs(clampedYaw - this.lastYaw) <= randomThreshold) {
clampedYaw = this.lastYaw + randomAddition;
}
clampedYaw += randomYawFactor;
clampedPitch += randomPitchFactor;
yaw = this.rotate.x + (yawDelta > 0.0F ? clampedYaw : -clampedYaw);
pitch = MathHelper.clamp(this.rotate.y + (pitchDelta > 0.0F ? clampedPitch : -clampedPitch), -90.0F, 90.0F);
gcd = SensUtility.getGCDValue();
yaw -= (yaw - this.rotate.x) % gcd;
pitch -= (pitch - this.rotate.y) % gcd;
this.rotate = new Vector2f(yaw, pitch);
this.lastYaw = clampedYaw;
this.lastPitch = clampedPitch;
}
}
if ((Boolean)this.options.is("Коррекция движения").getValue()) {
mc.player.rotationYawOffset = this.rotate.x;
}
}
private void visualRotationUpdate() {
Vector3d vec = this.target.getPositionVec().add(0.0, MathHelper.clamp(mc.player.getPosYEye() - this.target.getPosY(), 0.0, (double)this.target.getHeight() * (mc.player.getDistanceEyePos(this.target) / (double)this.attackDistance())), 0.0).subtract(mc.player.getEyePosition(1.0F));
float yawDelta = (float)MathHelper.wrapDegrees(MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - 90.0) - (double)this.visualRotateVector.x);
float pitchDelta = (float)MathHelper.wrapDegrees(-Math.toDegrees(Math.atan2(vec.y, Math.hypot(vec.x, vec.z))) - (double)this.visualRotateVector.y);
int roundYawDelta = (int)Math.abs(yawDelta);
int roundPitchDelta = (int)Math.abs(pitchDelta);
float gcd = SensUtility.getGCDValue();
float yaw = 0.0F;
float pitch = 0.0F;
float clampedPitch = 0.0F;
float clampedYaw = 0.0F;
switch ((String)this.visualType.getValue()) {
case "Обычная":
clampedYaw = (float)Math.min(roundYawDelta, 40);
clampedPitch = Math.min((float)roundPitchDelta * 0.33F, 30.0F);
yaw = this.visualRotateVector.x + (yawDelta > 0.0F ? clampedYaw : -clampedYaw);
pitch = MathHelper.clamp(this.visualRotateVector.y + (pitchDelta > 0.0F ? clampedPitch : -clampedPitch), -89.0F, 89.0F);
yaw -= (yaw - this.visualRotateVector.x) % gcd;
pitch -= (pitch - this.visualRotateVector.y) % gcd;
break;
case "Спин-бот":
clampedPitch = Math.min((float)roundPitchDelta * 0.33F, 30.0F);
pitch = MathHelper.clamp(this.visualRotateVector.y + (pitchDelta > 0.0F ? clampedPitch : -clampedPitch), -89.0F, 89.0F);
pitch -= (pitch - this.visualRotateVector.y) % gcd;
yaw = this.rotationAngle;
break;
case "Никакая":
yaw = mc.player.rotationYaw;
pitch = mc.player.rotationPitch;
}
this.visualRotateVector = new Vector2f(yaw, pitch);
this.lastYaw = clampedYaw;
this.lastPitch = clampedPitch;
}
public void updateRotation() {
float limitSpeed = 60.0F;
float reverseSpeed = 5.0F;
if (!this.isReversing) {
this.rotationSpeed += reverseSpeed;
if (this.rotationSpeed > limitSpeed) {
this.rotationSpeed = limitSpeed;
this.isReversing = true;
}
} else {
this.rotationSpeed -= reverseSpeed;
if (this.rotationSpeed < -limitSpeed) {
this.rotationSpeed = -limitSpeed;
this.isReversing = false;
}
}
this.rotationAngle += this.rotationSpeed;
this.rotationAngle = (this.rotationAngle + 360.0F) % 360.0F;
}
public void critHelper() {
switch ((String)this.critType.getValue()) {
case "None":
return;
case "Matrix":
if (mc.player.isJumping && mc.player.motion.getY() < -0.1 && (double)mc.player.fallDistance > 0.5 && MoveUtility.getMotion() < 0.12) {
mc.player.motion.y = -1.0;
}
break;
case "NCP":
if (mc.player.isJumping && mc.player.fallDistance != 0.0F) {
Vector3d var10000 = mc.player.motion;
var10000.y -= 0.078;
}
break;
case "NCP+":
if ((double)mc.player.fallDistance > 0.7 && (double)mc.player.fallDistance < 0.8 && this.target != null) {
mc.timer.timerSpeed = 2.0F;
} else {
mc.timer.timerSpeed = 1.0F;
}
break;
case "Grim":
if (mc.player.isJumping && mc.player.fallDistance > 0.0F && (double)mc.player.fallDistance <= 1.2 && !MoveUtility.moveKeysPressed()) {
mc.player.jumpTicks = 0;
if ((double)mc.timer.timerSpeed == 1.0) {
mc.timer.timerSpeed = 1.005F;
}
}
}
}
private void forceAttack() {
if (this.isAttacking || this.canAttack()) {
this.isAttacking = true;
try {
this.preAttack();
this.attack();
this.postAttack();
} finally {
this.isAttacking = false;
}
}
}
private boolean canAttack() {
this.selected = MouseUtility.getMouseOver(this.target, this.rotate.x, this.rotate.y, (double)this.attackDistance());
if (mc.player.getDistanceEyePos(this.target) > (double)this.attackDistance()) {
return false;
} else if ((Boolean)this.moreOptions.is("Проверка луча").getValue() && !this.elytraTargetRule && this.selected == null) {
return false;
} else if (!(Boolean)this.moreOptions.is("Бить через стены").getValue() && !mc.player.canEntityBeSeen(this.target)) {
return false;
} else if ((Boolean)this.moreOptions.is("Не бить если кушаешь").getValue() && mc.player.isHandActive() && mc.player.getHeldItemOffhand().getUseAction() == UseAction.EAT) {
return false;
} else {
return !(Boolean)this.moreOptions.is("Не бить если в гуи").getValue() || mc.currentScreen == null || mc.currentScreen instanceof ClickGuiScreen || mc.currentScreen instanceof ChatScreen || mc.currentScreen instanceof IngameMenuScreen;
}
}
private void preAttack() {
Evaware.getInst().getModuleManager().getTPInfluence().hitAuraTPPRe(this.target);
if (mc.player.isBlocking() && (Boolean)this.options.is("Отжимать щит").getValue()) {
mc.playerController.onStoppedUsingItem(mc.player);
}
}
private void attack() {
int minCPSValue = ((Float)this.minCPS.getValue()).intValue();
int maxCPSValue = ((Float)this.maxCPS.getValue()).intValue();
if (minCPSValue > maxCPSValue) {
maxCPSValue = minCPSValue;
}
int minMS = 1000 / maxCPSValue;
int maxMS = 1000 / minCPSValue;
Random random = new Random();
int randomMS = random.nextInt(maxMS - minMS + 1) + minMS;
this.timerUtility.setLastMS(this.clickType.is("1.9") ? 500L : (long)randomMS);
Criticals.cancelCrit = true;
if (Evaware.getInst().getModuleManager().getCriticals().isEnabled() && Criticals.canUseCriticals()) {
Evaware.getInst().getModuleManager().getCriticals().sendCrit();
}
mc.playerController.attackEntity(mc.player, this.target);
mc.player.swingArm(Hand.MAIN_HAND);
Criticals.cancelCrit = false;
}
private void postAttack() {
LivingEntity var2 = this.target;
if (var2 instanceof PlayerEntity player) {
if ((Boolean)this.options.is("Ломать щит").getValue()) {
this.breakShieldPlayer(player);
}
}
Evaware.getInst().getModuleManager().getTPInfluence().hitAuraTPPost(this.target);
}
public boolean shouldPlayerFalling() {
return AttackUtility.isPlayerFalling((Boolean)this.options.is("Только криты").getValue() && !Criticals.canUseCriticals(), (Boolean)this.smartCrits.getValue(), (Boolean)this.options.is("Синхронизировать с TPS").getValue(), this.clickType.is("1.9"));
}
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)this.maxRange()) {
return false;
} else if (entity == Evaware.getInst().getModuleManager().getFreeCam().fakePlayer) {
return false;
} else {
if (entity instanceof PlayerEntity) {
PlayerEntity p = (PlayerEntity)entity;
if (AntiBot.isBot(entity)) {
return false;
}
if (!(Boolean)this.targets.is("Друзья").getValue() && FriendManager.isFriend(p.getName().getString())) {
return false;
}
if (p.getName().getString().equalsIgnoreCase(mc.player.getName().getString())) {
return false;
}
}
if (entity instanceof PlayerEntity && !(Boolean)this.targets.is("Игроки").getValue()) {
return false;
} else if (entity instanceof PlayerEntity && entity.getTotalArmorValue() == 0 && !(Boolean)this.targets.is("Голые").getValue()) {
return false;
} else if (entity instanceof PlayerEntity && entity.isInvisible() && entity.getTotalArmorValue() == 0 && !(Boolean)this.targets.is("Голые невидимки").getValue()) {
return false;
} else if (entity instanceof PlayerEntity && entity.isInvisible() && !(Boolean)this.targets.is("Невидимки").getValue()) {
return false;
} else if (entity instanceof PlayerEntity && ((PlayerEntity)entity).isCreative()) {
return false;
} else if ((entity instanceof MonsterEntity || entity instanceof SlimeEntity || entity instanceof VillagerEntity) && !(Boolean)this.targets.is("Мобы").getValue()) {
return false;
} else if (entity instanceof AnimalEntity && !(Boolean)this.targets.is("Животные").getValue()) {
return false;
} else {
return !entity.isInvulnerable() && entity.isAlive() && !(entity instanceof ArmorStandEntity);
}
}
}
private void breakShieldPlayer(PlayerEntity entity) {
if (entity.isBlocking()) {
int invSlot = InventoryUtility.getInstance().getAxeInInventory(false);
int hotBarSlot = InventoryUtility.getInstance().getAxeInInventory(true);
if (hotBarSlot == -1 && invSlot != -1) {
int bestSlot = InventoryUtility.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.is("Коррекция движения").getValue()) {
mc.player.rotationYawOffset = -2.1474836E9F;
}
this.rotate = new Vector2f(mc.player.rotationYaw, mc.player.rotationPitch);
}
public void onEnable() {
super.onEnable();
this.reset();
this.target = null;
}
public void onDisable() {
super.onDisable();
this.reset();
this.timerUtility.setLastMS(0L);
this.target = null;
mc.timer.timerSpeed = 1.0F;
}
public ModeSetting getType() {
return this.type;
}
public ModeListSetting getOptions() {
return this.options;
}
public ModeListSetting getMoreOptions() {
return this.moreOptions;
}
public TimerUtility getTimerUtility() {
return this.timerUtility;
}
public LivingEntity getTarget() {
return this.target;
}
public void setTarget(LivingEntity target) {
this.target = target;
}
}
нет 3.2
рабочую где?)держите рабочую килку с евыКод:package eva.ware.modules.impl.combat; import com.google.common.eventbus.Subscribe; import eva.ware.Evaware; import eva.ware.events.EventInput; import eva.ware.events.EventMotion; import eva.ware.events.EventUpdate; import eva.ware.manager.friend.FriendManager; import eva.ware.modules.api.Category; import eva.ware.modules.api.Module; import eva.ware.modules.api.ModuleRegister; import eva.ware.modules.settings.api.Setting; import eva.ware.modules.settings.impl.CheckBoxSetting; import eva.ware.modules.settings.impl.ModeListSetting; import eva.ware.modules.settings.impl.ModeSetting; import eva.ware.modules.settings.impl.SliderSetting; import eva.ware.ui.clickgui.ClickGuiScreen; import eva.ware.utils.math.MathUtility; import eva.ware.utils.math.SensUtility; import eva.ware.utils.math.TimerUtility; import eva.ware.utils.player.AttackUtility; import eva.ware.utils.player.InventoryUtility; import eva.ware.utils.player.MouseUtility; import eva.ware.utils.player.MoveUtility; import eva.ware.utils.player.PlayerUtility; import java.util.ArrayList; import java.util.Comparator; import java.util.Iterator; import java.util.List; import java.util.Random; import net.minecraft.client.entity.player.ClientPlayerEntity; import net.minecraft.client.entity.player.RemoteClientPlayerEntity; import net.minecraft.client.gui.screen.ChatScreen; import net.minecraft.client.gui.screen.IngameMenuScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.item.ArmorStandEntity; import net.minecraft.entity.merchant.villager.VillagerEntity; import net.minecraft.entity.monster.MonsterEntity; import net.minecraft.entity.monster.SlimeEntity; import net.minecraft.entity.passive.AnimalEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.inventory.container.ClickType; import net.minecraft.item.UseAction; import net.minecraft.network.play.client.CHeldItemChangePacket; 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; @ModuleRegister( name = "HitAura", category = Category.Combat ) public class HitAura extends Module { final ModeSetting type = new ModeSetting("Тип", "Плавная", new String[]{"Плавная", "Резкая", "HolyWorld"}); final ModeSetting visualType = new ModeSetting("Визуальная наводка", "Обычная", new String[]{"Обычная", "Спин-бот", "Никакая"}); final SliderSetting attackRange = new SliderSetting("Дистанция аттаки", 3.0F, 2.5F, 6.0F, 0.05F); final SliderSetting elytraRange = new SliderSetting("Дистанция на элитре", 6.0F, 0.0F, 16.0F, 0.05F); final SliderSetting preRange = (new SliderSetting("Дистанция наводки", 0.3F, 0.0F, 3.0F, 0.05F)).visibleIf(() -> { return !this.type.is("Резкая"); }); final SliderSetting tick = (new SliderSetting("Тики", 2.0F, 1.0F, 10.0F, 1.0F)).visibleIf(() -> { return this.type.is("Резкая"); }); final ModeSetting clickType = new ModeSetting("Режим кликов", "1.9", new String[]{"1.8", "1.9"}); final SliderSetting minCPS = (new SliderSetting("Мин. CPS", 7.0F, 1.0F, 10.0F, 1.0F)).visibleIf(() -> { return !this.clickType.is("1.9"); }); final SliderSetting maxCPS = (new SliderSetting("Макс. CPS", 10.0F, 1.0F, 20.0F, 1.0F)).visibleIf(() -> { return !this.clickType.is("1.9"); }); final ModeListSetting targets = new ModeListSetting("Таргеты", new CheckBoxSetting[]{new CheckBoxSetting("Игроки", true), new CheckBoxSetting("Голые", true), new CheckBoxSetting("Мобы", false), new CheckBoxSetting("Животные", false), new CheckBoxSetting("Друзья", false), new CheckBoxSetting("Голые невидимки", true), new CheckBoxSetting("Невидимки", true)}); final ModeListSetting consider = new ModeListSetting("Учитывать", new CheckBoxSetting[]{new CheckBoxSetting("Хп", true), new CheckBoxSetting("Броню", true), new CheckBoxSetting("Дистанцию", true), new CheckBoxSetting("Баффы", true)}); final ModeListSetting options = new ModeListSetting("Опции", new CheckBoxSetting[]{new CheckBoxSetting("Только криты", true), new CheckBoxSetting("Ломать щит", true), new CheckBoxSetting("Отжимать щит", false), new CheckBoxSetting("Синхронизировать с TPS", false), new CheckBoxSetting("Фокусировать одну цель", true), new CheckBoxSetting("Коррекция движения", true), new CheckBoxSetting("Оптимальная дистанция", false), new CheckBoxSetting("Резольвер", true)}); final ModeListSetting moreOptions = new ModeListSetting("Дополнительное", new CheckBoxSetting[]{new CheckBoxSetting("Проверка луча", true), new CheckBoxSetting("Перелетать противника", true), new CheckBoxSetting("Бить через стены", true), new CheckBoxSetting("Не бить если кушаешь", false), new CheckBoxSetting("Не бить если в гуи", false), new CheckBoxSetting("Рандомизация", true)}); final SliderSetting elytraForward = (new SliderSetting("Значение перелета", 75.0F, 1.0F, 100.0F, 1.0F)).visibleIf(() -> { return (Boolean)this.moreOptions.is("Перелетать противника").getValue(); }); public CheckBoxSetting smartCrits = (new CheckBoxSetting("Умные криты", false)).visibleIf(() -> { return (Boolean)this.options.is("Только криты").getValue(); }); final ModeSetting correctionType = (new ModeSetting("Тип коррекции", "Незаметный", new String[]{"Незаметный", "Сфокусированный"})).visibleIf(() -> { return (Boolean)this.options.is("Коррекция движения").getValue(); }); final ModeSetting critType = new ModeSetting("Крит хелпер", "None", new String[]{"None", "Matrix", "NCP", "NCP+", "Grim"}); private final TimerUtility timerUtility = new TimerUtility(); public Vector2f rotate = new Vector2f(0.0F, 0.0F); public Vector2f visualRotateVector = new Vector2f(0.0F, 0.0F); private LivingEntity target; private Entity selected; int ticks = 0; boolean isRotated = false; boolean isAttacking = false; boolean crystalAuraRule = true; boolean elytraTargetRule; float lastYaw; float lastPitch; boolean isReversing = false; private float rotationSpeed; private float rotationAngle; final PotionThrower autoPotion; double moreAttackDistanceOnElytra = 0.0; float aimDistance() { return !this.type.is("Резкая") ? (Float)this.preRange.getValue() : 0.0F; } float maxRange() { return this.attackDistance() + (mc.player.isElytraFlying() ? (Float)this.elytraRange.getValue() : 0.0F) + this.aimDistance(); } public HitAura(PotionThrower autoPotion) { this.autoPotion = autoPotion; this.addSettings(new Setting[]{this.type, this.visualType, this.attackRange, this.preRange, this.elytraRange, this.tick, this.clickType, this.minCPS, this.maxCPS, this.targets, this.consider, this.options, this.moreOptions, this.elytraForward, this.smartCrits, this.correctionType, this.critType}); } @Subscribe public void onInput(EventInput eventInput) { if ((Boolean)this.options.is("Коррекция движения").getValue() && this.correctionType.is("Незаметный") && this.crystalAuraRule) { MoveUtility.fixMovement(eventInput, this.rotate.x); } } @Subscribe public void onUpdate(EventUpdate e) { if (this.crystalAuraRule) { if ((Boolean)this.options.is("Фокусировать одну цель").getValue() && (this.target == null || !this.isValid(this.target)) || !(Boolean)this.options.is("Фокусировать одну цель").getValue()) { this.updateTarget(); } if ((Boolean)this.options.is("Резольвер").getValue()) { this.resolvePlayers(); this.releaseResolver(); } if (this.target != null && (!this.autoPotion.isEnabled() || !this.autoPotion.isActive())) { this.isRotated = false; this.visualRotationUpdate(); this.updateRotation(); if (this.shouldPlayerFalling() && this.timerUtility.hasTimeElapsed()) { this.ticks = ((Float)this.tick.getValue()).intValue(); this.forceAttack(); } if (!mc.player.isElytraFlying()) { if (this.type.is("Резкая")) { if (this.ticks > 0) { this.setRotate(); --this.ticks; } else { this.reset(); } } else if (!this.isRotated) { this.setRotate(); } } else if (!this.isRotated) { this.setRotate(); } } else { this.timerUtility.setLastMS(0L); this.reset(); } if (this.target != null && this.isRotated && !mc.player.isElytraFlying() && mc.player.getDistanceEyePos(this.target) <= (double)this.attackDistance()) { this.critHelper(); } } } @Subscribe private void onWalking(EventMotion e) { if (this.target != null && (!this.autoPotion.isEnabled() || !this.autoPotion.isActive()) && this.crystalAuraRule) { float yaw = this.visualRotateVector.x; float pitch = this.visualRotateVector.y; e.setYaw(this.rotate.x); e.setPitch(this.rotate.y); mc.player.rotationYawHead = yaw; mc.player.renderYawOffset = PlayerUtility.calculateCorrectYawOffset(yaw); mc.player.rotationPitchHead = pitch; } } public void setRotate() { this.elytraTargetRule = mc.player.isElytraFlying() && this.target.isElytraFlying(); if (this.type.is("Резкая")) { this.updateRotation(2.1474836E9F); } else { this.updateRotation(9999.0F); } } public float attackDistance() { if ((Boolean)this.options.is("Оптимальная дистанция").getValue() && !Evaware.getInst().getModuleManager().getTPInfluence().isEnabled()) { return !mc.player.isSwimming() ? (float)(3.6 + this.moreAttackDistanceOnElytra) : (float)(3.0 + this.moreAttackDistanceOnElytra); } else { return Evaware.getInst().getModuleManager().getTPInfluence().isEnabled() && !Evaware.getInst().getModuleManager().getFreeCam().isEnabled() ? (Float)Evaware.getInst().getModuleManager().getTPInfluence().range.getValue() : (float)((double)(Float)this.attackRange.getValue() + this.moreAttackDistanceOnElytra); } } public void resolvePlayers() { Iterator var1 = mc.world.getPlayers().iterator(); while(var1.hasNext()) { PlayerEntity player = (PlayerEntity)var1.next(); if (player instanceof RemoteClientPlayerEntity) { ((RemoteClientPlayerEntity)player).resolve(); } } } public void releaseResolver() { Iterator var1 = mc.world.getPlayers().iterator(); while(var1.hasNext()) { PlayerEntity player = (PlayerEntity)var1.next(); if (player instanceof RemoteClientPlayerEntity) { ((RemoteClientPlayerEntity)player).releaseResolver(); } } } private void updateTarget() { List<LivingEntity> targets = new ArrayList(); Iterator var2 = mc.world.getAllEntities().iterator(); while(var2.hasNext()) { Entity entity = (Entity)var2.next(); if (entity instanceof LivingEntity living) { if (this.isValid(living)) { targets.add(living); } } } if (targets.isEmpty()) { this.target = null; } else if (targets.size() == 1) { this.target = (LivingEntity)targets.get(0); } else { targets.sort(Comparator.comparingDouble((entityx) -> { return MathUtility.entity(entityx, (Boolean)this.consider.is("Хп").getValue(), (Boolean)this.consider.is("Броню").getValue(), (Boolean)this.consider.is("Дистанцию").getValue(), (double)this.maxRange(), (Boolean)this.consider.is("Баффы").getValue()); })); this.target = (LivingEntity)targets.get(0); } } private void updateRotation(float rotationYawSpeed) { float scaleFactor = (Boolean)this.moreOptions.is("Перелетать противника").getValue() ? (PlayerUtility.getEntityBPS(this.target, false) > 8.0 ? (Float)this.elytraForward.getValue() / 20.0F : 1.0F) : 1.0F; Vector3d vec; float yawToTarget; float pitchToTarget; float yawDelta; float pitchDelta; float yaw; float pitch; float gcd; float clampedYaw; float clampedPitch; float randomYawFactor; float randomPitchFactor; float randomThreshold; float randomAddition; if (this.elytraTargetRule) { vec = this.target.getPositionVec().add(0.0, MathHelper.clamp(this.target.getPosY() - (double)this.target.getHeight(), 0.0, (double)(this.target.getHeight() / 2.0F)), 0.0).subtract(mc.player.getEyePosition(1.0F)).add(this.target.getMotion().mul(this.elytraTargetRule ? (double)scaleFactor : 1.0, mc.player.isElytraFlying() && this.target.isElytraFlying() ? (double)scaleFactor : 1.0, mc.player.isElytraFlying() && this.target.isElytraFlying() ? (double)scaleFactor : 1.0)); yawToTarget = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - 90.0); pitchToTarget = (float)(-Math.toDegrees(Math.atan2(vec.y, Math.hypot(vec.x, vec.z)))); yawDelta = MathHelper.wrapDegrees(yawToTarget - this.rotate.x); pitchDelta = MathHelper.wrapDegrees(pitchToTarget - this.rotate.y); switch ((String)this.type.getValue()) { case "Плавная": yaw = Math.min(Math.max(Math.abs(yawDelta), 1.0F), rotationYawSpeed); pitch = Math.max(Math.abs(pitchDelta), 1.0F); gcd = this.rotate.x + (yawDelta > 0.0F ? yaw : -yaw) + SensUtility.getSensitivity((float)(Math.cos((double)System.currentTimeMillis() / 50.0) * 7.0)); pitch = MathHelper.clamp(this.rotate.y + (pitchDelta > 0.0F ? pitch : -pitch), -89.0F, 89.0F) + SensUtility.getSensitivity((float)(Math.cos((double)System.currentTimeMillis() / 50.0) * 7.0)); gcd -= (gcd - this.rotate.x) % SensUtility.getGCDValue(); pitch -= (pitch - this.rotate.y) % SensUtility.getGCDValue(); this.rotate = new Vector2f(gcd, pitch); this.lastYaw = yaw; this.lastPitch = pitch; break; case "Резкая": yaw = this.rotate.x + yawDelta; pitch = MathHelper.clamp(this.rotate.y + pitchDelta, -90.0F, 90.0F); gcd = SensUtility.getGCDValue(); yaw -= (yaw - this.rotate.x) % gcd; pitch -= (pitch - this.rotate.y) % gcd; this.rotate = new Vector2f(yaw, pitch); break; case "HolyWorld": clampedYaw = Math.min(Math.max(Math.abs(yawDelta), 1.0E-4F), 52.0F); clampedPitch = Math.min(Math.max(Math.abs(pitchDelta), 1.0E-4F), 22.0F); randomYawFactor = (float)(Math.random() * 1.5 - 1.5); randomPitchFactor = (float)(Math.random() * 1.5 - 1.0); randomThreshold = (float)(Math.random() * 1.5); randomAddition = (float)(Math.random() * 2.5 + 1.5); if (this.selected != this.target) { clampedPitch = Math.max(Math.abs(pitchDelta), 1.0F); } else { clampedPitch /= 3.0F; } if (Math.abs(clampedYaw - this.lastYaw) <= randomThreshold) { clampedYaw = this.lastYaw + randomAddition; } clampedYaw += randomYawFactor; clampedPitch += randomPitchFactor; yaw = this.rotate.x + (yawDelta > 0.0F ? clampedYaw : -clampedYaw); pitch = MathHelper.clamp(this.rotate.y + (pitchDelta > 0.0F ? clampedPitch : -clampedPitch), -90.0F, 90.0F); gcd = SensUtility.getGCDValue(); yaw -= (yaw - this.rotate.x) % gcd; pitch -= (pitch - this.rotate.y) % gcd; this.rotate = new Vector2f(yaw, pitch); this.lastYaw = clampedYaw; this.lastPitch = clampedPitch; } } else { vec = this.target.getPositionVec().add(0.0, MathHelper.clamp(this.target.getPosY() - (double)this.target.getHeight(), 0.0, (double)(this.target.getHeight() / 2.0F)), 0.0).subtract(mc.player.getEyePosition(1.0F)); yawToTarget = (float)MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - 90.0); pitchToTarget = (float)(-Math.toDegrees(Math.atan2(vec.y, Math.hypot(vec.x, vec.z)))); yawDelta = MathHelper.wrapDegrees(yawToTarget - this.rotate.x); pitchDelta = MathHelper.wrapDegrees(pitchToTarget - this.rotate.y); int roundedYaw = (int)yawDelta; switch ((String)this.type.getValue()) { case "Плавная": yaw = Math.min(Math.max(Math.abs(yawDelta), 1.0F), rotationYawSpeed); pitch = Math.max(Math.abs(pitchDelta), 1.0F); gcd = this.rotate.x + (yawDelta > 0.0F ? yaw : -yaw); pitch = MathHelper.clamp(this.rotate.y + (pitchDelta > 0.0F ? pitch : -pitch), -89.0F, 89.0F); gcd -= (gcd - this.rotate.x) % SensUtility.getGCDValue(); pitch -= (pitch - this.rotate.y) % SensUtility.getGCDValue(); this.rotate = new Vector2f(gcd, pitch); this.lastYaw = yaw; this.lastPitch = pitch; break; case "Резкая": yaw = this.rotate.x + (float)roundedYaw; pitch = MathHelper.clamp(this.rotate.y + pitchDelta, -90.0F, 90.0F); gcd = SensUtility.getGCDValue(); yaw -= (yaw - this.rotate.x) % gcd; pitch -= (pitch - this.rotate.y) % gcd; this.rotate = new Vector2f(yaw, pitch); break; case "HolyWorld": clampedYaw = Math.min(Math.max(Math.abs(yawDelta), 1.0E-4F), 52.0F); clampedPitch = Math.min(Math.max(Math.abs(pitchDelta), 1.0E-4F), 22.0F); randomYawFactor = (float)(Math.random() * 1.5 - 1.5); randomPitchFactor = (float)(Math.random() * 1.5 - 1.0); randomThreshold = (float)(Math.random() * 1.5); randomAddition = (float)(Math.random() * 2.5 + 1.5); if (this.selected != this.target) { clampedPitch = Math.max(Math.abs(pitchDelta), 1.0F); } else { clampedPitch /= 3.0F; } if (Math.abs(clampedYaw - this.lastYaw) <= randomThreshold) { clampedYaw = this.lastYaw + randomAddition; } clampedYaw += randomYawFactor; clampedPitch += randomPitchFactor; yaw = this.rotate.x + (yawDelta > 0.0F ? clampedYaw : -clampedYaw); pitch = MathHelper.clamp(this.rotate.y + (pitchDelta > 0.0F ? clampedPitch : -clampedPitch), -90.0F, 90.0F); gcd = SensUtility.getGCDValue(); yaw -= (yaw - this.rotate.x) % gcd; pitch -= (pitch - this.rotate.y) % gcd; this.rotate = new Vector2f(yaw, pitch); this.lastYaw = clampedYaw; this.lastPitch = clampedPitch; } } if ((Boolean)this.options.is("Коррекция движения").getValue()) { mc.player.rotationYawOffset = this.rotate.x; } } private void visualRotationUpdate() { Vector3d vec = this.target.getPositionVec().add(0.0, MathHelper.clamp(mc.player.getPosYEye() - this.target.getPosY(), 0.0, (double)this.target.getHeight() * (mc.player.getDistanceEyePos(this.target) / (double)this.attackDistance())), 0.0).subtract(mc.player.getEyePosition(1.0F)); float yawDelta = (float)MathHelper.wrapDegrees(MathHelper.wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - 90.0) - (double)this.visualRotateVector.x); float pitchDelta = (float)MathHelper.wrapDegrees(-Math.toDegrees(Math.atan2(vec.y, Math.hypot(vec.x, vec.z))) - (double)this.visualRotateVector.y); int roundYawDelta = (int)Math.abs(yawDelta); int roundPitchDelta = (int)Math.abs(pitchDelta); float gcd = SensUtility.getGCDValue(); float yaw = 0.0F; float pitch = 0.0F; float clampedPitch = 0.0F; float clampedYaw = 0.0F; switch ((String)this.visualType.getValue()) { case "Обычная": clampedYaw = (float)Math.min(roundYawDelta, 40); clampedPitch = Math.min((float)roundPitchDelta * 0.33F, 30.0F); yaw = this.visualRotateVector.x + (yawDelta > 0.0F ? clampedYaw : -clampedYaw); pitch = MathHelper.clamp(this.visualRotateVector.y + (pitchDelta > 0.0F ? clampedPitch : -clampedPitch), -89.0F, 89.0F); yaw -= (yaw - this.visualRotateVector.x) % gcd; pitch -= (pitch - this.visualRotateVector.y) % gcd; break; case "Спин-бот": clampedPitch = Math.min((float)roundPitchDelta * 0.33F, 30.0F); pitch = MathHelper.clamp(this.visualRotateVector.y + (pitchDelta > 0.0F ? clampedPitch : -clampedPitch), -89.0F, 89.0F); pitch -= (pitch - this.visualRotateVector.y) % gcd; yaw = this.rotationAngle; break; case "Никакая": yaw = mc.player.rotationYaw; pitch = mc.player.rotationPitch; } this.visualRotateVector = new Vector2f(yaw, pitch); this.lastYaw = clampedYaw; this.lastPitch = clampedPitch; } public void updateRotation() { float limitSpeed = 60.0F; float reverseSpeed = 5.0F; if (!this.isReversing) { this.rotationSpeed += reverseSpeed; if (this.rotationSpeed > limitSpeed) { this.rotationSpeed = limitSpeed; this.isReversing = true; } } else { this.rotationSpeed -= reverseSpeed; if (this.rotationSpeed < -limitSpeed) { this.rotationSpeed = -limitSpeed; this.isReversing = false; } } this.rotationAngle += this.rotationSpeed; this.rotationAngle = (this.rotationAngle + 360.0F) % 360.0F; } public void critHelper() { switch ((String)this.critType.getValue()) { case "None": return; case "Matrix": if (mc.player.isJumping && mc.player.motion.getY() < -0.1 && (double)mc.player.fallDistance > 0.5 && MoveUtility.getMotion() < 0.12) { mc.player.motion.y = -1.0; } break; case "NCP": if (mc.player.isJumping && mc.player.fallDistance != 0.0F) { Vector3d var10000 = mc.player.motion; var10000.y -= 0.078; } break; case "NCP+": if ((double)mc.player.fallDistance > 0.7 && (double)mc.player.fallDistance < 0.8 && this.target != null) { mc.timer.timerSpeed = 2.0F; } else { mc.timer.timerSpeed = 1.0F; } break; case "Grim": if (mc.player.isJumping && mc.player.fallDistance > 0.0F && (double)mc.player.fallDistance <= 1.2 && !MoveUtility.moveKeysPressed()) { mc.player.jumpTicks = 0; if ((double)mc.timer.timerSpeed == 1.0) { mc.timer.timerSpeed = 1.005F; } } } } private void forceAttack() { if (this.isAttacking || this.canAttack()) { this.isAttacking = true; try { this.preAttack(); this.attack(); this.postAttack(); } finally { this.isAttacking = false; } } } private boolean canAttack() { this.selected = MouseUtility.getMouseOver(this.target, this.rotate.x, this.rotate.y, (double)this.attackDistance()); if (mc.player.getDistanceEyePos(this.target) > (double)this.attackDistance()) { return false; } else if ((Boolean)this.moreOptions.is("Проверка луча").getValue() && !this.elytraTargetRule && this.selected == null) { return false; } else if (!(Boolean)this.moreOptions.is("Бить через стены").getValue() && !mc.player.canEntityBeSeen(this.target)) { return false; } else if ((Boolean)this.moreOptions.is("Не бить если кушаешь").getValue() && mc.player.isHandActive() && mc.player.getHeldItemOffhand().getUseAction() == UseAction.EAT) { return false; } else { return !(Boolean)this.moreOptions.is("Не бить если в гуи").getValue() || mc.currentScreen == null || mc.currentScreen instanceof ClickGuiScreen || mc.currentScreen instanceof ChatScreen || mc.currentScreen instanceof IngameMenuScreen; } } private void preAttack() { Evaware.getInst().getModuleManager().getTPInfluence().hitAuraTPPRe(this.target); if (mc.player.isBlocking() && (Boolean)this.options.is("Отжимать щит").getValue()) { mc.playerController.onStoppedUsingItem(mc.player); } } private void attack() { int minCPSValue = ((Float)this.minCPS.getValue()).intValue(); int maxCPSValue = ((Float)this.maxCPS.getValue()).intValue(); if (minCPSValue > maxCPSValue) { maxCPSValue = minCPSValue; } int minMS = 1000 / maxCPSValue; int maxMS = 1000 / minCPSValue; Random random = new Random(); int randomMS = random.nextInt(maxMS - minMS + 1) + minMS; this.timerUtility.setLastMS(this.clickType.is("1.9") ? 500L : (long)randomMS); Criticals.cancelCrit = true; if (Evaware.getInst().getModuleManager().getCriticals().isEnabled() && Criticals.canUseCriticals()) { Evaware.getInst().getModuleManager().getCriticals().sendCrit(); } mc.playerController.attackEntity(mc.player, this.target); mc.player.swingArm(Hand.MAIN_HAND); Criticals.cancelCrit = false; } private void postAttack() { LivingEntity var2 = this.target; if (var2 instanceof PlayerEntity player) { if ((Boolean)this.options.is("Ломать щит").getValue()) { this.breakShieldPlayer(player); } } Evaware.getInst().getModuleManager().getTPInfluence().hitAuraTPPost(this.target); } public boolean shouldPlayerFalling() { return AttackUtility.isPlayerFalling((Boolean)this.options.is("Только криты").getValue() && !Criticals.canUseCriticals(), (Boolean)this.smartCrits.getValue(), (Boolean)this.options.is("Синхронизировать с TPS").getValue(), this.clickType.is("1.9")); } 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)this.maxRange()) { return false; } else if (entity == Evaware.getInst().getModuleManager().getFreeCam().fakePlayer) { return false; } else { if (entity instanceof PlayerEntity) { PlayerEntity p = (PlayerEntity)entity; if (AntiBot.isBot(entity)) { return false; } if (!(Boolean)this.targets.is("Друзья").getValue() && FriendManager.isFriend(p.getName().getString())) { return false; } if (p.getName().getString().equalsIgnoreCase(mc.player.getName().getString())) { return false; } } if (entity instanceof PlayerEntity && !(Boolean)this.targets.is("Игроки").getValue()) { return false; } else if (entity instanceof PlayerEntity && entity.getTotalArmorValue() == 0 && !(Boolean)this.targets.is("Голые").getValue()) { return false; } else if (entity instanceof PlayerEntity && entity.isInvisible() && entity.getTotalArmorValue() == 0 && !(Boolean)this.targets.is("Голые невидимки").getValue()) { return false; } else if (entity instanceof PlayerEntity && entity.isInvisible() && !(Boolean)this.targets.is("Невидимки").getValue()) { return false; } else if (entity instanceof PlayerEntity && ((PlayerEntity)entity).isCreative()) { return false; } else if ((entity instanceof MonsterEntity || entity instanceof SlimeEntity || entity instanceof VillagerEntity) && !(Boolean)this.targets.is("Мобы").getValue()) { return false; } else if (entity instanceof AnimalEntity && !(Boolean)this.targets.is("Животные").getValue()) { return false; } else { return !entity.isInvulnerable() && entity.isAlive() && !(entity instanceof ArmorStandEntity); } } } private void breakShieldPlayer(PlayerEntity entity) { if (entity.isBlocking()) { int invSlot = InventoryUtility.getInstance().getAxeInInventory(false); int hotBarSlot = InventoryUtility.getInstance().getAxeInInventory(true); if (hotBarSlot == -1 && invSlot != -1) { int bestSlot = InventoryUtility.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.is("Коррекция движения").getValue()) { mc.player.rotationYawOffset = -2.1474836E9F; } this.rotate = new Vector2f(mc.player.rotationYaw, mc.player.rotationPitch); } public void onEnable() { super.onEnable(); this.reset(); this.target = null; } public void onDisable() { super.onDisable(); this.reset(); this.timerUtility.setLastMS(0L); this.target = null; mc.timer.timerSpeed = 1.0F; } public ModeSetting getType() { return this.type; } public ModeListSetting getOptions() { return this.options; } public ModeListSetting getMoreOptions() { return this.moreOptions; } public TimerUtility getTimerUtility() { return this.timerUtility; } public LivingEntity getTarget() { return this.target; } public void setTarget(LivingEntity target) { this.target = target; } }
что? килка рабочаярабочую где?)
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz