Начинающий
- Статус
- Оффлайн
- Регистрация
- 7 Мар 2025
- Сообщения
- 39
- Реакции
- 0
- Выберите загрузчик игры
- Vanilla
Этот код полное Говно я когда увидел это глаза чуть не выпали но из-за терок между овнером дебуды (lam4ik)
приходится сливать этот калл
SS - обычный каловый аим бот под спуки тайм
приходится сливать этот калл
SS - обычный каловый аим бот под спуки тайм
саредлька клиент:
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package im.expensive.functions.impl.combat;
import com.google.common.eventbus.Subscribe;
import im.expensive.Expensive;
import im.expensive.command.friends.FriendStorage;
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.impl.render.NoRender;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.function.ToDoubleFunction;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ArmorItem;
import net.minecraft.item.BowItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.TridentItem;
import net.minecraft.util.Hand;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import ru.kotopushka.compiler.sdk.annotations.Compile;
import we.are.nuym.initializer.NuymMain;
@FunctionRegister(
name = "Project",
type = Category.Combat,
description = "Автоматически целится в игрока"
)
public class Project extends Function {
private final ModeListSetting weapons = new ModeListSetting("Оружие", new BooleanSetting[]{new BooleanSetting("Лук", true), new BooleanSetting("Трезубец", true)});
private final float AIM_RANGE = 12.0F;
private final SliderSetting interpSpeed = new SliderSetting("Скорость наведения", 8.0F, 1.0F, 50.0F, 0.1F);
private final SliderSetting predictStrength = new SliderSetting("Сила предикта", 1.0F, 0.0F, 2.0F, 0.01F);
private final BooleanSetting ignoreNoArmor = new BooleanSetting("Игнорировать голых", false);
private LivingEntity target;
private Vector2f lastRotation;
public Project() {
this.addSettings(new Setting[]{this.weapons, this.interpSpeed, this.predictStrength, this.ignoreNoArmor});
}
@Subscribe
public void onUpdate(EventUpdate event) {
if (Minecraft.player != null && Minecraft.world != null) {
boolean var6;
if (this.ValidItem() && Minecraft.player.isHandActive() && Minecraft.player.getActiveHand() == Hand.MAIN_HAND) {
var6 = true;
} else {
var6 = false;
}
if (!var6) {
this.lastRotation = null;
} else {
this.updateTarget();
if (this.target != null) {
this.aim();
} else {
this.lastRotation = null;
}
}
} else {
this.target = null;
this.lastRotation = null;
}
}
@Compile
private native void aim();
private Vector3d predictTargetPos() {
AxisAlignedBB box = this.target.getBoundingBox();
double aimX = (box.minX + box.maxX) / (double)2.0F;
double aimY = box.minY + (box.maxY - box.minY) * 0.45;
double aimZ = (box.minZ + box.maxZ) / (double)2.0F;
Vector3d pos = new Vector3d(aimX, aimY, aimZ);
Vector3d motion = this.target.getMotion();
double distance = (double)Minecraft.player.getDistance(this.target);
double projectileSpeed = this.Bow() ? (double)3.0F : (this.Trident() ? (double)2.5F : (double)2.5F);
double predictionTime = distance / projectileSpeed;
double predictPower = (double)(Float)this.predictStrength.get();
Vector3d direction = this.getTargetMovementDirection(this.target);
double sideMultiplier = this.getLateralMultiplier(this.target, Minecraft.player);
Vector3d prediction = motion.scale(predictionTime);
if (direction.lengthSquared() > 1.0E-4 && Math.abs(sideMultiplier) > 0.01) {
Minecraft.player.getPositionVec().subtract(this.target.getPositionVec()).normalize();
Vector3d lateral = direction.crossProduct(new Vector3d((double)0.0F, (double)1.0F, (double)0.0F)).normalize();
double sidePredict = sideMultiplier * predictPower * motion.length() * predictionTime;
prediction = prediction.add(lateral.scale(sidePredict));
}
pos = pos.add(prediction);
if (Math.abs(motion.y) > 0.01) {
double verticalAdjustment = motion.y * predictionTime * (double)0.5F;
pos = pos.add((double)0.0F, verticalAdjustment, (double)0.0F);
}
return pos;
}
private Vector3d getTargetMovementDirection(LivingEntity entity) {
Vector3d motion = entity.getMotion();
Vector3d flatMotion = new Vector3d(motion.x, (double)0.0F, motion.z);
double len = flatMotion.length();
return len < 0.01 ? Vector3d.ZERO : flatMotion.normalize();
}
private double getLateralMultiplier(LivingEntity entity, PlayerEntity player) {
Vector3d toPlayer = player.getPositionVec().subtract(entity.getPositionVec()).normalize();
Vector3d motionDir = this.getTargetMovementDirection(entity);
Vector3d right = toPlayer.crossProduct(new Vector3d((double)0.0F, (double)1.0F, (double)0.0F)).normalize();
return right.dotProduct(motionDir);
}
private boolean Bow() {
Minecraft var10000 = mc;
ItemStack item = Minecraft.player.getHeldItemMainhand();
return item.getItem() instanceof BowItem;
}
private boolean Trident() {
Minecraft var10000 = mc;
ItemStack item = Minecraft.player.getHeldItemMainhand();
return item.getItem() instanceof TridentItem;
}
private void updateTarget() {
List<PlayerEntity> targets = new ArrayList();
Minecraft var10000 = mc;
for(Entity entity : Minecraft.world.getAllEntities()) {
if (this.ValidTarget(entity)) {
targets.add((PlayerEntity)entity);
}
}
targets.sort(Comparator.comparingDouble($hello64_proxy65()));
this.target = targets.isEmpty() ? null : (LivingEntity)targets.get(0);
}
private boolean ValidTarget(Entity entity) {
if (entity instanceof PlayerEntity playerEntity) {
if (entity instanceof ClientPlayerEntity) {
return false;
} else if (entity.isAlive() && entity.ticksExisted >= 10 && !entity.isInvulnerable()) {
if (Minecraft.player.getDistanceSq(entity) > (double)144.0F) {
return false;
} else {
String var6 = entity.getName().getString();
if (var6.equalsIgnoreCase(Minecraft.player.getName().getString())) {
return false;
} else {
Minecraft var7 = mc;
if (!Minecraft.player.canEntityBeSeen(entity)) {
return false;
} else if (FriendStorage.isFriend(entity.getName().getString())) {
return false;
} else if (!(Boolean)this.ignoreNoArmor.get()) {
return true;
} else {
boolean hasArmor = false;
for(ItemStack armorStack : playerEntity.getArmorInventoryList()) {
if (!armorStack.isEmpty() && armorStack.getItem() instanceof ArmorItem) {
hasArmor = true;
break;
}
}
return hasArmor;
}
}
}
} else {
return false;
}
} else {
return false;
}
}
private boolean ValidItem() {
ItemStack item = Minecraft.player.getHeldItemMainhand();
if (item.isEmpty()) {
return false;
} else if (item.getItem() instanceof BowItem) {
return (Boolean)this.weapons.getValueByName("Лук").get();
} else {
return item.getItem() instanceof TridentItem ? (Boolean)this.weapons.getValueByName("Трезубец").get() : false;
}
}
public boolean onEnable() {
super.onEnable();
this.target = null;
this.lastRotation = null;
return false;
}
public boolean onDisable() {
super.onDisable();
this.target = null;
this.lastRotation = null;
mc.gameSettings.keyBindUseItem.setPressed(false);
return false;
}
public Vector2f project2D(Vector3d var1) {
return this.project2D(var1.x, var1.y, var1.z);
}
public Vector2f project2D(double var1, double var3, double var5) {
Vector3d var7 = mc.getRenderManager().info.getProjectedView();
Quaternion var8 = mc.getRenderManager().getCameraOrientation().copy();
var8.conjugate();
Vector3f var9 = new Vector3f((float)(var7.x - var1), (float)(var7.y - var3), (float)(var7.z - var5));
var9.transform(var8);
Entity var10 = mc.getRenderViewEntity();
if (var10 instanceof PlayerEntity var11) {
label16: {
if (Expensive.getInstance().getFunctionRegistry().getNoRender().isState()) {
Expensive.getInstance().getFunctionRegistry().getNoRender();
if ((Boolean)NoRender.element.getValueByName("Тряску камеры").get()) {
break label16;
}
}
this.hurtCameraEffect(var11, var9);
}
if (mc.gameSettings.viewBobbing) {
this.calculateViewBobbing(var11, var9);
}
}
double var13 = mc.gameRenderer.getFOVModifier(mc.getRenderManager().info, mc.getRenderPartialTicks(), true);
return this.calculateScreenPosition(var9, var13);
}
private Vector2f calculateScreenPosition(Vector3f var1, double var2) {
float var4 = (float)mc.getMainWindow().getScaledHeight() / 2.0F;
float var5 = var4 / (var1.getZ() * (float)Math.tan(Math.toRadians(var2 / (double)2.0F)));
return var1.getZ() < 0.0F ? new Vector2f(-var1.getX() * var5 + (float)mc.getMainWindow().getScaledWidth() / 2.0F, (float)mc.getMainWindow().getScaledHeight() / 2.0F - var1.getY() * var5) : new Vector2f(Float.MAX_VALUE, Float.MAX_VALUE);
}
private void calculateViewBobbing(PlayerEntity var1, Vector3f var2) {
float var3 = var1.distanceWalkedModified;
float var4 = var3 - var1.prevDistanceWalkedModified;
float var5 = -(var3 + var4 * mc.getRenderPartialTicks());
float var6 = MathHelper.lerp(mc.getRenderPartialTicks(), var1.prevCameraYaw, var1.cameraYaw);
Quaternion var7 = new Quaternion(Vector3f.XP, Math.abs(MathHelper.cos(var5 * (float)Math.PI - 0.2F) * var6) * 5.0F, true);
var7.conjugate();
var2.transform(var7);
Quaternion var8 = new Quaternion(Vector3f.ZP, MathHelper.sin(var5 * (float)Math.PI) * var6 * 3.0F, true);
var8.conjugate();
var2.transform(var8);
Vector3f var9 = new Vector3f(MathHelper.sin(var5 * (float)Math.PI) * var6 * 0.5F, -Math.abs(MathHelper.cos(var5 * (float)Math.PI) * var6), 0.0F);
var9.setY(-var9.getY());
var2.add(var9);
}
private void hurtCameraEffect(PlayerEntity var1, Vector3f var2) {
float var3 = mc.getRenderPartialTicks();
float var4 = (float)var1.hurtTime - var3;
if (var1.getShouldBeDead()) {
float var5 = Math.min((float)var1.deathTime + var3, 20.0F);
Quaternion var6 = new Quaternion(Vector3f.ZP, 40.0F - 8000.0F / (var5 + 200.0F), true);
var6.conjugate();
var2.transform(var6);
}
if (!(var4 < 0.0F)) {
var4 /= (float)var1.maxHurtTime;
var4 = MathHelper.sin(var4 * var4 * var4 * var4 * (float)Math.PI);
float var11 = var1.attackedAtYaw;
Quaternion var12 = new Quaternion(Vector3f.YP, -var11, true);
var12.conjugate();
var2.transform(var12);
Quaternion var7 = new Quaternion(Vector3f.ZP, -var4 * 14.0F, true);
var7.conjugate();
var2.transform(var7);
Quaternion var8 = new Quaternion(Vector3f.ZP, var11, true);
var8.conjugate();
var2.transform(var8);
}
}
static {
NuymMain.init();
NuymMain.im_expensive_functions_impl_combat_Project_initializer();
}
public static native void im_expensive_functions_impl_combat_Project_initializer();
private static ToDoubleFunction $hello64_proxy65() {
return (e) -> {
Minecraft.getInstance();
return Minecraft.player.getDistanceSq(e);
};
}
}
