Начинающий
Начинающий
- Статус
- Онлайн
- Регистрация
- 21 Авг 2025
- Сообщения
- 64
- Реакции
- 1
этоНеВозможно!Флаг тебе в руки
Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
этоНеВозможно!Флаг тебе в руки
Разлогинься кентФлаг тебе в руки
Прости, но нетРазлогинься кент
это обфа аргентозаКАК??? ЭТО НЕ ВОЗМОЖНО
alt managerта сука как
//
// 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() {
}
}
а тут найди че это
Это даже ремапом трудно назватьну типо прогуард крякают как нехуй делать, а мое как будто бы анрил
@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:@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:@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; } }
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz