Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Попробуйте деобфнуть

та сука как
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.nicside.client.ui;

import com.nicside.api.system.interfaces.l1lIIllIll;
import com.nicside.api.utils.animation.LllIIlIll1;
import com.nicside.api.utils.animation.l1l11l11I1;
import com.nicside.api.utils.color.I1III1IIII;
import com.nicside.api.utils.math.ll1IlII1I1;
import com.nicside.api.utils.render.I1I111lIll;
import com.nicside.api.utils.render.fonts.LI1IIIll1l;
import com.nicside.client.services.lII11I1Il1;
import com.nicside.client.services.ll1IIlIlI1;
import java.awt.Color;
import java.time.LocalTime;
import java.util.List;
import net.minecraft.class_2561;
import net.minecraft.class_332;
import net.minecraft.class_429;
import net.minecraft.class_437;
import net.minecraft.class_4587;
import net.minecraft.class_500;
import net.minecraft.class_526;
import org.joml.Vector4f;

public class II1llI1I1I extends class_437 implements l1lIIllIll {
private final LllIIlIll1 openAnim = new LllIIlIll1();
private final LllIIlIll1 altAnim = new LllIIlIll1();
private boolean open = false;
private boolean altOpen = false;
private boolean addingAlt = false;
private String inputNick = "";
private String inputNote = "";
private boolean nickFocused = true;
private String loginMsg = "";
private long loginMsgAt = 0L;
private static final int PARTICLE_COUNT = 40;
private final float[][] particles = new float[40][6];

public II1llI1I1I() {
super(class_2561.method_30163(""));
}

protected void method_25426() {
this.open = true;

for(float[] var4 : this.particles) {
this.resetParticle(var4, true);
}

}

private void resetParticle(float[] p, boolean randomY) {
float var3 = (float)mc.method_22683().method_4486();
float var4 = (float)mc.method_22683().method_4502();
p[0] = (float)(Math.random() * (double)var3);
p[1] = randomY ? (float)(Math.random() * (double)var4) : var4 + 5.0F;
p[2] = (float)(Math.random() * 0.4 - 0.2);
p[3] = (float)(-(Math.random() * 0.3 + 0.1));
p[4] = (float)(Math.random() * (double)2.0F + (double)0.5F);
p[5] = (float)(Math.random() * 0.4 + (double)0.1F);
}

public void method_25394(class_332 context, int mouseX, int mouseY, float delta) {
super.method_25394(context, mouseX, mouseY, delta);
this.openAnim.update();
this.openAnim.run(this.open ? (double)1.0F : (double)0.0F, 600L, l1l11l11I1.EXPO_OUT);
float var5 = (float)this.openAnim.getValue();
this.altAnim.update();
this.altAnim.run(this.altOpen ? (double)1.0F : (double)0.0F, 350L, l1l11l11I1.EXPO_OUT);
class_4587 var6 = context.method_51448();
float var7 = (float)mc.method_22683().method_4486();
float var8 = (float)mc.method_22683().method_4502();
int var9 = (int)(var5 * 255.0F);
I1I111lIll.RECT.draw(var6, 0.0F, 0.0F, var7, var8, 0.0F, new Color(8, 8, 12, 255));
Color var10 = new Color(20, 20, 35, (int)((float)var9 * 0.9F));
Color var11 = new Color(8, 8, 12, 0);
I1I111lIll.GRADIENT_RECT.draw(var6, 0.0F, 0.0F, var7 * 0.35F, var8, 0.0F, var10, var11, var10, var11);
this.updateAndDrawParticles(var6, var7, var8, var9);

for(int var12 = 0; var12 < 3; ++var12) {
I1I111lIll.RECT.draw(var6, 0.0F, var8 * 0.3F + (float)var12 * 60.0F, var7 * 0.25F * var5, 0.5F, 0.0F, new Color(100, 140, 255, (int)((float)var9 * 0.15F)));
}

float var23 = 35.0F;
float var13 = var8 * 0.22F;
I1I111lIll.RECT.draw(var6, var23, var13 - 4.0F, 3.0F, 28.0F, 1.5F, new Color(120, 160, 255, var9));
LI1IIIll1l.PS_BOLD.drawText(var6, "\ue02bebhxbon", var23 + 10.0F, var13, 18.0F, I1III1IIII.textColor(var9));
LI1IIIll1l.PS_REGULAR.drawText(var6, "\ue0471viuvisgg\u2065gg%>g\u001d+(>\u0011&)\",", var23 + 12.0F, var13 + 22.0F, 6.0F, new Color(150, 160, 180, (int)((float)var9 * 0.6F)));
LI1IIIll1l.PS_REGULAR.drawText(var6, "" + "\ue060◘@@a", var23 + 12.0F, var13 + 34.0F, 6.0F, new Color(120, 200, 120, (int)((float)var9 * 0.8F)));
float var14 = var23;
float var15 = var8 * 0.52F;
float var16 = 140.0F;
float var17 = 26.0F;
float var18 = 10.0F;
String[] var19 = new String[]{"\ue01fLvqxszos~fzm", "\ue0785\r\u0014\f\u0011\b\u0014\u0019\u0001\u001d\n", "\ue04c\r 8l\u0001-\"-+)>", "\ue040\u000f04)/.3", "\ue019Hlpm"};

for(int var20 = 0; var20 < var19.length; ++var20) {
float var21 = var15 + (float)var20 * (var17 + var18);
float var22 = (float)Math.min((double)1.0F, Math.max((double)0.0F, (double)(var5 * 5.0F) - (double)var20 * 0.6));
this.renderButton(var6, mouseX, mouseY, var14, var21, var16 * var22, var17, var19[var20], var9);
}

String var24 = String.format("\ue04ek~|*tk~|*", LocalTime.now().getHour(), LocalTime.now().getMinute());
LI1IIIll1l.PS_BOLD.drawText(var6, var24, var7 - LI1IIIll1l.PS_BOLD.getWidth(var24, 9.0F) - 12.0F, var8 - 18.0F, 9.0F, new Color(60, 80, 120, (int)((float)var9 * 0.4F)));
float var25 = (float)this.altAnim.getValue();
if (var25 > 0.01F) {
this.renderAltManager(var6, mouseX, mouseY, var7, var8, (int)(var25 * 255.0F));
}

}

private void renderAltManager(class_4587 ms, int mouseX, int mouseY, float sw, float sh, int alpha) {
float var7 = 320.0F;
float var8 = 420.0F;
float var9 = sw / 2.0F - var7 / 2.0F;
float var10 = sh / 2.0F - var8 / 2.0F;
float var11 = 10.0F;
float var12 = (float)mouseX;
float var13 = (float)mouseY;
I1I111lIll.RECT.draw(ms, 0.0F, 0.0F, sw, sh, 0.0F, new Color(0, 0, 0, (int)((float)alpha * 0.55F)));
I1I111lIll.BLUR_RECT.draw(ms, var9, var10, var7, var8, new Vector4f(var11), I1III1IIII.blur(alpha));
I1I111lIll.OUTLINE.draw(ms, var9, var10, var7, var8, new Vector4f(var11), new Color(255, 255, 255, (int)((float)alpha * 0.08F)));
float var14 = 32.0F;
I1I111lIll.RECT.draw(ms, var9, var10, var7, var14, new Vector4f(var11, var11, 0.0F, 0.0F), new Color(255, 255, 255, (int)((float)alpha * 0.05F)));
I1I111lIll.RECT.draw(ms, var9 + 14.0F, var10 + 10.0F, 3.0F, 12.0F, 1.5F, new Color(120, 160, 255, alpha));
LI1IIIll1l.PS_BOLD.drawText(ms, "\ue048\t\u0004\u001ch\u0005\t\u0006\t\u000f\r\u001a", var9 + 22.0F, var10 + var14 / 2.0F - 5.0F, 7.0F, I1III1IIII.textColor(alpha));
float var15 = 70.0F;
float var16 = 18.0F;
float var17 = var9 + var7 - var15 - 10.0F;
float var18 = var10 + (var14 - var16) / 2.0F;
boolean var19 = ll1IlII1I1.isHovered(var12, var13, var17, var18, var15, var16);
I1I111lIll.RECT.draw(ms, var17, var18, var15, var16, 5.0F, new Color(100, 140, 255, var19 ? (int)((float)alpha * 0.9F) : (int)((float)alpha * 0.5F)));
LI1IIIll1l.PS_BOLD.drawCenteredText(ms, "\ue05ft\u007f\u001e;;\u007f>3+", var17 + var15 / 2.0F, var18 + var16 / 2.0F - 4.0F, 6.0F, I1III1IIII.textColor(alpha));
float var20 = var17 - 22.0F;
float var21 = var10 + (var14 - 16.0F) / 2.0F;
boolean var22 = ll1IlII1I1.isHovered(var12, var13, var20, var21, 16.0F, 16.0F);
LI1IIIll1l.PS_BOLD.drawCenteredText(ms, "\ue072¥", var20 + 8.0F, var21 + 1.0F, 10.0F, new Color(200, 80, 80, var22 ? alpha : (int)((float)alpha * 0.5F)));
float var23 = var10 + var14 + 8.0F;
if (this.addingAlt) {
var23 = this.renderAddForm(ms, mouseX, mouseY, var9, var23, var7, alpha);
}

List var24 = lII11I1Il1.getInstance().getAccounts();
if (var24.isEmpty()) {
LI1IIIll1l.PS_REGULAR.drawCenteredText(ms, "\ue02e`A\u000eOBZ]\u000eOJJKJ\u000eWKZ", var9 + var7 / 2.0F, var23 + 40.0F, 6.5F, new Color(120, 120, 140, (int)((float)alpha * 0.5F)));
} else {
float var25 = var8 - (var23 - var10) - 10.0F;
I1I111lIll.OTHER.pushScissor(ms, var9, var23, var7, var25);

for(int var26 = 0; var26 < var24.size(); ++var26) {
float var27 = var23 + (float)var26 * 42.0F;
boolean var28 = ll1IlII1I1.isHovered(var12, var13, var9 + 8.0F, var27, var7 - 16.0F, 38.0F);
this.renderAltEntry(ms, (ll1IIlIlI1)var24.get(var26), var9 + 8.0F, var27, var7 - 16.0F, alpha, var28, var12, var13);
}

I1I111lIll.OTHER.popScissor();
}

if (!this.loginMsg.isEmpty() && System.currentTimeMillis() - this.loginMsgAt < 3000L) {
float var29 = LI1IIIll1l.PS_REGULAR.getWidth(this.loginMsg, 6.0F) + 16.0F;
float var30 = var9 + var7 / 2.0F - var29 / 2.0F;
float var31 = var10 + var8 - 28.0F;
I1I111lIll.RECT.draw(ms, var30, var31, var29, 18.0F, 5.0F, new Color(30, 30, 40, (int)((float)alpha * 0.9F)));
LI1IIIll1l.PS_REGULAR.drawText(ms, this.loginMsg, var30 + 8.0F, var31 + 5.0F, 6.0F, new Color(120, 220, 120, alpha));
}

}

private float renderAddForm(class_4587 ms, int mouseX, int mouseY, float px, float y, float pw, int alpha) {
float var8 = (float)mouseX;
float var9 = (float)mouseY;
float var10 = 22.0F;
float var11 = pw - 24.0F;
float var12 = px + 12.0F;
LI1IIIll1l.PS_BOLD.drawText(ms, "\ue034z]W_ZUYQ", var12, y, 5.5F, new Color(150, 160, 180, (int)((float)alpha * 0.7F)));
y += 10.0F;
I1I111lIll.RECT.draw(ms, var12, y, var11, var10, 5.0F, new Color(0, 0, 0, (int)((float)alpha * 0.4F)));
I1I111lIll.OUTLINE.draw(ms, var12, y, var11, var10, 5.0F, this.nickFocused ? new Color(100, 140, 255, (int)((float)alpha * 0.8F)) : new Color(255, 255, 255, (int)((float)alpha * 0.1F)));
String var10000 = this.inputNick;
String var13 = "" + "\ue07a{{";
LI1IIIll1l.PS_REGULAR.drawText(ms, this.inputNick.isEmpty() && !this.nickFocused ? "\ue015P{apg5{|v~{txp;;;" : var13, var12 + 8.0F, y + 7.0F, 6.0F, this.inputNick.isEmpty() && !this.nickFocused ? new Color(120, 120, 140, (int)((float)alpha * 0.4F)) : I1III1IIII.textColor(alpha));
y += var10 + 8.0F;
LI1IIIll1l.PS_BOLD.drawText(ms, "\ue027iHSB\u0007\u000fHWSNHIFK\u000e", var12, y, 5.5F, new Color(150, 160, 180, (int)((float)alpha * 0.7F)));
y += 10.0F;
I1I111lIll.RECT.draw(ms, var12, y, var11, var10, 5.0F, new Color(0, 0, 0, (int)((float)alpha * 0.4F)));
I1I111lIll.OUTLINE.draw(ms, var12, y, var11, var10, 5.0F, !this.nickFocused ? new Color(100, 140, 255, (int)((float)alpha * 0.8F)) : new Color(255, 255, 255, (int)((float)alpha * 0.1F)));
var10000 = this.inputNote;
String var14 = "" + "\ue07a{{";
LI1IIIll1l.PS_REGULAR.drawText(ms, this.inputNote.isEmpty() && this.nickFocused ? "\ue0527|5|r?3;<~r5 ;747 |||" : var14, var12 + 8.0F, y + 7.0F, 6.0F, this.inputNote.isEmpty() && this.nickFocused ? new Color(120, 120, 140, (int)((float)alpha * 0.4F)) : I1III1IIII.textColor(alpha));
y += var10 + 8.0F;
float var15 = (var11 - 8.0F) / 2.0F;
float var16 = 20.0F;
boolean var17 = ll1IlII1I1.isHovered(var8, var9, var12, y, var15, var16);
I1I111lIll.RECT.draw(ms, var12, y, var15, var16, 5.0F, new Color(80, 130, 80, var17 ? (int)((float)alpha * 0.9F) : (int)((float)alpha * 0.5F)));
LI1IIIll1l.PS_BOLD.drawCenteredText(ms, "\ue056\u00057 3", var12 + var15 / 2.0F, y + 6.0F, 6.5F, I1III1IIII.textColor(alpha));
float var18 = var12 + var15 + 8.0F;
boolean var19 = ll1IlII1I1.isHovered(var8, var9, var18, y, var15, var16);
I1I111lIll.RECT.draw(ms, var18, y, var15, var16, 5.0F, new Color(130, 60, 60, var19 ? (int)((float)alpha * 0.9F) : (int)((float)alpha * 0.5F)));
LI1IIIll1l.PS_BOLD.drawCenteredText(ms, "\ue079:\u0018\u0017\u001a\u001c\u0015", var18 + var15 / 2.0F, y + 6.0F, 6.5F, I1III1IIII.textColor(alpha));
y += var16 + 10.0F;
I1I111lIll.RECT.draw(ms, px + 8.0F, y, pw - 16.0F, 0.5F, 0.0F, new Color(255, 255, 255, (int)((float)alpha * 0.08F)));
return y + 8.0F;
}

private void renderAltEntry(class_4587 ms, ll1IIlIlI1 acc, float x, float y, float w, int alpha, boolean hover, float mouseX, float mouseY) {
float var10 = 38.0F;
I1I111lIll.RECT.draw(ms, x, y, w, var10, 6.0F, hover ? new Color(255, 255, 255, (int)((float)alpha * 0.08F)) : new Color(255, 255, 255, (int)((float)alpha * 0.03F)));
I1I111lIll.RECT.draw(ms, x, y + 8.0F, 2.0F, var10 - 16.0F, 1.0F, new Color(100, 140, 255, (int)((float)alpha * 0.6F)));
LI1IIIll1l.PS_BOLD.drawText(ms, acc.nickname, x + 10.0F, y + 8.0F, 7.0F, I1III1IIII.textColor(alpha));
LI1IIIll1l.PS_REGULAR.drawText(ms, acc.note, x + 10.0F, y + 20.0F, 5.5F, new Color(150, 160, 180, (int)((float)alpha * 0.6F)));
float var11 = 24.0F;
float var12 = y + (var10 - var11) / 2.0F;
float var13 = x + w - var11 * 3.0F - 12.0F;
boolean var14 = ll1IlII1I1.isHovered(mouseX, mouseY, var13, var12, var11 * 1.8F, var11);
I1I111lIll.RECT.draw(ms, var13, var12, var11 * 1.8F, var11, 4.0F, new Color(80, 120, 80, var14 ? (int)((float)alpha * 0.8F) : (int)((float)alpha * 0.3F)));
LI1IIIll1l.PS_REGULAR.drawCenteredText(ms, "\ue03dqRZTS", var13 + var11 * 0.9F, var12 + 7.0F, 5.5F, I1III1IIII.textColor(alpha));
float var15 = x + w - var11 - 4.0F;
boolean var16 = ll1IlII1I1.isHovered(mouseX, mouseY, var15, var12, var11, var11);
I1I111lIll.RECT.draw(ms, var15, var12, var11, var11, 4.0F, new Color(150, 50, 50, var16 ? (int)((float)alpha * 0.8F) : (int)((float)alpha * 0.3F)));
LI1IIIll1l.PS_BOLD.drawCenteredText(ms, "\ue072¥", var15 + var11 / 2.0F, var12 + 6.0F, 8.0F, I1III1IIII.textColor(alpha));
}

private void updateAndDrawParticles(class_4587 ms, float sw, float sh, int alpha) {
for(float[] var8 : this.particles) {
var8[0] += var8[2];
var8[1] += var8[3];
if (var8[1] < -5.0F || var8[0] < -5.0F || var8[0] > sw + 5.0F) {
this.resetParticle(var8, false);
}

I1I111lIll.CIRCLE.draw(ms, var8[0], var8[1], var8[4], new Color(100, 140, 255, (int)((float)alpha * var8[5] * 0.4F)));
}

}

private void renderButton(class_4587 ms, int mouseX, int mouseY, float x, float y, float w, float h, String label, int alpha) {
if (!(w < 5.0F)) {
boolean var10 = ll1IlII1I1.isHovered((float)mouseX, (float)mouseY, x, y, w, h);
I1I111lIll.RECT.draw(ms, x, y, w, h, 5.0F, var10 ? new Color(255, 255, 255, (int)((float)alpha * 0.1F)) : new Color(255, 255, 255, (int)((float)alpha * 0.04F)));
I1I111lIll.RECT.draw(ms, x, y + h * 0.2F, 2.0F, h * 0.6F, 1.0F, var10 ? new Color(120, 160, 255, alpha) : new Color(80, 100, 160, (int)((float)alpha * 0.5F)));
LI1IIIll1l.PS_BOLD.drawText(ms, label, x + 12.0F, y + h / 2.0F - 4.0F, 7.0F, var10 ? I1III1IIII.textColor(alpha) : new Color(180, 190, 210, (int)((float)alpha * 0.7F)));
if (var10) {
float var11 = LI1IIIll1l.PS_REGULAR.getWidth("\ue07a⁀", 8.0F);
LI1IIIll1l.PS_REGULAR.drawText(ms, "\ue07a⁀", x + w - var11 - 8.0F, y + h / 2.0F - 4.0F, 8.0F, new Color(120, 160, 255, alpha));
}

}
}

public boolean method_25402(double mouseX, double mouseY, int button) {
float var6 = (float)mc.method_22683().method_4486();
float var7 = (float)mc.method_22683().method_4502();
float var8 = (float)mouseX;
float var9 = (float)mouseY;
if (this.altOpen) {
float var32 = 320.0F;
float var33 = 420.0F;
float var34 = var6 / 2.0F - var32 / 2.0F;
float var35 = var7 / 2.0F - var33 / 2.0F;
float var36 = 32.0F;
float var37 = 70.0F;
float var38 = var34 + var32 - var37 - 10.0F;
float var17 = var35 + (var36 - 18.0F) / 2.0F;
float var18 = var38 - 22.0F;
float var19 = var35 + (var36 - 16.0F) / 2.0F;
if (ll1IlII1I1.isHovered(var8, var9, var18, var19, 16.0F, 16.0F)) {
this.altOpen = false;
this.addingAlt = false;
this.inputNick = "";
this.inputNote = "";
return true;
} else if (ll1IlII1I1.isHovered(var8, var9, var38, var17, var37, 18.0F)) {
this.addingAlt = !this.addingAlt;
this.inputNick = "";
this.inputNote = "";
this.nickFocused = true;
return true;
} else {
if (this.addingAlt) {
float var20 = var35 + var36 + 8.0F;
float var21 = var34 + 12.0F;
float var22 = var32 - 24.0F;
if (ll1IlII1I1.isHovered(var8, var9, var21, var20 + 10.0F, var22, 22.0F)) {
this.nickFocused = true;
return true;
}

var20 += 40.0F;
if (ll1IlII1I1.isHovered(var8, var9, var21, var20 + 10.0F, var22, 22.0F)) {
this.nickFocused = false;
return true;
}

var20 += 40.0F;
float var23 = (var22 - 8.0F) / 2.0F;
if (ll1IlII1I1.isHovered(var8, var9, var21, var20, var23, 20.0F)) {
if (!this.inputNick.isEmpty()) {
lII11I1Il1.getInstance().addAccount(this.inputNick, this.inputNote);
this.addingAlt = false;
this.inputNick = "";
this.inputNote = "";
}

return true;
}

if (ll1IlII1I1.isHovered(var8, var9, var21 + var23 + 8.0F, var20, var23, 20.0F)) {
this.addingAlt = false;
this.inputNick = "";
this.inputNote = "";
return true;
}
}

List var41 = lII11I1Il1.getInstance().getAccounts();
float var42 = var35 + var36 + 8.0F + (float)(this.addingAlt ? 130 : 0);

for(int var43 = 0; var43 < var41.size(); ++var43) {
float var44 = var42 + (float)var43 * 42.0F;
float var24 = var34 + 8.0F;
float var25 = var32 - 16.0F;
float var26 = 38.0F;
if (ll1IlII1I1.isHovered(var8, var9, var24, var44, var25, var26)) {
float var27 = 24.0F;
float var28 = var44 + (var26 - var27) / 2.0F;
float var29 = var24 + var25 - var27 * 3.0F - 12.0F;
float var30 = var24 + var25 - var27 - 4.0F;
if (ll1IlII1I1.isHovered(var8, var9, var29, var28, var27 * 1.8F, var27)) {
boolean var31 = lII11I1Il1.getInstance().login(var43);
this.loginMsg = var31 ? "" + "\ue04c\u001f;%8/$)(l8#lM" : "\ue03b}ZRW^_\u001b\u0013T]]WRU^\u001bH^IM^IH\u001bTUWB\u0012";
this.loginMsgAt = System.currentTimeMillis();
return true;
}

if (ll1IlII1I1.isHovered(var8, var9, var30, var28, var27, var27)) {
lII11I1Il1.getInstance().removeAccount(var43);
return true;
}
}
}

return true;
}
} else {
float var10 = var7 * 0.52F;
float var11 = 140.0F;
float var12 = 26.0F;
float var13 = 10.0F;
float var14 = 35.0F;

for(int var15 = 0; var15 < 5; ++var15) {
float var16 = var10 + (float)var15 * (var12 + var13);
if (ll1IlII1I1.isHovered(var8, var9, var14, var16, var11, var12)) {
switch (var15) {
case 0 -> mc.method_1507(new class_526(this));
case 1 -> mc.method_1507(new class_500(this));
case 2 -> this.altOpen = true;
case 3 -> mc.method_1507(new class_429(this, mc.field_1690));
case 4 -> mc.method_1592();
}

return true;
}
}

return super.method_25402(mouseX, mouseY, button);
}
}

public boolean method_25404(int keyCode, int scanCode, int modifiers) {
if (this.altOpen && this.addingAlt) {
if (keyCode == 258) {
this.nickFocused = !this.nickFocused;
return true;
}

if (keyCode == 256) {
this.addingAlt = false;
this.inputNick = "";
this.inputNote = "";
return true;
}

if (keyCode == 257) {
if (!this.inputNick.isEmpty()) {
lII11I1Il1.getInstance().addAccount(this.inputNick, this.inputNote);
this.addingAlt = false;
this.inputNick = "";
this.inputNote = "";
}

return true;
}

if (keyCode == 259) {
if (this.nickFocused && !this.inputNick.isEmpty()) {
this.inputNick = this.inputNick.substring(0, this.inputNick.length() - 1);
}

if (!this.nickFocused && !this.inputNote.isEmpty()) {
this.inputNote = this.inputNote.substring(0, this.inputNote.length() - 1);
}

return true;
}
}

if (keyCode == 256 && this.altOpen) {
this.altOpen = false;
return true;
} else {
return super.method_25404(keyCode, scanCode, modifiers);
}
}

public boolean method_25400(char chr, int modifiers) {
if (this.altOpen && this.addingAlt) {
if (this.nickFocused && this.inputNick.length() < 16) {
this.inputNick = "" + "\ue07a{{";
}

if (!this.nickFocused && this.inputNote.length() < 24) {
this.inputNote = "" + "\ue07a{{";
}

return true;
} else {
return false;
}
}

public boolean method_25421() {
return false;
}

public void method_25419() {
}
}


а тут найди че это
alt manager
 
ну типо прогуард крякают как нехуй делать, а мое как будто бы анрил
Это даже ремапом трудно назвать
HUITA:
Expand Collapse Copy
@ModuleAnnotation(
        name = "Aura",
        description = "Боевой модуль",
        category = Category.COMBAT
)
public class Aura extends Module {

    private static final Aura instance = new Aura();

    private final NeuroPredictor predictor = new NeuroPredictor();
    private final TargetManager targetManager = new TargetManager();
    public final CombatExecutor combatExecutor = new CombatExecutor();

    private final EnumSetting aimMode = (new EnumSetting("Aim mode"))
            .value("Smooth")
            .values(new String[]{"Smooth", "Snap", "HvH", "Matrix", "Vulcan",
                    "Spooky Time", "Fun Time", "Holy World",
                    "Lony Grief", "Neuro"})
            .onAction(() -> {
                if (this.getAimMode().is("Neuro")) {
                    this.loadNeuroModel();
                } else {
                    this.predictor.close();
                }
            });

    private final EnumSetting neuroModel = (new EnumSetting("Neuro model"))
            .value("Rage")
            .values(new String[]{"Rage", "Legit", "Legit Fov"})
            .setVisible(() -> aimMode.is("Neuro"))
            .onAction(() -> {
                if (aimMode.is("Neuro")) {
                    this.loadNeuroModel();
                }
            });

    private final SliderSetting distance = (new SliderSetting("Distance"))
            .value(3.0F).range(2.5F, 6.0F).step(0.1F);

    private final SliderSetting preDistance = (new SliderSetting("Pre distance"))
            .value(0.3F).range(0.0F, 3.0F).step(0.1F);

    private final GroupSetting targets = (new GroupSetting("Targets"))
            .value(new ToggleSetting[]{
                    (new ToggleSetting("Players")).value(true),
                    (new ToggleSetting("Mobs")).value(true),
                    (new ToggleSetting("Animals")).value(true)
            });

    public final GroupSetting options;

    private final ToggleSetting clientLook;

    private final ToggleSetting elytraOverride;
    private final SliderSetting elytraDistance;
    private final SliderSetting elytraPreDistance;

    public LivingEntity target;
    private LivingEntity previousTarget;

    private final ToggleSetting switchNotify;

    private final ToggleSetting strafe;
    private final EnumSetting strafeMode;
    private final SliderSetting strafeSpeed;

    private final ToggleSetting lockTarget;
    private final SliderSetting lockTimeout;

    private float strafeAngle = 0.0F;
    private long lockedSince = 0L;

    public Aura() {
        this.options = this.combatExecutor.options();

        this.clientLook = (new ToggleSetting("Client look")).value(false);

        this.elytraOverride = (new ToggleSetting("Elytra override")).value(false);

        SliderSetting tmpSlider;

        tmpSlider = (new SliderSetting("Elytra distance")).value(4.0F).range(2.5F, 6.0F).step(0.1F);
        this.elytraDistance = tmpSlider.setVisible(elytraOverride::getValue);

        tmpSlider = (new SliderSetting("Elytra pre distance")).value(16.0F).range(0.0F, 32.0F).step(0.1F);
        this.elytraPreDistance = tmpSlider.setVisible(elytraOverride::getValue);

        this.switchNotify = (new ToggleSetting("Switch notify")).value(true);

        this.strafe = (new ToggleSetting("Strafe")).value(false);

        EnumSetting tmpEnum = (new EnumSetting("Strafe mode")).value("Circle").values(new String[]{"Circle", "Left", "Right"});
        this.strafeMode = tmpEnum.setVisible(strafe::getValue);

        tmpSlider = (new SliderSetting("Strafe speed")).value(2.5F).range(0.5F, 8.0F).step(0.25F);
        this.strafeSpeed = tmpSlider.setVisible(strafe::getValue);

        this.lockTarget = (new ToggleSetting("Lock target")).value(false);

        tmpSlider = (new SliderSetting("Lock timeout")).value(3.0F).range(0.5F, 10.0F).step(0.25F);
        this.lockTimeout = tmpSlider.setVisible(lockTarget::getValue);

        this.addSettings(new Object[]{
                aimMode, neuroModel,
                distance, preDistance,
                targets, options,
                clientLook,
                elytraOverride, elytraDistance, elytraPreDistance,
                switchNotify,
                strafe, strafeMode, strafeSpeed,
                lockTarget, lockTimeout
        });
    }

    public float getPreDistance() {
        return mc.player.isElytraFlying() && (Boolean) elytraOverride.getValue()
                ? (Float) elytraPreDistance.getValue()
                : (Float) preDistance.getValue();
    }

    public float getAttackDistance() {
        return mc.player.isElytraFlying() && (Boolean) elytraOverride.getValue()
                ? (Float) elytraDistance.getValue()
                : (Float) distance.getValue();
    }

    @Override
    public void onDisable() {
        targetManager.releaseTarget();
        target = null;
        previousTarget = null;
        predictor.close();
    }

    @Override
    public void onEnable() {
        targetManager.releaseTarget();
        target = null;
        if (aimMode.is("Neuro")) {
            loadNeuroModel();
        }
    }

    public void loadModel() {
        loadNeuroModel();
    }

    private void loadNeuroModel() {
        predictor.setActiveStyle(NeuroModelStyle.fromName((String) neuroModel.getValue()));
    }

    @Override
    public void onEvent() {
        predictor.onEvent();

        EventListener updateEvent = PlayerUpdateEvent.getInstance().subscribe(e -> updateEventHandler());
        EventListener rotUpdateEvent = RotationUpdateEvent.getInstance().subscribe(e -> postRotationMoveEventHandler());
        EventListener attackEvent = AttackEvent.getInstance().subscribe(e -> AimUtils.onAttack((String) aimMode.getValue()));

        this.addEvents(predictor.getEventListeners());
        this.addEvents(new EventListener[]{updateEvent, rotUpdateEvent, attackEvent});

        EventListener strafeInput = PlayerInputEvent.getInstance().subscribe(e -> {
            if ((Boolean) strafe.getValue() && target != null && mc.player.isOnGround()) {
                handleStrafe(e);
            }
        });
        this.addEvents(new EventListener[]{strafeInput});
    }

    private void postRotationMoveEventHandler() {
        if (target == null) return;
        if (AntiBot.getInstance().isEnabled() && AntiBot.checkBot(target)) return;

        Vec3d aimPoint = getTargetVector(target);
        RotationEntry rotation = RotationUtils.fromVec3d(aimPoint.subtract(mc.player.getPos()));
        rotateToTarget(target, aimPoint, rotation);
    }

    private void updateEventHandler() {
        LivingEntity newTarget = updateTarget();

        if ((Boolean) switchNotify.getValue()
                && newTarget != previousTarget
                && newTarget != null) {
            NotificationWidget.notify("Target: " + newTarget.getName().getString(),
                    NotificationType.INFO);
        }

        previousTarget = newTarget;
        target = newTarget;
        predictor.setRecordTarget(target);

        if (target != null) {
            if (AntiBot.getInstance().isEnabled() && AntiBot.checkBot(target)) {
                targetManager.releaseTarget();
                target = null;
                predictor.setRecordTarget(null);
                return;
            }

            if (RotationUtils.getSpot(target)
                    .distanceTo(mc.player.getPos()) > (getAttackDistance() + getPreDistance())) {
                targetManager.releaseTarget();
                return;
            }

            attackTarget(target);
        }
    }

    private LivingEntity updateTarget() {
        TargetManager.EntityFilter filter = new TargetManager.EntityFilter(targets.getList());

        if ((Boolean) lockTarget.getValue() && target != null) {
            boolean alive = target.isAlive() && target.getHealth() > 0.0F;
            boolean inRange = RotationUtils.getSpot(target)
                    .distanceTo(mc.player.getPos())
                    <= (getAttackDistance() + getPreDistance());
            float timeoutSec = (Float) lockTimeout.getValue();
            boolean timedOut = timeoutSec > 0.0F
                    && (float) (System.currentTimeMillis() - lockedSince) > timeoutSec * 1000.0F;

            if (alive && inRange && !timedOut && filter.isValid(target)) {
                return target;
            }
            lockedSince = 0L;
        }

        targetManager.searchTargets(mc.world.getPlayers(), getAttackDistance() + getPreDistance());
        targetManager.validateTarget(entity ->
                filter.isValid(entity)
                        && (!AntiBot.getInstance().isEnabled() || !AntiBot.checkBot(entity))
        );

        LivingEntity found = targetManager.getCurrentTarget();

        if ((Boolean) lockTarget.getValue() && found != null && found != target) {
            lockedSince = System.currentTimeMillis();
        }

        return found;
    }

    private void attackTarget(LivingEntity target) {
        if (AntiBot.getInstance().isEnabled() && AntiBot.checkBot(target)) return;

        combatExecutor.combatManager().configurable(
                new CombatExecutor.Config(
                        target,
                        RotationManager.getInstance().getRotation(),
                        (Float) distance.getValue(),
                        options.getList()
                )
        );

        double dist = mc.player.getPos().distanceTo(
                RotationUtils.rayCastBox(target, getTargetVector(target))
        );

        if (dist <= getAttackDistance()) {
            combatExecutor.performAttack();
        }
    }

    private void rotateToTarget(LivingEntity target, Vec3d aimPoint, RotationEntry rotation) {
        RotationConfigurable config = (new RotationConfigurable(
                getRotationMode(),
                ElytraFly.enabled(),
                ElytraFly.isFree()
        )).clientLook((Boolean) clientLook.getValue());

        boolean cantAttack = !combatExecutor.combatManager().canAttack();

        if (usingElytraTarget() && (Boolean) ElytraTarget.getInstance().elytraRotationProcessor.customRotations.getValue()) {
            return;
        }

        if (cantAttack && aimMode.is("Snap")) {
            if (!ElytraFly.getInstance().isEnabled()
                    || !(Boolean) ElytraFly.getInstance().targeting.getValue()) {
                return;
            }
            rotation = new RotationEntry(mc.player.getYaw(), mc.player.getPitch());
        }

        RotationManager.getInstance().addRotation(
                new RotationEntry.Builder(rotation, aimPoint),
                target,
                config,
                Priority.HIGH,
                this
        );
    }

    private RotationMode getRotationMode() {
        return switch ((String) aimMode.getValue()) {
            case "HvH" -> new HvHRotation();
            case "Spooky Time" -> new SpookyTimeRotation(combatExecutor.combatManager().clickScheduler());
            case "Holy World" -> new SmoothRotation(
                    (float) MathUtils.randomInRange(125, 155),
                    (float) MathUtils.randomInRange(30, 60),
                    true, true);
            case "Vulcan" -> new SmoothRotation(120.0F, 60.0F, false, false);
            case "Lony Grief" -> new LonyGriefRotation();
            case "Fun Time" -> new FunTimeRotation();
            case "Matrix" -> new MatrixRotation();
            case "Neuro" -> new NeuroRotation(predictor);
            default -> new NullRotation();
        };
    }

    private Vec3d getTargetVector(LivingEntity target) {
        if (target == null) return Vec3d.ZERO;
        return usingElytraTarget()
                ? ElytraTarget.getInstance().elytraRotationProcessor.getPredictedPos(target)
                : AimUtils.getAimpoint(target, (String) aimMode.getValue());
    }

    private boolean usingElytraTarget() {
        return target != null && ElytraTarget.getInstance().elytraRotationProcessor.using();
    }

    private void handleStrafe(PlayerInputEvent.InputData event) {
        Vec3d toTarget = target.getPos().subtract(mc.player.getPos()).normalize();
        float targetYaw = (float) Math.toDegrees(Math.atan2(-toTarget.x, toTarget.z));

        boolean goLeft = switch ((String) strafeMode.getValue()) {
            case "Left" -> true;
            case "Right" -> false;
            default -> (int) (strafeAngle / 180.0F) % 2 == 0;
        };

        strafeAngle += (Float) strafeSpeed.getValue();
        if (strafeAngle >= 360.0F) strafeAngle -= 360.0F;

        float moveYaw = targetYaw + (goLeft ? -90.0F : 90.0F);
        float serverYaw = RotationManager.getInstance().getRotation().getYaw();
        float relYaw = moveYaw - serverYaw;
        float relRad = (float) Math.toRadians(relYaw);

        float fwd = (float) Math.cos(relRad);
        float side = (float) Math.sin(relRad);

        event.getDirectionalInput().setForwards(fwd > 0.3F);
        event.getDirectionalInput().setBackwards(fwd < -0.3F);
        event.getDirectionalInput().setLeft(side < -0.3F);
        event.getDirectionalInput().setRight(side > 0.3F);
    }

    public static Aura getInstance() {
        return instance;
    }

    public NeuroPredictor getPredictor() {
        return predictor;
    }

    public EnumSetting getAimMode() {
        return aimMode;
    }

    public EnumSetting getNeuroModel() {
        return neuroModel;
    }
}
 
Это даже ремапом трудно назвать
HUITA:
Expand Collapse Copy
@ModuleAnnotation(
        name = "Aura",
        description = "Боевой модуль",
        category = Category.COMBAT
)
public class Aura extends Module {

    private static final Aura instance = new Aura();

    private final NeuroPredictor predictor = new NeuroPredictor();
    private final TargetManager targetManager = new TargetManager();
    public final CombatExecutor combatExecutor = new CombatExecutor();

    private final EnumSetting aimMode = (new EnumSetting("Aim mode"))
            .value("Smooth")
            .values(new String[]{"Smooth", "Snap", "HvH", "Matrix", "Vulcan",
                    "Spooky Time", "Fun Time", "Holy World",
                    "Lony Grief", "Neuro"})
            .onAction(() -> {
                if (this.getAimMode().is("Neuro")) {
                    this.loadNeuroModel();
                } else {
                    this.predictor.close();
                }
            });

    private final EnumSetting neuroModel = (new EnumSetting("Neuro model"))
            .value("Rage")
            .values(new String[]{"Rage", "Legit", "Legit Fov"})
            .setVisible(() -> aimMode.is("Neuro"))
            .onAction(() -> {
                if (aimMode.is("Neuro")) {
                    this.loadNeuroModel();
                }
            });

    private final SliderSetting distance = (new SliderSetting("Distance"))
            .value(3.0F).range(2.5F, 6.0F).step(0.1F);

    private final SliderSetting preDistance = (new SliderSetting("Pre distance"))
            .value(0.3F).range(0.0F, 3.0F).step(0.1F);

    private final GroupSetting targets = (new GroupSetting("Targets"))
            .value(new ToggleSetting[]{
                    (new ToggleSetting("Players")).value(true),
                    (new ToggleSetting("Mobs")).value(true),
                    (new ToggleSetting("Animals")).value(true)
            });

    public final GroupSetting options;

    private final ToggleSetting clientLook;

    private final ToggleSetting elytraOverride;
    private final SliderSetting elytraDistance;
    private final SliderSetting elytraPreDistance;

    public LivingEntity target;
    private LivingEntity previousTarget;

    private final ToggleSetting switchNotify;

    private final ToggleSetting strafe;
    private final EnumSetting strafeMode;
    private final SliderSetting strafeSpeed;

    private final ToggleSetting lockTarget;
    private final SliderSetting lockTimeout;

    private float strafeAngle = 0.0F;
    private long lockedSince = 0L;

    public Aura() {
        this.options = this.combatExecutor.options();

        this.clientLook = (new ToggleSetting("Client look")).value(false);

        this.elytraOverride = (new ToggleSetting("Elytra override")).value(false);

        SliderSetting tmpSlider;

        tmpSlider = (new SliderSetting("Elytra distance")).value(4.0F).range(2.5F, 6.0F).step(0.1F);
        this.elytraDistance = tmpSlider.setVisible(elytraOverride::getValue);

        tmpSlider = (new SliderSetting("Elytra pre distance")).value(16.0F).range(0.0F, 32.0F).step(0.1F);
        this.elytraPreDistance = tmpSlider.setVisible(elytraOverride::getValue);

        this.switchNotify = (new ToggleSetting("Switch notify")).value(true);

        this.strafe = (new ToggleSetting("Strafe")).value(false);

        EnumSetting tmpEnum = (new EnumSetting("Strafe mode")).value("Circle").values(new String[]{"Circle", "Left", "Right"});
        this.strafeMode = tmpEnum.setVisible(strafe::getValue);

        tmpSlider = (new SliderSetting("Strafe speed")).value(2.5F).range(0.5F, 8.0F).step(0.25F);
        this.strafeSpeed = tmpSlider.setVisible(strafe::getValue);

        this.lockTarget = (new ToggleSetting("Lock target")).value(false);

        tmpSlider = (new SliderSetting("Lock timeout")).value(3.0F).range(0.5F, 10.0F).step(0.25F);
        this.lockTimeout = tmpSlider.setVisible(lockTarget::getValue);

        this.addSettings(new Object[]{
                aimMode, neuroModel,
                distance, preDistance,
                targets, options,
                clientLook,
                elytraOverride, elytraDistance, elytraPreDistance,
                switchNotify,
                strafe, strafeMode, strafeSpeed,
                lockTarget, lockTimeout
        });
    }

    public float getPreDistance() {
        return mc.player.isElytraFlying() && (Boolean) elytraOverride.getValue()
                ? (Float) elytraPreDistance.getValue()
                : (Float) preDistance.getValue();
    }

    public float getAttackDistance() {
        return mc.player.isElytraFlying() && (Boolean) elytraOverride.getValue()
                ? (Float) elytraDistance.getValue()
                : (Float) distance.getValue();
    }

    @Override
    public void onDisable() {
        targetManager.releaseTarget();
        target = null;
        previousTarget = null;
        predictor.close();
    }

    @Override
    public void onEnable() {
        targetManager.releaseTarget();
        target = null;
        if (aimMode.is("Neuro")) {
            loadNeuroModel();
        }
    }

    public void loadModel() {
        loadNeuroModel();
    }

    private void loadNeuroModel() {
        predictor.setActiveStyle(NeuroModelStyle.fromName((String) neuroModel.getValue()));
    }

    @Override
    public void onEvent() {
        predictor.onEvent();

        EventListener updateEvent = PlayerUpdateEvent.getInstance().subscribe(e -> updateEventHandler());
        EventListener rotUpdateEvent = RotationUpdateEvent.getInstance().subscribe(e -> postRotationMoveEventHandler());
        EventListener attackEvent = AttackEvent.getInstance().subscribe(e -> AimUtils.onAttack((String) aimMode.getValue()));

        this.addEvents(predictor.getEventListeners());
        this.addEvents(new EventListener[]{updateEvent, rotUpdateEvent, attackEvent});

        EventListener strafeInput = PlayerInputEvent.getInstance().subscribe(e -> {
            if ((Boolean) strafe.getValue() && target != null && mc.player.isOnGround()) {
                handleStrafe(e);
            }
        });
        this.addEvents(new EventListener[]{strafeInput});
    }

    private void postRotationMoveEventHandler() {
        if (target == null) return;
        if (AntiBot.getInstance().isEnabled() && AntiBot.checkBot(target)) return;

        Vec3d aimPoint = getTargetVector(target);
        RotationEntry rotation = RotationUtils.fromVec3d(aimPoint.subtract(mc.player.getPos()));
        rotateToTarget(target, aimPoint, rotation);
    }

    private void updateEventHandler() {
        LivingEntity newTarget = updateTarget();

        if ((Boolean) switchNotify.getValue()
                && newTarget != previousTarget
                && newTarget != null) {
            NotificationWidget.notify("Target: " + newTarget.getName().getString(),
                    NotificationType.INFO);
        }

        previousTarget = newTarget;
        target = newTarget;
        predictor.setRecordTarget(target);

        if (target != null) {
            if (AntiBot.getInstance().isEnabled() && AntiBot.checkBot(target)) {
                targetManager.releaseTarget();
                target = null;
                predictor.setRecordTarget(null);
                return;
            }

            if (RotationUtils.getSpot(target)
                    .distanceTo(mc.player.getPos()) > (getAttackDistance() + getPreDistance())) {
                targetManager.releaseTarget();
                return;
            }

            attackTarget(target);
        }
    }

    private LivingEntity updateTarget() {
        TargetManager.EntityFilter filter = new TargetManager.EntityFilter(targets.getList());

        if ((Boolean) lockTarget.getValue() && target != null) {
            boolean alive = target.isAlive() && target.getHealth() > 0.0F;
            boolean inRange = RotationUtils.getSpot(target)
                    .distanceTo(mc.player.getPos())
                    <= (getAttackDistance() + getPreDistance());
            float timeoutSec = (Float) lockTimeout.getValue();
            boolean timedOut = timeoutSec > 0.0F
                    && (float) (System.currentTimeMillis() - lockedSince) > timeoutSec * 1000.0F;

            if (alive && inRange && !timedOut && filter.isValid(target)) {
                return target;
            }
            lockedSince = 0L;
        }

        targetManager.searchTargets(mc.world.getPlayers(), getAttackDistance() + getPreDistance());
        targetManager.validateTarget(entity ->
                filter.isValid(entity)
                        && (!AntiBot.getInstance().isEnabled() || !AntiBot.checkBot(entity))
        );

        LivingEntity found = targetManager.getCurrentTarget();

        if ((Boolean) lockTarget.getValue() && found != null && found != target) {
            lockedSince = System.currentTimeMillis();
        }

        return found;
    }

    private void attackTarget(LivingEntity target) {
        if (AntiBot.getInstance().isEnabled() && AntiBot.checkBot(target)) return;

        combatExecutor.combatManager().configurable(
                new CombatExecutor.Config(
                        target,
                        RotationManager.getInstance().getRotation(),
                        (Float) distance.getValue(),
                        options.getList()
                )
        );

        double dist = mc.player.getPos().distanceTo(
                RotationUtils.rayCastBox(target, getTargetVector(target))
        );

        if (dist <= getAttackDistance()) {
            combatExecutor.performAttack();
        }
    }

    private void rotateToTarget(LivingEntity target, Vec3d aimPoint, RotationEntry rotation) {
        RotationConfigurable config = (new RotationConfigurable(
                getRotationMode(),
                ElytraFly.enabled(),
                ElytraFly.isFree()
        )).clientLook((Boolean) clientLook.getValue());

        boolean cantAttack = !combatExecutor.combatManager().canAttack();

        if (usingElytraTarget() && (Boolean) ElytraTarget.getInstance().elytraRotationProcessor.customRotations.getValue()) {
            return;
        }

        if (cantAttack && aimMode.is("Snap")) {
            if (!ElytraFly.getInstance().isEnabled()
                    || !(Boolean) ElytraFly.getInstance().targeting.getValue()) {
                return;
            }
            rotation = new RotationEntry(mc.player.getYaw(), mc.player.getPitch());
        }

        RotationManager.getInstance().addRotation(
                new RotationEntry.Builder(rotation, aimPoint),
                target,
                config,
                Priority.HIGH,
                this
        );
    }

    private RotationMode getRotationMode() {
        return switch ((String) aimMode.getValue()) {
            case "HvH" -> new HvHRotation();
            case "Spooky Time" -> new SpookyTimeRotation(combatExecutor.combatManager().clickScheduler());
            case "Holy World" -> new SmoothRotation(
                    (float) MathUtils.randomInRange(125, 155),
                    (float) MathUtils.randomInRange(30, 60),
                    true, true);
            case "Vulcan" -> new SmoothRotation(120.0F, 60.0F, false, false);
            case "Lony Grief" -> new LonyGriefRotation();
            case "Fun Time" -> new FunTimeRotation();
            case "Matrix" -> new MatrixRotation();
            case "Neuro" -> new NeuroRotation(predictor);
            default -> new NullRotation();
        };
    }

    private Vec3d getTargetVector(LivingEntity target) {
        if (target == null) return Vec3d.ZERO;
        return usingElytraTarget()
                ? ElytraTarget.getInstance().elytraRotationProcessor.getPredictedPos(target)
                : AimUtils.getAimpoint(target, (String) aimMode.getValue());
    }

    private boolean usingElytraTarget() {
        return target != null && ElytraTarget.getInstance().elytraRotationProcessor.using();
    }

    private void handleStrafe(PlayerInputEvent.InputData event) {
        Vec3d toTarget = target.getPos().subtract(mc.player.getPos()).normalize();
        float targetYaw = (float) Math.toDegrees(Math.atan2(-toTarget.x, toTarget.z));

        boolean goLeft = switch ((String) strafeMode.getValue()) {
            case "Left" -> true;
            case "Right" -> false;
            default -> (int) (strafeAngle / 180.0F) % 2 == 0;
        };

        strafeAngle += (Float) strafeSpeed.getValue();
        if (strafeAngle >= 360.0F) strafeAngle -= 360.0F;

        float moveYaw = targetYaw + (goLeft ? -90.0F : 90.0F);
        float serverYaw = RotationManager.getInstance().getRotation().getYaw();
        float relYaw = moveYaw - serverYaw;
        float relRad = (float) Math.toRadians(relYaw);

        float fwd = (float) Math.cos(relRad);
        float side = (float) Math.sin(relRad);

        event.getDirectionalInput().setForwards(fwd > 0.3F);
        event.getDirectionalInput().setBackwards(fwd < -0.3F);
        event.getDirectionalInput().setLeft(side < -0.3F);
        event.getDirectionalInput().setRight(side > 0.3F);
    }

    public static Aura getInstance() {
        return instance;
    }

    public NeuroPredictor getPredictor() {
        return predictor;
    }

    public EnumSetting getAimMode() {
        return aimMode;
    }

    public EnumSetting getNeuroModel() {
        return neuroModel;
    }
}
как…
 
братух, это буквально в дипсик можно закинуть и он тебе всю твою обфу снимет)
Тем же методом щас пофикшу)
Это даже ремапом трудно назвать
HUITA:
Expand Collapse Copy
@ModuleAnnotation(
        name = "Aura",
        description = "Боевой модуль",
        category = Category.COMBAT
)
public class Aura extends Module {

    private static final Aura instance = new Aura();

    private final NeuroPredictor predictor = new NeuroPredictor();
    private final TargetManager targetManager = new TargetManager();
    public final CombatExecutor combatExecutor = new CombatExecutor();

    private final EnumSetting aimMode = (new EnumSetting("Aim mode"))
            .value("Smooth")
            .values(new String[]{"Smooth", "Snap", "HvH", "Matrix", "Vulcan",
                    "Spooky Time", "Fun Time", "Holy World",
                    "Lony Grief", "Neuro"})
            .onAction(() -> {
                if (this.getAimMode().is("Neuro")) {
                    this.loadNeuroModel();
                } else {
                    this.predictor.close();
                }
            });

    private final EnumSetting neuroModel = (new EnumSetting("Neuro model"))
            .value("Rage")
            .values(new String[]{"Rage", "Legit", "Legit Fov"})
            .setVisible(() -> aimMode.is("Neuro"))
            .onAction(() -> {
                if (aimMode.is("Neuro")) {
                    this.loadNeuroModel();
                }
            });

    private final SliderSetting distance = (new SliderSetting("Distance"))
            .value(3.0F).range(2.5F, 6.0F).step(0.1F);

    private final SliderSetting preDistance = (new SliderSetting("Pre distance"))
            .value(0.3F).range(0.0F, 3.0F).step(0.1F);

    private final GroupSetting targets = (new GroupSetting("Targets"))
            .value(new ToggleSetting[]{
                    (new ToggleSetting("Players")).value(true),
                    (new ToggleSetting("Mobs")).value(true),
                    (new ToggleSetting("Animals")).value(true)
            });

    public final GroupSetting options;

    private final ToggleSetting clientLook;

    private final ToggleSetting elytraOverride;
    private final SliderSetting elytraDistance;
    private final SliderSetting elytraPreDistance;

    public LivingEntity target;
    private LivingEntity previousTarget;

    private final ToggleSetting switchNotify;

    private final ToggleSetting strafe;
    private final EnumSetting strafeMode;
    private final SliderSetting strafeSpeed;

    private final ToggleSetting lockTarget;
    private final SliderSetting lockTimeout;

    private float strafeAngle = 0.0F;
    private long lockedSince = 0L;

    public Aura() {
        this.options = this.combatExecutor.options();

        this.clientLook = (new ToggleSetting("Client look")).value(false);

        this.elytraOverride = (new ToggleSetting("Elytra override")).value(false);

        SliderSetting tmpSlider;

        tmpSlider = (new SliderSetting("Elytra distance")).value(4.0F).range(2.5F, 6.0F).step(0.1F);
        this.elytraDistance = tmpSlider.setVisible(elytraOverride::getValue);

        tmpSlider = (new SliderSetting("Elytra pre distance")).value(16.0F).range(0.0F, 32.0F).step(0.1F);
        this.elytraPreDistance = tmpSlider.setVisible(elytraOverride::getValue);

        this.switchNotify = (new ToggleSetting("Switch notify")).value(true);

        this.strafe = (new ToggleSetting("Strafe")).value(false);

        EnumSetting tmpEnum = (new EnumSetting("Strafe mode")).value("Circle").values(new String[]{"Circle", "Left", "Right"});
        this.strafeMode = tmpEnum.setVisible(strafe::getValue);

        tmpSlider = (new SliderSetting("Strafe speed")).value(2.5F).range(0.5F, 8.0F).step(0.25F);
        this.strafeSpeed = tmpSlider.setVisible(strafe::getValue);

        this.lockTarget = (new ToggleSetting("Lock target")).value(false);

        tmpSlider = (new SliderSetting("Lock timeout")).value(3.0F).range(0.5F, 10.0F).step(0.25F);
        this.lockTimeout = tmpSlider.setVisible(lockTarget::getValue);

        this.addSettings(new Object[]{
                aimMode, neuroModel,
                distance, preDistance,
                targets, options,
                clientLook,
                elytraOverride, elytraDistance, elytraPreDistance,
                switchNotify,
                strafe, strafeMode, strafeSpeed,
                lockTarget, lockTimeout
        });
    }

    public float getPreDistance() {
        return mc.player.isElytraFlying() && (Boolean) elytraOverride.getValue()
                ? (Float) elytraPreDistance.getValue()
                : (Float) preDistance.getValue();
    }

    public float getAttackDistance() {
        return mc.player.isElytraFlying() && (Boolean) elytraOverride.getValue()
                ? (Float) elytraDistance.getValue()
                : (Float) distance.getValue();
    }

    @Override
    public void onDisable() {
        targetManager.releaseTarget();
        target = null;
        previousTarget = null;
        predictor.close();
    }

    @Override
    public void onEnable() {
        targetManager.releaseTarget();
        target = null;
        if (aimMode.is("Neuro")) {
            loadNeuroModel();
        }
    }

    public void loadModel() {
        loadNeuroModel();
    }

    private void loadNeuroModel() {
        predictor.setActiveStyle(NeuroModelStyle.fromName((String) neuroModel.getValue()));
    }

    @Override
    public void onEvent() {
        predictor.onEvent();

        EventListener updateEvent = PlayerUpdateEvent.getInstance().subscribe(e -> updateEventHandler());
        EventListener rotUpdateEvent = RotationUpdateEvent.getInstance().subscribe(e -> postRotationMoveEventHandler());
        EventListener attackEvent = AttackEvent.getInstance().subscribe(e -> AimUtils.onAttack((String) aimMode.getValue()));

        this.addEvents(predictor.getEventListeners());
        this.addEvents(new EventListener[]{updateEvent, rotUpdateEvent, attackEvent});

        EventListener strafeInput = PlayerInputEvent.getInstance().subscribe(e -> {
            if ((Boolean) strafe.getValue() && target != null && mc.player.isOnGround()) {
                handleStrafe(e);
            }
        });
        this.addEvents(new EventListener[]{strafeInput});
    }

    private void postRotationMoveEventHandler() {
        if (target == null) return;
        if (AntiBot.getInstance().isEnabled() && AntiBot.checkBot(target)) return;

        Vec3d aimPoint = getTargetVector(target);
        RotationEntry rotation = RotationUtils.fromVec3d(aimPoint.subtract(mc.player.getPos()));
        rotateToTarget(target, aimPoint, rotation);
    }

    private void updateEventHandler() {
        LivingEntity newTarget = updateTarget();

        if ((Boolean) switchNotify.getValue()
                && newTarget != previousTarget
                && newTarget != null) {
            NotificationWidget.notify("Target: " + newTarget.getName().getString(),
                    NotificationType.INFO);
        }

        previousTarget = newTarget;
        target = newTarget;
        predictor.setRecordTarget(target);

        if (target != null) {
            if (AntiBot.getInstance().isEnabled() && AntiBot.checkBot(target)) {
                targetManager.releaseTarget();
                target = null;
                predictor.setRecordTarget(null);
                return;
            }

            if (RotationUtils.getSpot(target)
                    .distanceTo(mc.player.getPos()) > (getAttackDistance() + getPreDistance())) {
                targetManager.releaseTarget();
                return;
            }

            attackTarget(target);
        }
    }

    private LivingEntity updateTarget() {
        TargetManager.EntityFilter filter = new TargetManager.EntityFilter(targets.getList());

        if ((Boolean) lockTarget.getValue() && target != null) {
            boolean alive = target.isAlive() && target.getHealth() > 0.0F;
            boolean inRange = RotationUtils.getSpot(target)
                    .distanceTo(mc.player.getPos())
                    <= (getAttackDistance() + getPreDistance());
            float timeoutSec = (Float) lockTimeout.getValue();
            boolean timedOut = timeoutSec > 0.0F
                    && (float) (System.currentTimeMillis() - lockedSince) > timeoutSec * 1000.0F;

            if (alive && inRange && !timedOut && filter.isValid(target)) {
                return target;
            }
            lockedSince = 0L;
        }

        targetManager.searchTargets(mc.world.getPlayers(), getAttackDistance() + getPreDistance());
        targetManager.validateTarget(entity ->
                filter.isValid(entity)
                        && (!AntiBot.getInstance().isEnabled() || !AntiBot.checkBot(entity))
        );

        LivingEntity found = targetManager.getCurrentTarget();

        if ((Boolean) lockTarget.getValue() && found != null && found != target) {
            lockedSince = System.currentTimeMillis();
        }

        return found;
    }

    private void attackTarget(LivingEntity target) {
        if (AntiBot.getInstance().isEnabled() && AntiBot.checkBot(target)) return;

        combatExecutor.combatManager().configurable(
                new CombatExecutor.Config(
                        target,
                        RotationManager.getInstance().getRotation(),
                        (Float) distance.getValue(),
                        options.getList()
                )
        );

        double dist = mc.player.getPos().distanceTo(
                RotationUtils.rayCastBox(target, getTargetVector(target))
        );

        if (dist <= getAttackDistance()) {
            combatExecutor.performAttack();
        }
    }

    private void rotateToTarget(LivingEntity target, Vec3d aimPoint, RotationEntry rotation) {
        RotationConfigurable config = (new RotationConfigurable(
                getRotationMode(),
                ElytraFly.enabled(),
                ElytraFly.isFree()
        )).clientLook((Boolean) clientLook.getValue());

        boolean cantAttack = !combatExecutor.combatManager().canAttack();

        if (usingElytraTarget() && (Boolean) ElytraTarget.getInstance().elytraRotationProcessor.customRotations.getValue()) {
            return;
        }

        if (cantAttack && aimMode.is("Snap")) {
            if (!ElytraFly.getInstance().isEnabled()
                    || !(Boolean) ElytraFly.getInstance().targeting.getValue()) {
                return;
            }
            rotation = new RotationEntry(mc.player.getYaw(), mc.player.getPitch());
        }

        RotationManager.getInstance().addRotation(
                new RotationEntry.Builder(rotation, aimPoint),
                target,
                config,
                Priority.HIGH,
                this
        );
    }

    private RotationMode getRotationMode() {
        return switch ((String) aimMode.getValue()) {
            case "HvH" -> new HvHRotation();
            case "Spooky Time" -> new SpookyTimeRotation(combatExecutor.combatManager().clickScheduler());
            case "Holy World" -> new SmoothRotation(
                    (float) MathUtils.randomInRange(125, 155),
                    (float) MathUtils.randomInRange(30, 60),
                    true, true);
            case "Vulcan" -> new SmoothRotation(120.0F, 60.0F, false, false);
            case "Lony Grief" -> new LonyGriefRotation();
            case "Fun Time" -> new FunTimeRotation();
            case "Matrix" -> new MatrixRotation();
            case "Neuro" -> new NeuroRotation(predictor);
            default -> new NullRotation();
        };
    }

    private Vec3d getTargetVector(LivingEntity target) {
        if (target == null) return Vec3d.ZERO;
        return usingElytraTarget()
                ? ElytraTarget.getInstance().elytraRotationProcessor.getPredictedPos(target)
                : AimUtils.getAimpoint(target, (String) aimMode.getValue());
    }

    private boolean usingElytraTarget() {
        return target != null && ElytraTarget.getInstance().elytraRotationProcessor.using();
    }

    private void handleStrafe(PlayerInputEvent.InputData event) {
        Vec3d toTarget = target.getPos().subtract(mc.player.getPos()).normalize();
        float targetYaw = (float) Math.toDegrees(Math.atan2(-toTarget.x, toTarget.z));

        boolean goLeft = switch ((String) strafeMode.getValue()) {
            case "Left" -> true;
            case "Right" -> false;
            default -> (int) (strafeAngle / 180.0F) % 2 == 0;
        };

        strafeAngle += (Float) strafeSpeed.getValue();
        if (strafeAngle >= 360.0F) strafeAngle -= 360.0F;

        float moveYaw = targetYaw + (goLeft ? -90.0F : 90.0F);
        float serverYaw = RotationManager.getInstance().getRotation().getYaw();
        float relYaw = moveYaw - serverYaw;
        float relRad = (float) Math.toRadians(relYaw);

        float fwd = (float) Math.cos(relRad);
        float side = (float) Math.sin(relRad);

        event.getDirectionalInput().setForwards(fwd > 0.3F);
        event.getDirectionalInput().setBackwards(fwd < -0.3F);
        event.getDirectionalInput().setLeft(side < -0.3F);
        event.getDirectionalInput().setRight(side > 0.3F);
    }

    public static Aura getInstance() {
        return instance;
    }

    public NeuroPredictor getPredictor() {
        return predictor;
    }

    public EnumSetting getAimMode() {
        return aimMode;
    }

    public EnumSetting getNeuroModel() {
        return neuroModel;
    }
}
Ну ремап конечно не полностью снялся но ладно
 
Назад
Сверху Снизу