Исходник ESP | Отображение сфер | Expensive Ready 3.1 | ( ctrl + c, ctrl + v )

Начинающий
Статус
Оффлайн
Регистрация
5 Май 2024
Сообщения
23
Реакции[?]
0
Поинты[?]
0
Код:
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.systems.RenderSystem;
import im.expensive.Expensive;
import im.expensive.command.friends.FriendStorage;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventDisplay.Type;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.impl.combat.AntiBot;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ColorSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.ui.styles.Style;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.math.Vector4i;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import net.minecraft.client.network.play.NetworkPlayerInfo;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.WorldRenderer;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.resources.I18n;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.INBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.nbt.StringNBT;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.EffectUtils;
import net.minecraft.potion.Effects;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector4f;
import net.minecraft.util.text.IFormattableTextComponent;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
import org.lwjgl.opengl.GL11;

@FunctionRegister(
    name = "ESP",
    type = Category.Render
)
public class ESP extends Function {
    private final BooleanSetting customdis = new BooleanSetting("Каст. дист", false);
    private final SliderSetting distancetorender = (new SliderSetting("Дистанция рендера", 30.0F, 3.0F, 90.0F, 0.1F)).setVisible(() -> {
        return (Boolean)this.customdis.get();
    });
    public ModeListSetting pokasat = new ModeListSetting("Отображать", new BooleanSetting[]{new BooleanSetting("Боксы", false), new BooleanSetting("Неймтаги", false), new BooleanSetting("Полоску хп", false), new BooleanSetting("Текст хп", false), new BooleanSetting("Зачарования", false), new BooleanSetting("Список эффектов", false), new BooleanSetting("Предметы", false), new BooleanSetting("Броня над игроком", false)});
    private final BooleanSetting newESP = new BooleanSetting("Новые Боксы", true);
    private final BooleanSetting indicatia = new BooleanSetting("Индикация", true);
    public static final BooleanSetting vulcanitems;
    public static final BooleanSetting onlyground;
    private final BooleanSetting debug = new BooleanSetting("debug", true);
    private final HashMap<Entity, Vector4f> positions = new HashMap();
    public ColorSetting color = new ColorSetting("Color", -1);
    private final Map<Entity, Long> itemDropTimes = new HashMap();
    static char[] ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶;

    public ESP() {
        this.toggle();
        this.addSettings(new Setting[]{this.customdis, this.distancetorender, this.pokasat, this.newESP, this.indicatia, vulcanitems, this.debug});
    }

    @Subscribe
    public void onDisplay(EventDisplay var1) {
        if (mc.world != null && var1.getType() == Type.PRE) {
            this.positions.clear();
            Vector4i var2 = new Vector4i(HUD.getColor(0, 1.0F), HUD.getColor(90, 1.0F), HUD.getColor(180, 1.0F), HUD.getColor(270, 1.0F));
            Vector4i var3 = new Vector4i(HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 0, 1.0F), HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 90, 1.0F), HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 180, 1.0F), HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 270, 1.0F));
            Iterator var4 = mc.world.getAllEntities().iterator();

            while(true) {
                Entity var5;
                float var6;
                float var7;
                do {
                    do {
                        do {
                            do {
                                do {
                                    if (!var4.hasNext()) {
                                        RenderSystem.enableBlend();
                                        RenderSystem.disableTexture();
                                        RenderSystem.defaultBlendFunc();
                                        RenderSystem.shadeModel(7425);
                                        buffer.begin(7, DefaultVertexFormats.POSITION_COLOR);
                                        var4 = this.positions.entrySet().iterator();

                                        while(true) {
                                            float var13;
                                            Vector4f var34;
                                            LivingEntity var36;
                                            float var39;
                                            float var40;
                                            do {
                                                Object var37;
                                                do {
                                                    Map.Entry var33;
                                                    if (!var4.hasNext()) {
                                                        Tessellator.getInstance().draw();
                                                        RenderSystem.shadeModel(7424);
                                                        RenderSystem.enableTexture();
                                                        RenderSystem.disableBlend();
                                                        var4 = this.positions.entrySet().iterator();

                                                        while(true) {
                                                            while(var4.hasNext()) {
                                                                var33 = (Map.Entry)var4.next();
                                                                Entity var35 = (Entity)var33.getKey();
                                                                float var46;
                                                                float var47;
                                                                float var52;
                                                                float var56;
                                                                if (var35 instanceof LivingEntity) {
                                                                    var36 = (LivingEntity)var35;
                                                                    Score var43 = mc.world.getScoreboard().getOrCreateScore(var36.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
                                                                    var46 = var36.getHealth();
                                                                    var47 = var36.getMaxHealth();
                                                                    String var51 = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
                                                                    if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (var51.contains("анархия") || var51.contains("гриферский"))) {
                                                                        var46 = (float)var43.getScorePoints();
                                                                        var47 = 20.0F;
                                                                    }

                                                                    Vector4f var53 = (Vector4f)var33.getValue();
                                                                    var52 = var53.z - var53.x;
                                                                    String var55 = (int)var46 + "HP";
                                                                    var56 = Fonts.consolas.getWidth(var55, 6.0F);
                                                                    float var58 = MathHelper.clamp(var46 / var47, 0.0F, 1.0F);
                                                                    float var59 = var53.y + (var53.w - var53.y) * (1.0F - var58);
                                                                    if ((Boolean)this.pokasat.getValueByName("Текст хп").get()) {
                                                                        Fonts.montserrat.drawText(var1.getMatrixStack(), var55, var53.x - var56 - 6.0F, var59, -1, 6.0F, 0.05F);
                                                                    }

                                                                    float var60 = (float)mc.fontRenderer.getStringWidth(var35.getDisplayName().getString());
                                                                    GL11.glPushMatrix();
                                                                    this.glCenteredScale(var53.x + var52 / 2.0F - var60 / 2.0F, var53.y - 7.0F, var60, 10.0F, 0.5F);
                                                                    String var20 = var35.getDisplayName().getString();
                                                                    boolean var22 = false;
                                                                    NetworkPlayerInfo var63 = mc.getConnection().getPlayerInfo(var35.getUniqueID());
                                                                    String var61;
                                                                    if (var63 != null) {
                                                                        int var62 = var63.getResponseTime();
                                                                        var61 = "[" + var62 + " ms] ";
                                                                    } else {
                                                                        var61 = "";
                                                                    }

                                                                    double var24 = (double)mc.player.getHealth();
                                                                    double var26 = (double)var43.getScorePoints();
                                                                    float var28 = mc.player.isPotionActive(Effects.ABSORPTION) ? mc.player.getAbsorptionAmount() : 0.0F;
                                                                    int var29;
                                                                    if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime")) {
                                                                        var29 = (int)Math.ceil(var26);
                                                                    } else {
                                                                        var29 = (int)Math.ceil(var24 + (double)var28);
                                                                    }

                                                                    String var30 = " [" + var29 + " HP] ";
                                                                    String var31 = FriendStorage.isFriend(var35.getName().getString()) ? TextFormatting.GREEN + "[Friend] " : "";
                                                                    ITextComponent var32 = ITextComponent.getTextComponentOrEmpty(var31 + var61 + var20 + var30);
                                                                    if ((Boolean)this.pokasat.getValueByName("Неймтаги").get()) {
                                                                        mc.fontRenderer.func_243246_a(var1.getMatrixStack(), var32, var53.x + var52 / 2.0F - var60 / 2.0F, var53.y - 7.0F, -1);
                                                                    }

                                                                    GL11.glPopMatrix();
                                                                    if ((Boolean)this.pokasat.getValueByName("Список эффектов").get()) {
                                                                        this.drawPotions(var1.getMatrixStack(), var36, var53.z + 2.0F, var53.y);
                                                                    }

                                                                    this.drawItems(var1.getMatrixStack(), var36, (int)(var53.x + var52 / 2.0F), (int)(var53.y - 20.0F));
                                                                } else if (var35 instanceof ItemEntity) {
                                                                    ItemEntity var41 = (ItemEntity)var35;
                                                                    if ((Boolean)this.pokasat.getValueByName("Предметы").get()) {
                                                                        Vector4f var42;
                                                                        if (!(Boolean)vulcanitems.get()) {
                                                                            var42 = (Vector4f)var33.getValue();
                                                                            var46 = var42.z - var42.x;
                                                                            var47 = (float)mc.fontRenderer.getStringPropertyWidth(var41.getItem().getDisplayName());
                                                                            GL11.glPushMatrix();
                                                                            this.glCenteredScale(var42.x + var46 / 2.0F - var47 / 2.0F, var42.y - 7.0F, var47, 10.0F, 0.5F);
                                                                            mc.fontRenderer.func_243246_a(var1.getMatrixStack(), var41.getItem().getDisplayName(), var42.x + var46 / 2.0F - var47 / 2.0F, var42.y - 7.0F, -1);
                                                                            GL11.glPopMatrix();
                                                                        } else {
                                                                            var42 = (Vector4f)var33.getValue();
                                                                            var46 = var42.z - var42.x;
                                                                            String var48 = var41.getItem().getDisplayName().getString();
                                                                            boolean var50 = this.containsKeyWord(var41.getItem());
                                                                            var13 = var50 ? (float)(mc.fontRenderer.getStringWidth(var48) * 2) : (float)mc.fontRenderer.getStringWidth(var48);
                                                                            GL11.glPushMatrix();
                                                                            var52 = var50 ? 2.0F : 1.0F;
                                                                            float var54 = var42.x + var46 / 2.0F - var13 * var52 / 4.0F;
                                                                            var56 = var42.y - 7.0F;
                                                                            this.glCenteredScale(var54, var56, var13, 10.0F, 0.5F);
                                                                            GL11.glScalef(var52, var52, var52);
                                                                            mc.fontRenderer.drawStringWithShadow(var1.getMatrixStack(), var48, var54 / var52, var56 / var52, var50 ? 16711680 : -1);
                                                                            if (var50) {
                                                                                long var57 = System.currentTimeMillis();
                                                                                long var19 = (Long)this.itemDropTimes.getOrDefault(var41, var57);
                                                                                if (!this.itemDropTimes.containsKey(var41)) {
                                                                                    this.itemDropTimes.put(var41, var19);
                                                                                }

                                                                                long var21 = var57 - var19;
                                                                                String var23;
                                                                                if (var21 < 3000L) {
                                                                                    var23 = 3L - var21 / 1000L + " сек";
                                                                                } else {
                                                                                    var23 = "Можно брать!";
                                                                                }

                                                                                mc.fontRenderer.drawStringWithShadow(var1.getMatrixStack(), var23, var54 / var52, var56 / var52 + 8.0F, var21 < 3000L ? 16711680 : '\uff00');
                                                                            }

                                                                            GL11.glPopMatrix();
                                                                        }
                                                                    }
                                                                }
                                                            }

                                                            return;
                                                        }
                                                    }

                                                    var33 = (Map.Entry)var4.next();
                                                    var34 = (Vector4f)var33.getValue();
                                                    var37 = var33.getKey();
                                                } while(!(var37 instanceof LivingEntity));

                                                var36 = (LivingEntity)var37;
                                                if ((Boolean)this.pokasat.getValueByName("Боксы").get()) {
                                                    if ((Boolean)this.newESP.get()) {
                                                        Style var38 = Expensive.getInstance().getStyleManager().getCurrentStyle();
                                                        int var9 = ColorUtils.rgba(0, 255, 0, 255);
                                                        int var44 = ColorUtils.rgba(0, 255, 0, 255);
                                                        if (FriendStorage.isFriend(var36.getName().getString())) {
                                                            DisplayUtils.renderBoxixImplF((double)var34.x - 0.5, (double)var34.y - 0.5, (double)var34.z + 0.5, (double)var34.w + 0.5, new Vector4i(var9, var9, var9, 255));
                                                        } else {
                                                            DisplayUtils.renderBoxixImpl((double)var34.x - 1.2, (double)var34.y - 1.2, (double)var34.z + 1.2, (double)var34.w + 1.2, new Vector4i(var44, var44, var44, 255));
                                                        }
                                                    } else {
                                                        DisplayUtils.drawBox((double)(var34.x - 0.5F), (double)(var34.y - 0.5F), (double)(var34.z + 0.5F), (double)(var34.w + 0.5F), 2.0, ColorUtils.rgba(0, 0, 0, 128));
                                                        DisplayUtils.drawBoxTest((double)var34.x, (double)var34.y, (double)var34.z, (double)var34.w, 1.0, FriendStorage.isFriend(var36.getName().getString()) ? var3 : var2);
                                                    }
                                                }

                                                var39 = 3.0F;
                                                var40 = 0.5F;
                                            } while(!(Boolean)this.pokasat.getValueByName("Полоску хп").get());

                                            String var45 = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
                                            DisplayUtils.drawRectBuilding((double)(var34.x - var39 - var40), (double)(var34.y - var40), (double)(var34.x - var39 + 1.0F + var40), (double)(var34.w + var40), ColorUtils.rgba(0, 0, 0, 128));
                                            DisplayUtils.drawRectBuilding((double)(var34.x - var39), (double)var34.y, (double)(var34.x - var39 + 1.0F), (double)var34.w, ColorUtils.rgba(0, 0, 0, 128));
                                            Score var11 = mc.world.getScoreboard().getOrCreateScore(var36.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
                                            float var49 = var36.getHealth();
                                            var13 = var36.getMaxHealth();
                                            if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (var45.contains("анархия") || var45.contains("гриферский"))) {
                                                var49 = (float)var11.getScorePoints();
                                                var13 = 20.0F;
                                            }

                                            if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("saturn") && var36 instanceof PlayerEntity) {
                                                var49 = (float)var11.getScorePoints();
                                                var13 = 20.0F;
                                            }

                                            DisplayUtils.drawMCVerticalBuilding((double)(var34.x - var39), (double)(var34.y + (var34.w - var34.y) * (1.0F - MathHelper.clamp(var49 / var13, 0.0F, 1.0F))), (double)(var34.x - var39 + 1.0F), (double)var34.w, FriendStorage.isFriend(var36.getName().getString()) ? var3.w : var2.w, FriendStorage.isFriend(var36.getName().getString()) ? var3.x : var2.x);
                                        }
                                    }

                                    var5 = (Entity)var4.next();
                                    var6 = var5.getDistance(mc.player);
                                } while(!this.isValid(var5));
                            } while(!(var5 instanceof PlayerEntity) && !(var5 instanceof ItemEntity));
                        } while(var5 == mc.player && mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON);
                    } while(var5 == mc.player);

                    var7 = (Float)this.distancetorender.get();
                    if (var7 == 90.0F) {
                        var7 = 2.14748365E9F;
                    }
                } while((Boolean)this.customdis.get() && var6 > var7);

                double var8 = MathUtil.interpolate(var5.getPosX(), var5.lastTickPosX, (double)var1.getPartialTicks());
                double var10 = MathUtil.interpolate(var5.getPosY(), var5.lastTickPosY, (double)var1.getPartialTicks());
                double var12 = MathUtil.interpolate(var5.getPosZ(), var5.lastTickPosZ, (double)var1.getPartialTicks());
                Vector3d var14 = new Vector3d(var5.getBoundingBox().maxX - var5.getBoundingBox().minX, var5.getBoundingBox().maxY - var5.getBoundingBox().minY, var5.getBoundingBox().maxZ - var5.getBoundingBox().minZ);
                AxisAlignedBB var15 = new AxisAlignedBB(var8 - var14.x / 2.0, var10, var12 - var14.z / 2.0, var8 + var14.x / 2.0, var10 + var14.y, var12 + var14.z / 2.0);
                Vector4f var16 = null;

                for(int var17 = 0; var17 < 8; ++var17) {
                    Vector2f var18 = ProjectionUtil.project(var17 % 2 == 0 ? var15.minX : var15.maxX, var17 / 2 % 2 == 0 ? var15.minY : var15.maxY, var17 / 4 % 2 == 0 ? var15.minZ : var15.maxZ);
                    if (var16 == null) {
                        var16 = new Vector4f(var18.x, var18.y, 1.0F, 1.0F);
                    } else {
                        var16.x = Math.min(var18.x, var16.x);
                        var16.y = Math.min(var18.y, var16.y);
                        var16.z = Math.max(var18.x, var16.z);
                        var16.w = Math.max(var18.y, var16.w);
                    }
                }

                this.positions.put(var5, var16);
            }
        }
    }

    private boolean containsKeyWord(ItemStack var1) {
        String var2 = var1.getDisplayName().getString().toLowerCase();
        boolean var3 = var2.contains("сфера") || var2.contains("отмычка") || var2.contains("дезориентация") || var2.contains("зелье");
        boolean var4 = var1.getTag() != null && var1.getTag().contains("don-item");
        return var3 || var4;
    }

    public boolean isInView(Entity var1) {
        if (mc.getRenderViewEntity() == null) {
            return false;
        } else {
            WorldRenderer.frustum.setCameraPosition(mc.getRenderManager().info.getProjectedView().x, mc.getRenderManager().info.getProjectedView().y, mc.getRenderManager().info.getProjectedView().z);
            return WorldRenderer.frustum.isBoundingBoxInFrustum(var1.getBoundingBox()) || var1.ignoreFrustumCheck;
        }
    }

    private void drawPotions(MatrixStack var1, LivingEntity var2, float var3, float var4) {
        for(Iterator var5 = var2.getActivePotionEffects().iterator(); var5.hasNext(); var4 += Fonts.sfMedium.getHeight(6.0F)) {
            EffectInstance var6 = (EffectInstance)var5.next();
            int var7 = var6.getAmplifier();
            String var8 = "";
            if (var7 >= 1 && var7 <= 9) {
                String var10000 = "enchantment.level." + (var7 + 1);
                var8 = " " + I18n.format(var10000, new Object[0]);
            }

            String var9 = I18n.format(var6.getEffectName(), new Object[0]) + var8 + " - " + EffectUtils.getPotionDurationString(var6, 1.0F);
            Fonts.sfMedium.drawText(var1, var9, var3, var4, -1, 6.0F, 0.05F);
        }

    }

    public boolean isFunTimeServer() {
        String var1 = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
        return mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (var1.contains("анархия") || var1.contains("гриферский"));
    }

    private void drawItems(MatrixStack var1, LivingEntity var2, int var3, int var4) {
        byte var5 = 8;
        byte var6 = 6;
        ArrayList var7 = new ArrayList();
        ItemStack var8 = var2.getHeldItemMainhand();
        if (!var8.isEmpty()) {
            var7.add(var8);
        }

        Iterator var9 = var2.getArmorInventoryList().iterator();

        while(var9.hasNext()) {
            ItemStack var10 = (ItemStack)var9.next();
            if (!var10.isEmpty()) {
                var7.add(var10);
            }
        }

        ItemStack var26 = var2.getHeldItemOffhand();
        if (!var26.isEmpty() && (var26.getItem() == Items.TOTEM_OF_UNDYING || var26.getItem() == Items.PLAYER_HEAD)) {
            var7.add(var26);
        }

        var3 = (int)((float)var3 - (float)(var7.size() * (var5 + var6)) / 2.0F);
        Iterator var27 = var7.iterator();

        while(true) {
            ItemStack var11;
            do {
                if (!var27.hasNext()) {
                    return;
                }

                var11 = (ItemStack)var27.next();
            } while(var11.isEmpty());

            String var14;
            if (var11.getItem() == Items.TOTEM_OF_UNDYING || var11.getItem() == Items.PLAYER_HEAD) {
                String var12 = var11.getDisplayName().getString();
                CompoundNBT var13 = var11.getTag();
                var14 = "";
                if (this.isFunTimeServer() && var13 != null && var13.contains("tslevel")) {
                    var14 = " " + var13.getInt("tslevel");
                }

                if ((Boolean)this.debug.get()) {
                    System.out.println("Имя: " + var12 + var14 + " : Тег: " + (var13 != null ? var13.toString() : "нет тега"));
                }
            }

            GL11.glPushMatrix();
            if ((Boolean)this.pokasat.getValueByName("Броня над игроком").get()) {
                this.glCenteredScale((float)var3, (float)var4, (float)var5 / 2.0F, (float)var5 / 2.0F, 0.5F);
                mc.getItemRenderer().renderItemAndEffectIntoGUI(var11, var3, var4);
                mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, var11, var3, var4, (String)null);
            }

            GL11.glPopMatrix();
            if ((Boolean)this.indicatia.get() && var11 == var26 && mc.player != null) {
                CompoundNBT var28 = var11.getTag();
                String var29 = "";
                if (this.isFunTimeServer()) {
                    if (var28 != null && var28.contains("don-item")) {
                        var29 = var28.getString("don-item");
                    } else {
                        if (var26.getItem() == Items.TOTEM_OF_UNDYING) {
                            return;
                        }

                        if (var26.getItem() == Items.PLAYER_HEAD) {
                            return;
                        }
                    }

                    var14 = var29.replaceFirst("tal-", "").replaceFirst("sphere-", "").toUpperCase();
                    if (var28 != null && var28.contains("tslevel")) {
                        var14 = var14 + " " + var28.getInt("tslevel");
                    }

                    if (!var14.isEmpty()) {
                        StringBuilder var30 = new StringBuilder();
                        if (var26.getItem() == Items.PLAYER_HEAD) {
                            var30.append("[");
                            var30.append(var14);
                            var30.append("]");
                        }

                        int var31 = var3 + var5 / 2 + 10;
                        Objects.requireNonNull(mc.fontRenderer);
                        int var32 = var4 - (int)(9.0F - 1.0F);
                        IFormattableTextComponent var34 = (new StringTextComponent(var30.toString())).mergeStyle(TextFormatting.RED);
                        mc.fontRenderer.func_243246_a(var1, var34, (float)var31, (float)var32, -1);
                    }
                } else {
                    var14 = var11.getDisplayName().getString();
                    var14 = var14.replaceAll("(?i)\\b(Талисман|Сфера)\\b\\s*", "");
                    var14 = var14.replaceAll("\\s{2,}", " ");
                    Pattern var15 = Pattern.compile("[^а-яА-ЯёЁ\\s]");
                    Matcher var16 = var15.matcher(var14);
                    var14 = var16.replaceAll("");
                    var14 = var14.trim();
                    String var17 = "";
                    if (var11.hasTag()) {
                        CompoundNBT var18 = var11.getTag();
                        if (var18.contains("display")) {
                            CompoundNBT var19 = var18.getCompound("display");
                            if (var19.contains("Lore")) {
                                ListNBT var20 = var19.getList("Lore", 8);
                                Iterator var21 = var20.iterator();

                                while(var21.hasNext()) {
                                    INBT var22 = (INBT)var21.next();
                                    String var23 = ((StringNBT)var22).getString();
                                    Pattern var24 = Pattern.compile("(\\d+/3|MAX)");
                                    Matcher var25 = var24.matcher(var23);
                                    if (var25.find()) {
                                        var17 = var25.group(1);
                                        break;
                                    }
                                }
                            }
                        }
                    }

                    StringBuilder var33 = new StringBuilder();
                    if (var26.getItem() == Items.PLAYER_HEAD || var26.getItem() == Items.TOTEM_OF_UNDYING) {
                        var33.append("[");
                        var33.append(var14);
                        if (var17 != null) {
                            var33.append(" ");
                        }

                        var33.append(var17);
                        var33.append("]");
                    }

                    int var35 = var3 + var5 / 2 + 10;
                    Objects.requireNonNull(mc.fontRenderer);
                    int var36 = var4 - (int)(9.0F - 1.0F);
                    IFormattableTextComponent var37 = (new StringTextComponent(var33.toString())).mergeStyle(TextFormatting.RED);
                    mc.fontRenderer.func_243246_a(var1, var37, (float)var35, (float)var36, -1);
                }
            }

            var3 += var5 + var6;
        }
    }

    private ITextComponent parseJsonObject(JsonObject var1) {
        StringBuilder var2 = new StringBuilder();
        if (var1.has("extra")) {
            JsonArray var3 = var1.getAsJsonArray("extra");
            Iterator var4 = var3.iterator();

            while(var4.hasNext()) {
                JsonElement var5 = (JsonElement)var4.next();
                JsonObject var6 = var5.getAsJsonObject();
                if (var6.has("text")) {
                    var2.append(var6.get("text").getAsString());
                }
            }
        }

        return (new StringTextComponent("[" + var2.toString().trim() + "]")).mergeStyle(TextFormatting.RED);
    }

    public boolean isValid(Entity var1) {
        return AntiBot.isBot(var1) ? false : this.isInView(var1);
    }

    public void glCenteredScale(float var1, float var2, float var3, float var4, float var5) {
        GL11.glTranslatef(var1 + var3 / 2.0F, var2 + var4 / 2.0F, 0.0F);
        GL11.glScalef(var5, var5, 1.0F);
        GL11.glTranslatef(-var1 - var3 / 2.0F, -var2 - var4 / 2.0F, 0.0F);
    }

    static {
        char[] var10001 = "\u0018DX!\r9l7dV(\u0016#n:_[<<峷炭姴嬎匩佥刀冏審屃櫲灛垘损奛偛岼斁毕傟慑塹旤廊嵚梹彴亭榮挞恲拄杩彻啅倕侸憫旗岆慞壒亶溼滅愢嬬噰偩嵔妞刭依晨囡洰氥呦樱欚妆奶冸尹揉匶咐楖噤忍泒史仐瀓儇檖戻擘滗暚擩匂暺弌汀攎夅妵南埰噖奜湍汶幯僦呏斡炎榯憹".toCharArray();
        int var10003 = var10001.length;
        char[] var10002 = var10001;
        int var1 = var10003;

        for(int var0 = 0; var1 > var0; ++var0) {
            char var10005 = var10002[var0];
            byte var10006;
            switch (var0 % 7) {
                case 0 -> var10006 = 91;
                case 1 -> var10006 = 43;
                case 2 -> var10006 = 52;
                case 3 -> var10006 = 78;
                case 4 -> var10006 = 99;
                case 5 -> var10006 = 80;
                default -> var10006 = 13;
            }

            var10002[var0] = (char)(var10005 ^ var10006);
        }

        String var5 = (new String(var10002)).intern();
        boolean var3 = true;
        ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶 = var5.toCharArray();
        vulcanitems = new BooleanSetting("Vulcan-Items", true);
        onlyground = new BooleanSetting("VTimer Air", true);
    }

    private static String 屣漚墳匇嶐侦无壄坰嫪宭滽榒壹吇洕嚩湻灜嶻昑抢忇溄濉垮嘬浽堍憭刏榕堚孺峊毅庾剹寈洛檫(int var0, int var1, String var2, int var3, int var4) {
        StringBuilder var5 = new StringBuilder();
        int var6 = 0;
        char[] var10;
        int var9 = (var10 = var2.toCharArray()).length;

        for(int var8 = 0; var8 < var9; ++var8) {
            char var7 = var10[var8];
            var5.append((char)(var7 ^ ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶[var6 % ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶.length] ^ var0 ^ var3 + var6 ^ var1 ^ var4));
            ++var6;
        }

        return var5.toString();
    }
}
[SPOILER="SS"][/SPOILER]
[ATTACH type="full"]285626[/ATTACH]
 

Вложения

Начинающий
Статус
Оффлайн
Регистрация
2 Фев 2024
Сообщения
133
Реакции[?]
0
Поинты[?]
1K
Код:
//


    static {
        char[] var10001 = "\u0018DX!\r9l7dV(\u0016#n:_[<<峷炭姴嬎匩佥刀冏審屃櫲灛垘损奛偛岼斁毕傟慑塹旤廊嵚梹彴亭榮挞恲拄杩彻啅倕侸憫旗岆慞壒亶溼滅愢嬬噰偩嵔妞刭依晨囡洰氥呦樱欚妆奶冸尹揉匶咐楖噤忍泒史仐瀓儇檖戻擘滗暚擩匂暺弌汀攎夅妵南埰噖奜湍汶幯僦呏斡炎榯憹".toCharArray();
        int var10003 = var10001.length;
        char[] var10002 = var10001;
        int var1 = var10003;

        for(int var0 = 0; var1 > var0; ++var0) {
            char var10005 = var10002[var0];
            byte var10006;
            switch (var0 % 7) {
                case 0 -> var10006 = 91;
                case 1 -> var10006 = 43;
                case 2 -> var10006 = 52;
                case 3 -> var10006 = 78;
                case 4 -> var10006 = 99;
                case 5 -> var10006 = 80;
                default -> var10006 = 13;
            }

            var10002[var0] = (char)(var10005 ^ var10006);
        }

        String var5 = (new String(var10002)).intern();
        boolean var3 = true;
        ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶 = var5.toCharArray();
        vulcanitems = new BooleanSetting("Vulcan-Items", true);
        onlyground = new BooleanSetting("VTimer Air", true);
    }

    private static String 屣漚墳匇嶐侦无壄坰嫪宭滽榒壹吇洕嚩湻灜嶻昑抢忇溄濉垮嘬浽堍憭刏榕堚孺峊毅庾剹寈洛檫(int var0, int var1, String var2, int var3, int var4) {
        StringBuilder var5 = new StringBuilder();
        int var6 = 0;
        char[] var10;
        int var9 = (var10 = var2.toCharArray()).length;

        for(int var8 = 0; var8 < var9; ++var8) {
            char var7 = var10[var8];
            var5.append((char)(var7 ^ ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶[var6 % ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶.length] ^ var0 ^ var3 + var6 ^ var1 ^ var4));
            ++var6;
        }

        return var5.toString();
    }
}
[SPOILER="SS"][/SPOILER]
[ATTACH type="full"]285626[/ATTACH]
хммм... 🧐
1726343493159.png
хммм... 🧐
 
Начинающий
Статус
Оффлайн
Регистрация
20 Дек 2022
Сообщения
11
Реакции[?]
0
Поинты[?]
0
Код:
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.systems.RenderSystem;
import im.expensive.Expensive;
import im.expensive.command.friends.FriendStorage;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventDisplay.Type;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.impl.combat.AntiBot;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ColorSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.ui.styles.Style;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.math.Vector4i;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import net.minecraft.client.network.play.NetworkPlayerInfo;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.WorldRenderer;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.resources.I18n;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.INBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.nbt.StringNBT;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.EffectUtils;
import net.minecraft.potion.Effects;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector4f;
import net.minecraft.util.text.IFormattableTextComponent;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
import org.lwjgl.opengl.GL11;

@FunctionRegister(
    name = "ESP",
    type = Category.Render
)
public class ESP extends Function {
    private final BooleanSetting customdis = new BooleanSetting("Каст. дист", false);
    private final SliderSetting distancetorender = (new SliderSetting("Дистанция рендера", 30.0F, 3.0F, 90.0F, 0.1F)).setVisible(() -> {
        return (Boolean)this.customdis.get();
    });
    public ModeListSetting pokasat = new ModeListSetting("Отображать", new BooleanSetting[]{new BooleanSetting("Боксы", false), new BooleanSetting("Неймтаги", false), new BooleanSetting("Полоску хп", false), new BooleanSetting("Текст хп", false), new BooleanSetting("Зачарования", false), new BooleanSetting("Список эффектов", false), new BooleanSetting("Предметы", false), new BooleanSetting("Броня над игроком", false)});
    private final BooleanSetting newESP = new BooleanSetting("Новые Боксы", true);
    private final BooleanSetting indicatia = new BooleanSetting("Индикация", true);
    public static final BooleanSetting vulcanitems;
    public static final BooleanSetting onlyground;
    private final BooleanSetting debug = new BooleanSetting("debug", true);
    private final HashMap<Entity, Vector4f> positions = new HashMap();
    public ColorSetting color = new ColorSetting("Color", -1);
    private final Map<Entity, Long> itemDropTimes = new HashMap();
    static char[] ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶;

    public ESP() {
        this.toggle();
        this.addSettings(new Setting[]{this.customdis, this.distancetorender, this.pokasat, this.newESP, this.indicatia, vulcanitems, this.debug});
    }

    @Subscribe
    public void onDisplay(EventDisplay var1) {
        if (mc.world != null && var1.getType() == Type.PRE) {
            this.positions.clear();
            Vector4i var2 = new Vector4i(HUD.getColor(0, 1.0F), HUD.getColor(90, 1.0F), HUD.getColor(180, 1.0F), HUD.getColor(270, 1.0F));
            Vector4i var3 = new Vector4i(HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 0, 1.0F), HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 90, 1.0F), HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 180, 1.0F), HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 270, 1.0F));
            Iterator var4 = mc.world.getAllEntities().iterator();

            while(true) {
                Entity var5;
                float var6;
                float var7;
                do {
                    do {
                        do {
                            do {
                                do {
                                    if (!var4.hasNext()) {
                                        RenderSystem.enableBlend();
                                        RenderSystem.disableTexture();
                                        RenderSystem.defaultBlendFunc();
                                        RenderSystem.shadeModel(7425);
                                        buffer.begin(7, DefaultVertexFormats.POSITION_COLOR);
                                        var4 = this.positions.entrySet().iterator();

                                        while(true) {
                                            float var13;
                                            Vector4f var34;
                                            LivingEntity var36;
                                            float var39;
                                            float var40;
                                            do {
                                                Object var37;
                                                do {
                                                    Map.Entry var33;
                                                    if (!var4.hasNext()) {
                                                        Tessellator.getInstance().draw();
                                                        RenderSystem.shadeModel(7424);
                                                        RenderSystem.enableTexture();
                                                        RenderSystem.disableBlend();
                                                        var4 = this.positions.entrySet().iterator();

                                                        while(true) {
                                                            while(var4.hasNext()) {
                                                                var33 = (Map.Entry)var4.next();
                                                                Entity var35 = (Entity)var33.getKey();
                                                                float var46;
                                                                float var47;
                                                                float var52;
                                                                float var56;
                                                                if (var35 instanceof LivingEntity) {
                                                                    var36 = (LivingEntity)var35;
                                                                    Score var43 = mc.world.getScoreboard().getOrCreateScore(var36.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
                                                                    var46 = var36.getHealth();
                                                                    var47 = var36.getMaxHealth();
                                                                    String var51 = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
                                                                    if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (var51.contains("анархия") || var51.contains("гриферский"))) {
                                                                        var46 = (float)var43.getScorePoints();
                                                                        var47 = 20.0F;
                                                                    }

                                                                    Vector4f var53 = (Vector4f)var33.getValue();
                                                                    var52 = var53.z - var53.x;
                                                                    String var55 = (int)var46 + "HP";
                                                                    var56 = Fonts.consolas.getWidth(var55, 6.0F);
                                                                    float var58 = MathHelper.clamp(var46 / var47, 0.0F, 1.0F);
                                                                    float var59 = var53.y + (var53.w - var53.y) * (1.0F - var58);
                                                                    if ((Boolean)this.pokasat.getValueByName("Текст хп").get()) {
                                                                        Fonts.montserrat.drawText(var1.getMatrixStack(), var55, var53.x - var56 - 6.0F, var59, -1, 6.0F, 0.05F);
                                                                    }

                                                                    float var60 = (float)mc.fontRenderer.getStringWidth(var35.getDisplayName().getString());
                                                                    GL11.glPushMatrix();
                                                                    this.glCenteredScale(var53.x + var52 / 2.0F - var60 / 2.0F, var53.y - 7.0F, var60, 10.0F, 0.5F);
                                                                    String var20 = var35.getDisplayName().getString();
                                                                    boolean var22 = false;
                                                                    NetworkPlayerInfo var63 = mc.getConnection().getPlayerInfo(var35.getUniqueID());
                                                                    String var61;
                                                                    if (var63 != null) {
                                                                        int var62 = var63.getResponseTime();
                                                                        var61 = "[" + var62 + " ms] ";
                                                                    } else {
                                                                        var61 = "";
                                                                    }

                                                                    double var24 = (double)mc.player.getHealth();
                                                                    double var26 = (double)var43.getScorePoints();
                                                                    float var28 = mc.player.isPotionActive(Effects.ABSORPTION) ? mc.player.getAbsorptionAmount() : 0.0F;
                                                                    int var29;
                                                                    if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime")) {
                                                                        var29 = (int)Math.ceil(var26);
                                                                    } else {
                                                                        var29 = (int)Math.ceil(var24 + (double)var28);
                                                                    }

                                                                    String var30 = " [" + var29 + " HP] ";
                                                                    String var31 = FriendStorage.isFriend(var35.getName().getString()) ? TextFormatting.GREEN + "[Friend] " : "";
                                                                    ITextComponent var32 = ITextComponent.getTextComponentOrEmpty(var31 + var61 + var20 + var30);
                                                                    if ((Boolean)this.pokasat.getValueByName("Неймтаги").get()) {
                                                                        mc.fontRenderer.func_243246_a(var1.getMatrixStack(), var32, var53.x + var52 / 2.0F - var60 / 2.0F, var53.y - 7.0F, -1);
                                                                    }

                                                                    GL11.glPopMatrix();
                                                                    if ((Boolean)this.pokasat.getValueByName("Список эффектов").get()) {
                                                                        this.drawPotions(var1.getMatrixStack(), var36, var53.z + 2.0F, var53.y);
                                                                    }

                                                                    this.drawItems(var1.getMatrixStack(), var36, (int)(var53.x + var52 / 2.0F), (int)(var53.y - 20.0F));
                                                                } else if (var35 instanceof ItemEntity) {
                                                                    ItemEntity var41 = (ItemEntity)var35;
                                                                    if ((Boolean)this.pokasat.getValueByName("Предметы").get()) {
                                                                        Vector4f var42;
                                                                        if (!(Boolean)vulcanitems.get()) {
                                                                            var42 = (Vector4f)var33.getValue();
                                                                            var46 = var42.z - var42.x;
                                                                            var47 = (float)mc.fontRenderer.getStringPropertyWidth(var41.getItem().getDisplayName());
                                                                            GL11.glPushMatrix();
                                                                            this.glCenteredScale(var42.x + var46 / 2.0F - var47 / 2.0F, var42.y - 7.0F, var47, 10.0F, 0.5F);
                                                                            mc.fontRenderer.func_243246_a(var1.getMatrixStack(), var41.getItem().getDisplayName(), var42.x + var46 / 2.0F - var47 / 2.0F, var42.y - 7.0F, -1);
                                                                            GL11.glPopMatrix();
                                                                        } else {
                                                                            var42 = (Vector4f)var33.getValue();
                                                                            var46 = var42.z - var42.x;
                                                                            String var48 = var41.getItem().getDisplayName().getString();
                                                                            boolean var50 = this.containsKeyWord(var41.getItem());
                                                                            var13 = var50 ? (float)(mc.fontRenderer.getStringWidth(var48) * 2) : (float)mc.fontRenderer.getStringWidth(var48);
                                                                            GL11.glPushMatrix();
                                                                            var52 = var50 ? 2.0F : 1.0F;
                                                                            float var54 = var42.x + var46 / 2.0F - var13 * var52 / 4.0F;
                                                                            var56 = var42.y - 7.0F;
                                                                            this.glCenteredScale(var54, var56, var13, 10.0F, 0.5F);
                                                                            GL11.glScalef(var52, var52, var52);
                                                                            mc.fontRenderer.drawStringWithShadow(var1.getMatrixStack(), var48, var54 / var52, var56 / var52, var50 ? 16711680 : -1);
                                                                            if (var50) {
                                                                                long var57 = System.currentTimeMillis();
                                                                                long var19 = (Long)this.itemDropTimes.getOrDefault(var41, var57);
                                                                                if (!this.itemDropTimes.containsKey(var41)) {
                                                                                    this.itemDropTimes.put(var41, var19);
                                                                                }

                                                                                long var21 = var57 - var19;
                                                                                String var23;
                                                                                if (var21 < 3000L) {
                                                                                    var23 = 3L - var21 / 1000L + " сек";
                                                                                } else {
                                                                                    var23 = "Можно брать!";
                                                                                }

                                                                                mc.fontRenderer.drawStringWithShadow(var1.getMatrixStack(), var23, var54 / var52, var56 / var52 + 8.0F, var21 < 3000L ? 16711680 : '\uff00');
                                                                            }

                                                                            GL11.glPopMatrix();
                                                                        }
                                                                    }
                                                                }
                                                            }

                                                            return;
                                                        }
                                                    }

                                                    var33 = (Map.Entry)var4.next();
                                                    var34 = (Vector4f)var33.getValue();
                                                    var37 = var33.getKey();
                                                } while(!(var37 instanceof LivingEntity));

                                                var36 = (LivingEntity)var37;
                                                if ((Boolean)this.pokasat.getValueByName("Боксы").get()) {
                                                    if ((Boolean)this.newESP.get()) {
                                                        Style var38 = Expensive.getInstance().getStyleManager().getCurrentStyle();
                                                        int var9 = ColorUtils.rgba(0, 255, 0, 255);
                                                        int var44 = ColorUtils.rgba(0, 255, 0, 255);
                                                        if (FriendStorage.isFriend(var36.getName().getString())) {
                                                            DisplayUtils.renderBoxixImplF((double)var34.x - 0.5, (double)var34.y - 0.5, (double)var34.z + 0.5, (double)var34.w + 0.5, new Vector4i(var9, var9, var9, 255));
                                                        } else {
                                                            DisplayUtils.renderBoxixImpl((double)var34.x - 1.2, (double)var34.y - 1.2, (double)var34.z + 1.2, (double)var34.w + 1.2, new Vector4i(var44, var44, var44, 255));
                                                        }
                                                    } else {
                                                        DisplayUtils.drawBox((double)(var34.x - 0.5F), (double)(var34.y - 0.5F), (double)(var34.z + 0.5F), (double)(var34.w + 0.5F), 2.0, ColorUtils.rgba(0, 0, 0, 128));
                                                        DisplayUtils.drawBoxTest((double)var34.x, (double)var34.y, (double)var34.z, (double)var34.w, 1.0, FriendStorage.isFriend(var36.getName().getString()) ? var3 : var2);
                                                    }
                                                }

                                                var39 = 3.0F;
                                                var40 = 0.5F;
                                            } while(!(Boolean)this.pokasat.getValueByName("Полоску хп").get());

                                            String var45 = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
                                            DisplayUtils.drawRectBuilding((double)(var34.x - var39 - var40), (double)(var34.y - var40), (double)(var34.x - var39 + 1.0F + var40), (double)(var34.w + var40), ColorUtils.rgba(0, 0, 0, 128));
                                            DisplayUtils.drawRectBuilding((double)(var34.x - var39), (double)var34.y, (double)(var34.x - var39 + 1.0F), (double)var34.w, ColorUtils.rgba(0, 0, 0, 128));
                                            Score var11 = mc.world.getScoreboard().getOrCreateScore(var36.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
                                            float var49 = var36.getHealth();
                                            var13 = var36.getMaxHealth();
                                            if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (var45.contains("анархия") || var45.contains("гриферский"))) {
                                                var49 = (float)var11.getScorePoints();
                                                var13 = 20.0F;
                                            }

                                            if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("saturn") && var36 instanceof PlayerEntity) {
                                                var49 = (float)var11.getScorePoints();
                                                var13 = 20.0F;
                                            }

                                            DisplayUtils.drawMCVerticalBuilding((double)(var34.x - var39), (double)(var34.y + (var34.w - var34.y) * (1.0F - MathHelper.clamp(var49 / var13, 0.0F, 1.0F))), (double)(var34.x - var39 + 1.0F), (double)var34.w, FriendStorage.isFriend(var36.getName().getString()) ? var3.w : var2.w, FriendStorage.isFriend(var36.getName().getString()) ? var3.x : var2.x);
                                        }
                                    }

                                    var5 = (Entity)var4.next();
                                    var6 = var5.getDistance(mc.player);
                                } while(!this.isValid(var5));
                            } while(!(var5 instanceof PlayerEntity) && !(var5 instanceof ItemEntity));
                        } while(var5 == mc.player && mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON);
                    } while(var5 == mc.player);

                    var7 = (Float)this.distancetorender.get();
                    if (var7 == 90.0F) {
                        var7 = 2.14748365E9F;
                    }
                } while((Boolean)this.customdis.get() && var6 > var7);

                double var8 = MathUtil.interpolate(var5.getPosX(), var5.lastTickPosX, (double)var1.getPartialTicks());
                double var10 = MathUtil.interpolate(var5.getPosY(), var5.lastTickPosY, (double)var1.getPartialTicks());
                double var12 = MathUtil.interpolate(var5.getPosZ(), var5.lastTickPosZ, (double)var1.getPartialTicks());
                Vector3d var14 = new Vector3d(var5.getBoundingBox().maxX - var5.getBoundingBox().minX, var5.getBoundingBox().maxY - var5.getBoundingBox().minY, var5.getBoundingBox().maxZ - var5.getBoundingBox().minZ);
                AxisAlignedBB var15 = new AxisAlignedBB(var8 - var14.x / 2.0, var10, var12 - var14.z / 2.0, var8 + var14.x / 2.0, var10 + var14.y, var12 + var14.z / 2.0);
                Vector4f var16 = null;

                for(int var17 = 0; var17 < 8; ++var17) {
                    Vector2f var18 = ProjectionUtil.project(var17 % 2 == 0 ? var15.minX : var15.maxX, var17 / 2 % 2 == 0 ? var15.minY : var15.maxY, var17 / 4 % 2 == 0 ? var15.minZ : var15.maxZ);
                    if (var16 == null) {
                        var16 = new Vector4f(var18.x, var18.y, 1.0F, 1.0F);
                    } else {
                        var16.x = Math.min(var18.x, var16.x);
                        var16.y = Math.min(var18.y, var16.y);
                        var16.z = Math.max(var18.x, var16.z);
                        var16.w = Math.max(var18.y, var16.w);
                    }
                }

                this.positions.put(var5, var16);
            }
        }
    }

    private boolean containsKeyWord(ItemStack var1) {
        String var2 = var1.getDisplayName().getString().toLowerCase();
        boolean var3 = var2.contains("сфера") || var2.contains("отмычка") || var2.contains("дезориентация") || var2.contains("зелье");
        boolean var4 = var1.getTag() != null && var1.getTag().contains("don-item");
        return var3 || var4;
    }

    public boolean isInView(Entity var1) {
        if (mc.getRenderViewEntity() == null) {
            return false;
        } else {
            WorldRenderer.frustum.setCameraPosition(mc.getRenderManager().info.getProjectedView().x, mc.getRenderManager().info.getProjectedView().y, mc.getRenderManager().info.getProjectedView().z);
            return WorldRenderer.frustum.isBoundingBoxInFrustum(var1.getBoundingBox()) || var1.ignoreFrustumCheck;
        }
    }

    private void drawPotions(MatrixStack var1, LivingEntity var2, float var3, float var4) {
        for(Iterator var5 = var2.getActivePotionEffects().iterator(); var5.hasNext(); var4 += Fonts.sfMedium.getHeight(6.0F)) {
            EffectInstance var6 = (EffectInstance)var5.next();
            int var7 = var6.getAmplifier();
            String var8 = "";
            if (var7 >= 1 && var7 <= 9) {
                String var10000 = "enchantment.level." + (var7 + 1);
                var8 = " " + I18n.format(var10000, new Object[0]);
            }

            String var9 = I18n.format(var6.getEffectName(), new Object[0]) + var8 + " - " + EffectUtils.getPotionDurationString(var6, 1.0F);
            Fonts.sfMedium.drawText(var1, var9, var3, var4, -1, 6.0F, 0.05F);
        }

    }

    public boolean isFunTimeServer() {
        String var1 = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
        return mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (var1.contains("анархия") || var1.contains("гриферский"));
    }

    private void drawItems(MatrixStack var1, LivingEntity var2, int var3, int var4) {
        byte var5 = 8;
        byte var6 = 6;
        ArrayList var7 = new ArrayList();
        ItemStack var8 = var2.getHeldItemMainhand();
        if (!var8.isEmpty()) {
            var7.add(var8);
        }

        Iterator var9 = var2.getArmorInventoryList().iterator();

        while(var9.hasNext()) {
            ItemStack var10 = (ItemStack)var9.next();
            if (!var10.isEmpty()) {
                var7.add(var10);
            }
        }

        ItemStack var26 = var2.getHeldItemOffhand();
        if (!var26.isEmpty() && (var26.getItem() == Items.TOTEM_OF_UNDYING || var26.getItem() == Items.PLAYER_HEAD)) {
            var7.add(var26);
        }

        var3 = (int)((float)var3 - (float)(var7.size() * (var5 + var6)) / 2.0F);
        Iterator var27 = var7.iterator();

        while(true) {
            ItemStack var11;
            do {
                if (!var27.hasNext()) {
                    return;
                }

                var11 = (ItemStack)var27.next();
            } while(var11.isEmpty());

            String var14;
            if (var11.getItem() == Items.TOTEM_OF_UNDYING || var11.getItem() == Items.PLAYER_HEAD) {
                String var12 = var11.getDisplayName().getString();
                CompoundNBT var13 = var11.getTag();
                var14 = "";
                if (this.isFunTimeServer() && var13 != null && var13.contains("tslevel")) {
                    var14 = " " + var13.getInt("tslevel");
                }

                if ((Boolean)this.debug.get()) {
                    System.out.println("Имя: " + var12 + var14 + " : Тег: " + (var13 != null ? var13.toString() : "нет тега"));
                }
            }

            GL11.glPushMatrix();
            if ((Boolean)this.pokasat.getValueByName("Броня над игроком").get()) {
                this.glCenteredScale((float)var3, (float)var4, (float)var5 / 2.0F, (float)var5 / 2.0F, 0.5F);
                mc.getItemRenderer().renderItemAndEffectIntoGUI(var11, var3, var4);
                mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, var11, var3, var4, (String)null);
            }

            GL11.glPopMatrix();
            if ((Boolean)this.indicatia.get() && var11 == var26 && mc.player != null) {
                CompoundNBT var28 = var11.getTag();
                String var29 = "";
                if (this.isFunTimeServer()) {
                    if (var28 != null && var28.contains("don-item")) {
                        var29 = var28.getString("don-item");
                    } else {
                        if (var26.getItem() == Items.TOTEM_OF_UNDYING) {
                            return;
                        }

                        if (var26.getItem() == Items.PLAYER_HEAD) {
                            return;
                        }
                    }

                    var14 = var29.replaceFirst("tal-", "").replaceFirst("sphere-", "").toUpperCase();
                    if (var28 != null && var28.contains("tslevel")) {
                        var14 = var14 + " " + var28.getInt("tslevel");
                    }

                    if (!var14.isEmpty()) {
                        StringBuilder var30 = new StringBuilder();
                        if (var26.getItem() == Items.PLAYER_HEAD) {
                            var30.append("[");
                            var30.append(var14);
                            var30.append("]");
                        }

                        int var31 = var3 + var5 / 2 + 10;
                        Objects.requireNonNull(mc.fontRenderer);
                        int var32 = var4 - (int)(9.0F - 1.0F);
                        IFormattableTextComponent var34 = (new StringTextComponent(var30.toString())).mergeStyle(TextFormatting.RED);
                        mc.fontRenderer.func_243246_a(var1, var34, (float)var31, (float)var32, -1);
                    }
                } else {
                    var14 = var11.getDisplayName().getString();
                    var14 = var14.replaceAll("(?i)\\b(Талисман|Сфера)\\b\\s*", "");
                    var14 = var14.replaceAll("\\s{2,}", " ");
                    Pattern var15 = Pattern.compile("[^а-яА-ЯёЁ\\s]");
                    Matcher var16 = var15.matcher(var14);
                    var14 = var16.replaceAll("");
                    var14 = var14.trim();
                    String var17 = "";
                    if (var11.hasTag()) {
                        CompoundNBT var18 = var11.getTag();
                        if (var18.contains("display")) {
                            CompoundNBT var19 = var18.getCompound("display");
                            if (var19.contains("Lore")) {
                                ListNBT var20 = var19.getList("Lore", 8);
                                Iterator var21 = var20.iterator();

                                while(var21.hasNext()) {
                                    INBT var22 = (INBT)var21.next();
                                    String var23 = ((StringNBT)var22).getString();
                                    Pattern var24 = Pattern.compile("(\\d+/3|MAX)");
                                    Matcher var25 = var24.matcher(var23);
                                    if (var25.find()) {
                                        var17 = var25.group(1);
                                        break;
                                    }
                                }
                            }
                        }
                    }

                    StringBuilder var33 = new StringBuilder();
                    if (var26.getItem() == Items.PLAYER_HEAD || var26.getItem() == Items.TOTEM_OF_UNDYING) {
                        var33.append("[");
                        var33.append(var14);
                        if (var17 != null) {
                            var33.append(" ");
                        }

                        var33.append(var17);
                        var33.append("]");
                    }

                    int var35 = var3 + var5 / 2 + 10;
                    Objects.requireNonNull(mc.fontRenderer);
                    int var36 = var4 - (int)(9.0F - 1.0F);
                    IFormattableTextComponent var37 = (new StringTextComponent(var33.toString())).mergeStyle(TextFormatting.RED);
                    mc.fontRenderer.func_243246_a(var1, var37, (float)var35, (float)var36, -1);
                }
            }

            var3 += var5 + var6;
        }
    }

    private ITextComponent parseJsonObject(JsonObject var1) {
        StringBuilder var2 = new StringBuilder();
        if (var1.has("extra")) {
            JsonArray var3 = var1.getAsJsonArray("extra");
            Iterator var4 = var3.iterator();

            while(var4.hasNext()) {
                JsonElement var5 = (JsonElement)var4.next();
                JsonObject var6 = var5.getAsJsonObject();
                if (var6.has("text")) {
                    var2.append(var6.get("text").getAsString());
                }
            }
        }

        return (new StringTextComponent("[" + var2.toString().trim() + "]")).mergeStyle(TextFormatting.RED);
    }

    public boolean isValid(Entity var1) {
        return AntiBot.isBot(var1) ? false : this.isInView(var1);
    }

    public void glCenteredScale(float var1, float var2, float var3, float var4, float var5) {
        GL11.glTranslatef(var1 + var3 / 2.0F, var2 + var4 / 2.0F, 0.0F);
        GL11.glScalef(var5, var5, 1.0F);
        GL11.glTranslatef(-var1 - var3 / 2.0F, -var2 - var4 / 2.0F, 0.0F);
    }

    static {
        char[] var10001 = "\u0018DX!\r9l7dV(\u0016#n:_[<<峷炭姴嬎匩佥刀冏審屃櫲灛垘损奛偛岼斁毕傟慑塹旤廊嵚梹彴亭榮挞恲拄杩彻啅倕侸憫旗岆慞壒亶溼滅愢嬬噰偩嵔妞刭依晨囡洰氥呦樱欚妆奶冸尹揉匶咐楖噤忍泒史仐瀓儇檖戻擘滗暚擩匂暺弌汀攎夅妵南埰噖奜湍汶幯僦呏斡炎榯憹".toCharArray();
        int var10003 = var10001.length;
        char[] var10002 = var10001;
        int var1 = var10003;

        for(int var0 = 0; var1 > var0; ++var0) {
            char var10005 = var10002[var0];
            byte var10006;
            switch (var0 % 7) {
                case 0 -> var10006 = 91;
                case 1 -> var10006 = 43;
                case 2 -> var10006 = 52;
                case 3 -> var10006 = 78;
                case 4 -> var10006 = 99;
                case 5 -> var10006 = 80;
                default -> var10006 = 13;
            }

            var10002[var0] = (char)(var10005 ^ var10006);
        }

        String var5 = (new String(var10002)).intern();
        boolean var3 = true;
        ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶 = var5.toCharArray();
        vulcanitems = new BooleanSetting("Vulcan-Items", true);
        onlyground = new BooleanSetting("VTimer Air", true);
    }

    private static String 屣漚墳匇嶐侦无壄坰嫪宭滽榒壹吇洕嚩湻灜嶻昑抢忇溄濉垮嘬浽堍憭刏榕堚孺峊毅庾剹寈洛檫(int var0, int var1, String var2, int var3, int var4) {
        StringBuilder var5 = new StringBuilder();
        int var6 = 0;
        char[] var10;
        int var9 = (var10 = var2.toCharArray()).length;

        for(int var8 = 0; var8 < var9; ++var8) {
            char var7 = var10[var8];
            var5.append((char)(var7 ^ ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶[var6 % ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶.length] ^ var0 ^ var3 + var6 ^ var1 ^ var4));
            ++var6;
        }

        return var5.toString();
    }
}
[SPOILER="SS"][/SPOILER]
[ATTACH type="full"]285626[/ATTACH]
Жесть
 
Начинающий
Статус
Оффлайн
Регистрация
4 Май 2023
Сообщения
46
Реакции[?]
0
Поинты[?]
0
Код:
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.systems.RenderSystem;
import im.expensive.Expensive;
import im.expensive.command.friends.FriendStorage;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventDisplay.Type;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.impl.combat.AntiBot;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ColorSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.ui.styles.Style;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.math.Vector4i;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import net.minecraft.client.network.play.NetworkPlayerInfo;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.WorldRenderer;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.resources.I18n;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.INBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.nbt.StringNBT;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.EffectUtils;
import net.minecraft.potion.Effects;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector4f;
import net.minecraft.util.text.IFormattableTextComponent;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
import org.lwjgl.opengl.GL11;

@FunctionRegister(
    name = "ESP",
    type = Category.Render
)
public class ESP extends Function {
    private final BooleanSetting customdis = new BooleanSetting("Каст. дист", false);
    private final SliderSetting distancetorender = (new SliderSetting("Дистанция рендера", 30.0F, 3.0F, 90.0F, 0.1F)).setVisible(() -> {
        return (Boolean)this.customdis.get();
    });
    public ModeListSetting pokasat = new ModeListSetting("Отображать", new BooleanSetting[]{new BooleanSetting("Боксы", false), new BooleanSetting("Неймтаги", false), new BooleanSetting("Полоску хп", false), new BooleanSetting("Текст хп", false), new BooleanSetting("Зачарования", false), new BooleanSetting("Список эффектов", false), new BooleanSetting("Предметы", false), new BooleanSetting("Броня над игроком", false)});
    private final BooleanSetting newESP = new BooleanSetting("Новые Боксы", true);
    private final BooleanSetting indicatia = new BooleanSetting("Индикация", true);
    public static final BooleanSetting vulcanitems;
    public static final BooleanSetting onlyground;
    private final BooleanSetting debug = new BooleanSetting("debug", true);
    private final HashMap<Entity, Vector4f> positions = new HashMap();
    public ColorSetting color = new ColorSetting("Color", -1);
    private final Map<Entity, Long> itemDropTimes = new HashMap();
    static char[] ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶;

    public ESP() {
        this.toggle();
        this.addSettings(new Setting[]{this.customdis, this.distancetorender, this.pokasat, this.newESP, this.indicatia, vulcanitems, this.debug});
    }

    @Subscribe
    public void onDisplay(EventDisplay var1) {
        if (mc.world != null && var1.getType() == Type.PRE) {
            this.positions.clear();
            Vector4i var2 = new Vector4i(HUD.getColor(0, 1.0F), HUD.getColor(90, 1.0F), HUD.getColor(180, 1.0F), HUD.getColor(270, 1.0F));
            Vector4i var3 = new Vector4i(HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 0, 1.0F), HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 90, 1.0F), HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 180, 1.0F), HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 270, 1.0F));
            Iterator var4 = mc.world.getAllEntities().iterator();

            while(true) {
                Entity var5;
                float var6;
                float var7;
                do {
                    do {
                        do {
                            do {
                                do {
                                    if (!var4.hasNext()) {
                                        RenderSystem.enableBlend();
                                        RenderSystem.disableTexture();
                                        RenderSystem.defaultBlendFunc();
                                        RenderSystem.shadeModel(7425);
                                        buffer.begin(7, DefaultVertexFormats.POSITION_COLOR);
                                        var4 = this.positions.entrySet().iterator();

                                        while(true) {
                                            float var13;
                                            Vector4f var34;
                                            LivingEntity var36;
                                            float var39;
                                            float var40;
                                            do {
                                                Object var37;
                                                do {
                                                    Map.Entry var33;
                                                    if (!var4.hasNext()) {
                                                        Tessellator.getInstance().draw();
                                                        RenderSystem.shadeModel(7424);
                                                        RenderSystem.enableTexture();
                                                        RenderSystem.disableBlend();
                                                        var4 = this.positions.entrySet().iterator();

                                                        while(true) {
                                                            while(var4.hasNext()) {
                                                                var33 = (Map.Entry)var4.next();
                                                                Entity var35 = (Entity)var33.getKey();
                                                                float var46;
                                                                float var47;
                                                                float var52;
                                                                float var56;
                                                                if (var35 instanceof LivingEntity) {
                                                                    var36 = (LivingEntity)var35;
                                                                    Score var43 = mc.world.getScoreboard().getOrCreateScore(var36.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
                                                                    var46 = var36.getHealth();
                                                                    var47 = var36.getMaxHealth();
                                                                    String var51 = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
                                                                    if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (var51.contains("анархия") || var51.contains("гриферский"))) {
                                                                        var46 = (float)var43.getScorePoints();
                                                                        var47 = 20.0F;
                                                                    }

                                                                    Vector4f var53 = (Vector4f)var33.getValue();
                                                                    var52 = var53.z - var53.x;
                                                                    String var55 = (int)var46 + "HP";
                                                                    var56 = Fonts.consolas.getWidth(var55, 6.0F);
                                                                    float var58 = MathHelper.clamp(var46 / var47, 0.0F, 1.0F);
                                                                    float var59 = var53.y + (var53.w - var53.y) * (1.0F - var58);
                                                                    if ((Boolean)this.pokasat.getValueByName("Текст хп").get()) {
                                                                        Fonts.montserrat.drawText(var1.getMatrixStack(), var55, var53.x - var56 - 6.0F, var59, -1, 6.0F, 0.05F);
                                                                    }

                                                                    float var60 = (float)mc.fontRenderer.getStringWidth(var35.getDisplayName().getString());
                                                                    GL11.glPushMatrix();
                                                                    this.glCenteredScale(var53.x + var52 / 2.0F - var60 / 2.0F, var53.y - 7.0F, var60, 10.0F, 0.5F);
                                                                    String var20 = var35.getDisplayName().getString();
                                                                    boolean var22 = false;
                                                                    NetworkPlayerInfo var63 = mc.getConnection().getPlayerInfo(var35.getUniqueID());
                                                                    String var61;
                                                                    if (var63 != null) {
                                                                        int var62 = var63.getResponseTime();
                                                                        var61 = "[" + var62 + " ms] ";
                                                                    } else {
                                                                        var61 = "";
                                                                    }

                                                                    double var24 = (double)mc.player.getHealth();
                                                                    double var26 = (double)var43.getScorePoints();
                                                                    float var28 = mc.player.isPotionActive(Effects.ABSORPTION) ? mc.player.getAbsorptionAmount() : 0.0F;
                                                                    int var29;
                                                                    if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime")) {
                                                                        var29 = (int)Math.ceil(var26);
                                                                    } else {
                                                                        var29 = (int)Math.ceil(var24 + (double)var28);
                                                                    }

                                                                    String var30 = " [" + var29 + " HP] ";
                                                                    String var31 = FriendStorage.isFriend(var35.getName().getString()) ? TextFormatting.GREEN + "[Friend] " : "";
                                                                    ITextComponent var32 = ITextComponent.getTextComponentOrEmpty(var31 + var61 + var20 + var30);
                                                                    if ((Boolean)this.pokasat.getValueByName("Неймтаги").get()) {
                                                                        mc.fontRenderer.func_243246_a(var1.getMatrixStack(), var32, var53.x + var52 / 2.0F - var60 / 2.0F, var53.y - 7.0F, -1);
                                                                    }

                                                                    GL11.glPopMatrix();
                                                                    if ((Boolean)this.pokasat.getValueByName("Список эффектов").get()) {
                                                                        this.drawPotions(var1.getMatrixStack(), var36, var53.z + 2.0F, var53.y);
                                                                    }

                                                                    this.drawItems(var1.getMatrixStack(), var36, (int)(var53.x + var52 / 2.0F), (int)(var53.y - 20.0F));
                                                                } else if (var35 instanceof ItemEntity) {
                                                                    ItemEntity var41 = (ItemEntity)var35;
                                                                    if ((Boolean)this.pokasat.getValueByName("Предметы").get()) {
                                                                        Vector4f var42;
                                                                        if (!(Boolean)vulcanitems.get()) {
                                                                            var42 = (Vector4f)var33.getValue();
                                                                            var46 = var42.z - var42.x;
                                                                            var47 = (float)mc.fontRenderer.getStringPropertyWidth(var41.getItem().getDisplayName());
                                                                            GL11.glPushMatrix();
                                                                            this.glCenteredScale(var42.x + var46 / 2.0F - var47 / 2.0F, var42.y - 7.0F, var47, 10.0F, 0.5F);
                                                                            mc.fontRenderer.func_243246_a(var1.getMatrixStack(), var41.getItem().getDisplayName(), var42.x + var46 / 2.0F - var47 / 2.0F, var42.y - 7.0F, -1);
                                                                            GL11.glPopMatrix();
                                                                        } else {
                                                                            var42 = (Vector4f)var33.getValue();
                                                                            var46 = var42.z - var42.x;
                                                                            String var48 = var41.getItem().getDisplayName().getString();
                                                                            boolean var50 = this.containsKeyWord(var41.getItem());
                                                                            var13 = var50 ? (float)(mc.fontRenderer.getStringWidth(var48) * 2) : (float)mc.fontRenderer.getStringWidth(var48);
                                                                            GL11.glPushMatrix();
                                                                            var52 = var50 ? 2.0F : 1.0F;
                                                                            float var54 = var42.x + var46 / 2.0F - var13 * var52 / 4.0F;
                                                                            var56 = var42.y - 7.0F;
                                                                            this.glCenteredScale(var54, var56, var13, 10.0F, 0.5F);
                                                                            GL11.glScalef(var52, var52, var52);
                                                                            mc.fontRenderer.drawStringWithShadow(var1.getMatrixStack(), var48, var54 / var52, var56 / var52, var50 ? 16711680 : -1);
                                                                            if (var50) {
                                                                                long var57 = System.currentTimeMillis();
                                                                                long var19 = (Long)this.itemDropTimes.getOrDefault(var41, var57);
                                                                                if (!this.itemDropTimes.containsKey(var41)) {
                                                                                    this.itemDropTimes.put(var41, var19);
                                                                                }

                                                                                long var21 = var57 - var19;
                                                                                String var23;
                                                                                if (var21 < 3000L) {
                                                                                    var23 = 3L - var21 / 1000L + " сек";
                                                                                } else {
                                                                                    var23 = "Можно брать!";
                                                                                }

                                                                                mc.fontRenderer.drawStringWithShadow(var1.getMatrixStack(), var23, var54 / var52, var56 / var52 + 8.0F, var21 < 3000L ? 16711680 : '\uff00');
                                                                            }

                                                                            GL11.glPopMatrix();
                                                                        }
                                                                    }
                                                                }
                                                            }

                                                            return;
                                                        }
                                                    }

                                                    var33 = (Map.Entry)var4.next();
                                                    var34 = (Vector4f)var33.getValue();
                                                    var37 = var33.getKey();
                                                } while(!(var37 instanceof LivingEntity));

                                                var36 = (LivingEntity)var37;
                                                if ((Boolean)this.pokasat.getValueByName("Боксы").get()) {
                                                    if ((Boolean)this.newESP.get()) {
                                                        Style var38 = Expensive.getInstance().getStyleManager().getCurrentStyle();
                                                        int var9 = ColorUtils.rgba(0, 255, 0, 255);
                                                        int var44 = ColorUtils.rgba(0, 255, 0, 255);
                                                        if (FriendStorage.isFriend(var36.getName().getString())) {
                                                            DisplayUtils.renderBoxixImplF((double)var34.x - 0.5, (double)var34.y - 0.5, (double)var34.z + 0.5, (double)var34.w + 0.5, new Vector4i(var9, var9, var9, 255));
                                                        } else {
                                                            DisplayUtils.renderBoxixImpl((double)var34.x - 1.2, (double)var34.y - 1.2, (double)var34.z + 1.2, (double)var34.w + 1.2, new Vector4i(var44, var44, var44, 255));
                                                        }
                                                    } else {
                                                        DisplayUtils.drawBox((double)(var34.x - 0.5F), (double)(var34.y - 0.5F), (double)(var34.z + 0.5F), (double)(var34.w + 0.5F), 2.0, ColorUtils.rgba(0, 0, 0, 128));
                                                        DisplayUtils.drawBoxTest((double)var34.x, (double)var34.y, (double)var34.z, (double)var34.w, 1.0, FriendStorage.isFriend(var36.getName().getString()) ? var3 : var2);
                                                    }
                                                }

                                                var39 = 3.0F;
                                                var40 = 0.5F;
                                            } while(!(Boolean)this.pokasat.getValueByName("Полоску хп").get());

                                            String var45 = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
                                            DisplayUtils.drawRectBuilding((double)(var34.x - var39 - var40), (double)(var34.y - var40), (double)(var34.x - var39 + 1.0F + var40), (double)(var34.w + var40), ColorUtils.rgba(0, 0, 0, 128));
                                            DisplayUtils.drawRectBuilding((double)(var34.x - var39), (double)var34.y, (double)(var34.x - var39 + 1.0F), (double)var34.w, ColorUtils.rgba(0, 0, 0, 128));
                                            Score var11 = mc.world.getScoreboard().getOrCreateScore(var36.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
                                            float var49 = var36.getHealth();
                                            var13 = var36.getMaxHealth();
                                            if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (var45.contains("анархия") || var45.contains("гриферский"))) {
                                                var49 = (float)var11.getScorePoints();
                                                var13 = 20.0F;
                                            }

                                            if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("saturn") && var36 instanceof PlayerEntity) {
                                                var49 = (float)var11.getScorePoints();
                                                var13 = 20.0F;
                                            }

                                            DisplayUtils.drawMCVerticalBuilding((double)(var34.x - var39), (double)(var34.y + (var34.w - var34.y) * (1.0F - MathHelper.clamp(var49 / var13, 0.0F, 1.0F))), (double)(var34.x - var39 + 1.0F), (double)var34.w, FriendStorage.isFriend(var36.getName().getString()) ? var3.w : var2.w, FriendStorage.isFriend(var36.getName().getString()) ? var3.x : var2.x);
                                        }
                                    }

                                    var5 = (Entity)var4.next();
                                    var6 = var5.getDistance(mc.player);
                                } while(!this.isValid(var5));
                            } while(!(var5 instanceof PlayerEntity) && !(var5 instanceof ItemEntity));
                        } while(var5 == mc.player && mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON);
                    } while(var5 == mc.player);

                    var7 = (Float)this.distancetorender.get();
                    if (var7 == 90.0F) {
                        var7 = 2.14748365E9F;
                    }
                } while((Boolean)this.customdis.get() && var6 > var7);

                double var8 = MathUtil.interpolate(var5.getPosX(), var5.lastTickPosX, (double)var1.getPartialTicks());
                double var10 = MathUtil.interpolate(var5.getPosY(), var5.lastTickPosY, (double)var1.getPartialTicks());
                double var12 = MathUtil.interpolate(var5.getPosZ(), var5.lastTickPosZ, (double)var1.getPartialTicks());
                Vector3d var14 = new Vector3d(var5.getBoundingBox().maxX - var5.getBoundingBox().minX, var5.getBoundingBox().maxY - var5.getBoundingBox().minY, var5.getBoundingBox().maxZ - var5.getBoundingBox().minZ);
                AxisAlignedBB var15 = new AxisAlignedBB(var8 - var14.x / 2.0, var10, var12 - var14.z / 2.0, var8 + var14.x / 2.0, var10 + var14.y, var12 + var14.z / 2.0);
                Vector4f var16 = null;

                for(int var17 = 0; var17 < 8; ++var17) {
                    Vector2f var18 = ProjectionUtil.project(var17 % 2 == 0 ? var15.minX : var15.maxX, var17 / 2 % 2 == 0 ? var15.minY : var15.maxY, var17 / 4 % 2 == 0 ? var15.minZ : var15.maxZ);
                    if (var16 == null) {
                        var16 = new Vector4f(var18.x, var18.y, 1.0F, 1.0F);
                    } else {
                        var16.x = Math.min(var18.x, var16.x);
                        var16.y = Math.min(var18.y, var16.y);
                        var16.z = Math.max(var18.x, var16.z);
                        var16.w = Math.max(var18.y, var16.w);
                    }
                }

                this.positions.put(var5, var16);
            }
        }
    }

    private boolean containsKeyWord(ItemStack var1) {
        String var2 = var1.getDisplayName().getString().toLowerCase();
        boolean var3 = var2.contains("сфера") || var2.contains("отмычка") || var2.contains("дезориентация") || var2.contains("зелье");
        boolean var4 = var1.getTag() != null && var1.getTag().contains("don-item");
        return var3 || var4;
    }

    public boolean isInView(Entity var1) {
        if (mc.getRenderViewEntity() == null) {
            return false;
        } else {
            WorldRenderer.frustum.setCameraPosition(mc.getRenderManager().info.getProjectedView().x, mc.getRenderManager().info.getProjectedView().y, mc.getRenderManager().info.getProjectedView().z);
            return WorldRenderer.frustum.isBoundingBoxInFrustum(var1.getBoundingBox()) || var1.ignoreFrustumCheck;
        }
    }

    private void drawPotions(MatrixStack var1, LivingEntity var2, float var3, float var4) {
        for(Iterator var5 = var2.getActivePotionEffects().iterator(); var5.hasNext(); var4 += Fonts.sfMedium.getHeight(6.0F)) {
            EffectInstance var6 = (EffectInstance)var5.next();
            int var7 = var6.getAmplifier();
            String var8 = "";
            if (var7 >= 1 && var7 <= 9) {
                String var10000 = "enchantment.level." + (var7 + 1);
                var8 = " " + I18n.format(var10000, new Object[0]);
            }

            String var9 = I18n.format(var6.getEffectName(), new Object[0]) + var8 + " - " + EffectUtils.getPotionDurationString(var6, 1.0F);
            Fonts.sfMedium.drawText(var1, var9, var3, var4, -1, 6.0F, 0.05F);
        }

    }

    public boolean isFunTimeServer() {
        String var1 = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
        return mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (var1.contains("анархия") || var1.contains("гриферский"));
    }

    private void drawItems(MatrixStack var1, LivingEntity var2, int var3, int var4) {
        byte var5 = 8;
        byte var6 = 6;
        ArrayList var7 = new ArrayList();
        ItemStack var8 = var2.getHeldItemMainhand();
        if (!var8.isEmpty()) {
            var7.add(var8);
        }

        Iterator var9 = var2.getArmorInventoryList().iterator();

        while(var9.hasNext()) {
            ItemStack var10 = (ItemStack)var9.next();
            if (!var10.isEmpty()) {
                var7.add(var10);
            }
        }

        ItemStack var26 = var2.getHeldItemOffhand();
        if (!var26.isEmpty() && (var26.getItem() == Items.TOTEM_OF_UNDYING || var26.getItem() == Items.PLAYER_HEAD)) {
            var7.add(var26);
        }

        var3 = (int)((float)var3 - (float)(var7.size() * (var5 + var6)) / 2.0F);
        Iterator var27 = var7.iterator();

        while(true) {
            ItemStack var11;
            do {
                if (!var27.hasNext()) {
                    return;
                }

                var11 = (ItemStack)var27.next();
            } while(var11.isEmpty());

            String var14;
            if (var11.getItem() == Items.TOTEM_OF_UNDYING || var11.getItem() == Items.PLAYER_HEAD) {
                String var12 = var11.getDisplayName().getString();
                CompoundNBT var13 = var11.getTag();
                var14 = "";
                if (this.isFunTimeServer() && var13 != null && var13.contains("tslevel")) {
                    var14 = " " + var13.getInt("tslevel");
                }

                if ((Boolean)this.debug.get()) {
                    System.out.println("Имя: " + var12 + var14 + " : Тег: " + (var13 != null ? var13.toString() : "нет тега"));
                }
            }

            GL11.glPushMatrix();
            if ((Boolean)this.pokasat.getValueByName("Броня над игроком").get()) {
                this.glCenteredScale((float)var3, (float)var4, (float)var5 / 2.0F, (float)var5 / 2.0F, 0.5F);
                mc.getItemRenderer().renderItemAndEffectIntoGUI(var11, var3, var4);
                mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, var11, var3, var4, (String)null);
            }

            GL11.glPopMatrix();
            if ((Boolean)this.indicatia.get() && var11 == var26 && mc.player != null) {
                CompoundNBT var28 = var11.getTag();
                String var29 = "";
                if (this.isFunTimeServer()) {
                    if (var28 != null && var28.contains("don-item")) {
                        var29 = var28.getString("don-item");
                    } else {
                        if (var26.getItem() == Items.TOTEM_OF_UNDYING) {
                            return;
                        }

                        if (var26.getItem() == Items.PLAYER_HEAD) {
                            return;
                        }
                    }

                    var14 = var29.replaceFirst("tal-", "").replaceFirst("sphere-", "").toUpperCase();
                    if (var28 != null && var28.contains("tslevel")) {
                        var14 = var14 + " " + var28.getInt("tslevel");
                    }

                    if (!var14.isEmpty()) {
                        StringBuilder var30 = new StringBuilder();
                        if (var26.getItem() == Items.PLAYER_HEAD) {
                            var30.append("[");
                            var30.append(var14);
                            var30.append("]");
                        }

                        int var31 = var3 + var5 / 2 + 10;
                        Objects.requireNonNull(mc.fontRenderer);
                        int var32 = var4 - (int)(9.0F - 1.0F);
                        IFormattableTextComponent var34 = (new StringTextComponent(var30.toString())).mergeStyle(TextFormatting.RED);
                        mc.fontRenderer.func_243246_a(var1, var34, (float)var31, (float)var32, -1);
                    }
                } else {
                    var14 = var11.getDisplayName().getString();
                    var14 = var14.replaceAll("(?i)\\b(Талисман|Сфера)\\b\\s*", "");
                    var14 = var14.replaceAll("\\s{2,}", " ");
                    Pattern var15 = Pattern.compile("[^а-яА-ЯёЁ\\s]");
                    Matcher var16 = var15.matcher(var14);
                    var14 = var16.replaceAll("");
                    var14 = var14.trim();
                    String var17 = "";
                    if (var11.hasTag()) {
                        CompoundNBT var18 = var11.getTag();
                        if (var18.contains("display")) {
                            CompoundNBT var19 = var18.getCompound("display");
                            if (var19.contains("Lore")) {
                                ListNBT var20 = var19.getList("Lore", 8);
                                Iterator var21 = var20.iterator();

                                while(var21.hasNext()) {
                                    INBT var22 = (INBT)var21.next();
                                    String var23 = ((StringNBT)var22).getString();
                                    Pattern var24 = Pattern.compile("(\\d+/3|MAX)");
                                    Matcher var25 = var24.matcher(var23);
                                    if (var25.find()) {
                                        var17 = var25.group(1);
                                        break;
                                    }
                                }
                            }
                        }
                    }

                    StringBuilder var33 = new StringBuilder();
                    if (var26.getItem() == Items.PLAYER_HEAD || var26.getItem() == Items.TOTEM_OF_UNDYING) {
                        var33.append("[");
                        var33.append(var14);
                        if (var17 != null) {
                            var33.append(" ");
                        }

                        var33.append(var17);
                        var33.append("]");
                    }

                    int var35 = var3 + var5 / 2 + 10;
                    Objects.requireNonNull(mc.fontRenderer);
                    int var36 = var4 - (int)(9.0F - 1.0F);
                    IFormattableTextComponent var37 = (new StringTextComponent(var33.toString())).mergeStyle(TextFormatting.RED);
                    mc.fontRenderer.func_243246_a(var1, var37, (float)var35, (float)var36, -1);
                }
            }

            var3 += var5 + var6;
        }
    }

    private ITextComponent parseJsonObject(JsonObject var1) {
        StringBuilder var2 = new StringBuilder();
        if (var1.has("extra")) {
            JsonArray var3 = var1.getAsJsonArray("extra");
            Iterator var4 = var3.iterator();

            while(var4.hasNext()) {
                JsonElement var5 = (JsonElement)var4.next();
                JsonObject var6 = var5.getAsJsonObject();
                if (var6.has("text")) {
                    var2.append(var6.get("text").getAsString());
                }
            }
        }

        return (new StringTextComponent("[" + var2.toString().trim() + "]")).mergeStyle(TextFormatting.RED);
    }

    public boolean isValid(Entity var1) {
        return AntiBot.isBot(var1) ? false : this.isInView(var1);
    }

    public void glCenteredScale(float var1, float var2, float var3, float var4, float var5) {
        GL11.glTranslatef(var1 + var3 / 2.0F, var2 + var4 / 2.0F, 0.0F);
        GL11.glScalef(var5, var5, 1.0F);
        GL11.glTranslatef(-var1 - var3 / 2.0F, -var2 - var4 / 2.0F, 0.0F);
    }

    static {
        char[] var10001 = "\u0018DX!\r9l7dV(\u0016#n:_[<<峷炭姴嬎匩佥刀冏審屃櫲灛垘损奛偛岼斁毕傟慑塹旤廊嵚梹彴亭榮挞恲拄杩彻啅倕侸憫旗岆慞壒亶溼滅愢嬬噰偩嵔妞刭依晨囡洰氥呦樱欚妆奶冸尹揉匶咐楖噤忍泒史仐瀓儇檖戻擘滗暚擩匂暺弌汀攎夅妵南埰噖奜湍汶幯僦呏斡炎榯憹".toCharArray();
        int var10003 = var10001.length;
        char[] var10002 = var10001;
        int var1 = var10003;

        for(int var0 = 0; var1 > var0; ++var0) {
            char var10005 = var10002[var0];
            byte var10006;
            switch (var0 % 7) {
                case 0 -> var10006 = 91;
                case 1 -> var10006 = 43;
                case 2 -> var10006 = 52;
                case 3 -> var10006 = 78;
                case 4 -> var10006 = 99;
                case 5 -> var10006 = 80;
                default -> var10006 = 13;
            }

            var10002[var0] = (char)(var10005 ^ var10006);
        }

        String var5 = (new String(var10002)).intern();
        boolean var3 = true;
        ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶 = var5.toCharArray();
        vulcanitems = new BooleanSetting("Vulcan-Items", true);
        onlyground = new BooleanSetting("VTimer Air", true);
    }

    private static String 屣漚墳匇嶐侦无壄坰嫪宭滽榒壹吇洕嚩湻灜嶻昑抢忇溄濉垮嘬浽堍憭刏榕堚孺峊毅庾剹寈洛檫(int var0, int var1, String var2, int var3, int var4) {
        StringBuilder var5 = new StringBuilder();
        int var6 = 0;
        char[] var10;
        int var9 = (var10 = var2.toCharArray()).length;

        for(int var8 = 0; var8 < var9; ++var8) {
            char var7 = var10[var8];
            var5.append((char)(var7 ^ ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶[var6 % ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶.length] ^ var0 ^ var3 + var6 ^ var1 ^ var4));
            ++var6;
        }

        return var5.toString();
    }
}
[SPOILER="SS"][/SPOILER]
[ATTACH type="full"]285626[/ATTACH]
1726493711769.pngуже пастят в свой хуитка клиент
 
Начинающий
Статус
Оффлайн
Регистрация
28 Мар 2024
Сообщения
248
Реакции[?]
0
Поинты[?]
0
Посмотреть вложение 285824уже пастят в свой хуитка клиент
AXAXAX,churka u mena etot kod eshe s 10 sentebra
Код:
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.systems.RenderSystem;
import im.expensive.Expensive;
import im.expensive.command.friends.FriendStorage;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventDisplay.Type;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.impl.combat.AntiBot;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ColorSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.ui.styles.Style;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.math.Vector4i;
import im.expensive.utils.projections.ProjectionUtil;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import net.minecraft.client.network.play.NetworkPlayerInfo;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.WorldRenderer;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.resources.I18n;
import net.minecraft.client.settings.PointOfView;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.INBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.nbt.StringNBT;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.EffectUtils;
import net.minecraft.potion.Effects;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector4f;
import net.minecraft.util.text.IFormattableTextComponent;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
import org.lwjgl.opengl.GL11;

@FunctionRegister(
    name = "ESP",
    type = Category.Render
)
public class ESP extends Function {
    private final BooleanSetting customdis = new BooleanSetting("Каст. дист", false);
    private final SliderSetting distancetorender = (new SliderSetting("Дистанция рендера", 30.0F, 3.0F, 90.0F, 0.1F)).setVisible(() -> {
        return (Boolean)this.customdis.get();
    });
    public ModeListSetting pokasat = new ModeListSetting("Отображать", new BooleanSetting[]{new BooleanSetting("Боксы", false), new BooleanSetting("Неймтаги", false), new BooleanSetting("Полоску хп", false), new BooleanSetting("Текст хп", false), new BooleanSetting("Зачарования", false), new BooleanSetting("Список эффектов", false), new BooleanSetting("Предметы", false), new BooleanSetting("Броня над игроком", false)});
    private final BooleanSetting newESP = new BooleanSetting("Новые Боксы", true);
    private final BooleanSetting indicatia = new BooleanSetting("Индикация", true);
    public static final BooleanSetting vulcanitems;
    public static final BooleanSetting onlyground;
    private final BooleanSetting debug = new BooleanSetting("debug", true);
    private final HashMap<Entity, Vector4f> positions = new HashMap();
    public ColorSetting color = new ColorSetting("Color", -1);
    private final Map<Entity, Long> itemDropTimes = new HashMap();
    static char[] ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶;

    public ESP() {
        this.toggle();
        this.addSettings(new Setting[]{this.customdis, this.distancetorender, this.pokasat, this.newESP, this.indicatia, vulcanitems, this.debug});
    }

    @Subscribe
    public void onDisplay(EventDisplay var1) {
        if (mc.world != null && var1.getType() == Type.PRE) {
            this.positions.clear();
            Vector4i var2 = new Vector4i(HUD.getColor(0, 1.0F), HUD.getColor(90, 1.0F), HUD.getColor(180, 1.0F), HUD.getColor(270, 1.0F));
            Vector4i var3 = new Vector4i(HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 0, 1.0F), HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 90, 1.0F), HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 180, 1.0F), HUD.getColor(ColorUtils.rgb(144, 238, 144), ColorUtils.rgb(0, 139, 0), 270, 1.0F));
            Iterator var4 = mc.world.getAllEntities().iterator();

            while(true) {
                Entity var5;
                float var6;
                float var7;
                do {
                    do {
                        do {
                            do {
                                do {
                                    if (!var4.hasNext()) {
                                        RenderSystem.enableBlend();
                                        RenderSystem.disableTexture();
                                        RenderSystem.defaultBlendFunc();
                                        RenderSystem.shadeModel(7425);
                                        buffer.begin(7, DefaultVertexFormats.POSITION_COLOR);
                                        var4 = this.positions.entrySet().iterator();

                                        while(true) {
                                            float var13;
                                            Vector4f var34;
                                            LivingEntity var36;
                                            float var39;
                                            float var40;
                                            do {
                                                Object var37;
                                                do {
                                                    Map.Entry var33;
                                                    if (!var4.hasNext()) {
                                                        Tessellator.getInstance().draw();
                                                        RenderSystem.shadeModel(7424);
                                                        RenderSystem.enableTexture();
                                                        RenderSystem.disableBlend();
                                                        var4 = this.positions.entrySet().iterator();

                                                        while(true) {
                                                            while(var4.hasNext()) {
                                                                var33 = (Map.Entry)var4.next();
                                                                Entity var35 = (Entity)var33.getKey();
                                                                float var46;
                                                                float var47;
                                                                float var52;
                                                                float var56;
                                                                if (var35 instanceof LivingEntity) {
                                                                    var36 = (LivingEntity)var35;
                                                                    Score var43 = mc.world.getScoreboard().getOrCreateScore(var36.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
                                                                    var46 = var36.getHealth();
                                                                    var47 = var36.getMaxHealth();
                                                                    String var51 = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
                                                                    if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (var51.contains("анархия") || var51.contains("гриферский"))) {
                                                                        var46 = (float)var43.getScorePoints();
                                                                        var47 = 20.0F;
                                                                    }

                                                                    Vector4f var53 = (Vector4f)var33.getValue();
                                                                    var52 = var53.z - var53.x;
                                                                    String var55 = (int)var46 + "HP";
                                                                    var56 = Fonts.consolas.getWidth(var55, 6.0F);
                                                                    float var58 = MathHelper.clamp(var46 / var47, 0.0F, 1.0F);
                                                                    float var59 = var53.y + (var53.w - var53.y) * (1.0F - var58);
                                                                    if ((Boolean)this.pokasat.getValueByName("Текст хп").get()) {
                                                                        Fonts.montserrat.drawText(var1.getMatrixStack(), var55, var53.x - var56 - 6.0F, var59, -1, 6.0F, 0.05F);
                                                                    }

                                                                    float var60 = (float)mc.fontRenderer.getStringWidth(var35.getDisplayName().getString());
                                                                    GL11.glPushMatrix();
                                                                    this.glCenteredScale(var53.x + var52 / 2.0F - var60 / 2.0F, var53.y - 7.0F, var60, 10.0F, 0.5F);
                                                                    String var20 = var35.getDisplayName().getString();
                                                                    boolean var22 = false;
                                                                    NetworkPlayerInfo var63 = mc.getConnection().getPlayerInfo(var35.getUniqueID());
                                                                    String var61;
                                                                    if (var63 != null) {
                                                                        int var62 = var63.getResponseTime();
                                                                        var61 = "[" + var62 + " ms] ";
                                                                    } else {
                                                                        var61 = "";
                                                                    }

                                                                    double var24 = (double)mc.player.getHealth();
                                                                    double var26 = (double)var43.getScorePoints();
                                                                    float var28 = mc.player.isPotionActive(Effects.ABSORPTION) ? mc.player.getAbsorptionAmount() : 0.0F;
                                                                    int var29;
                                                                    if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime")) {
                                                                        var29 = (int)Math.ceil(var26);
                                                                    } else {
                                                                        var29 = (int)Math.ceil(var24 + (double)var28);
                                                                    }

                                                                    String var30 = " [" + var29 + " HP] ";
                                                                    String var31 = FriendStorage.isFriend(var35.getName().getString()) ? TextFormatting.GREEN + "[Friend] " : "";
                                                                    ITextComponent var32 = ITextComponent.getTextComponentOrEmpty(var31 + var61 + var20 + var30);
                                                                    if ((Boolean)this.pokasat.getValueByName("Неймтаги").get()) {
                                                                        mc.fontRenderer.func_243246_a(var1.getMatrixStack(), var32, var53.x + var52 / 2.0F - var60 / 2.0F, var53.y - 7.0F, -1);
                                                                    }

                                                                    GL11.glPopMatrix();
                                                                    if ((Boolean)this.pokasat.getValueByName("Список эффектов").get()) {
                                                                        this.drawPotions(var1.getMatrixStack(), var36, var53.z + 2.0F, var53.y);
                                                                    }

                                                                    this.drawItems(var1.getMatrixStack(), var36, (int)(var53.x + var52 / 2.0F), (int)(var53.y - 20.0F));
                                                                } else if (var35 instanceof ItemEntity) {
                                                                    ItemEntity var41 = (ItemEntity)var35;
                                                                    if ((Boolean)this.pokasat.getValueByName("Предметы").get()) {
                                                                        Vector4f var42;
                                                                        if (!(Boolean)vulcanitems.get()) {
                                                                            var42 = (Vector4f)var33.getValue();
                                                                            var46 = var42.z - var42.x;
                                                                            var47 = (float)mc.fontRenderer.getStringPropertyWidth(var41.getItem().getDisplayName());
                                                                            GL11.glPushMatrix();
                                                                            this.glCenteredScale(var42.x + var46 / 2.0F - var47 / 2.0F, var42.y - 7.0F, var47, 10.0F, 0.5F);
                                                                            mc.fontRenderer.func_243246_a(var1.getMatrixStack(), var41.getItem().getDisplayName(), var42.x + var46 / 2.0F - var47 / 2.0F, var42.y - 7.0F, -1);
                                                                            GL11.glPopMatrix();
                                                                        } else {
                                                                            var42 = (Vector4f)var33.getValue();
                                                                            var46 = var42.z - var42.x;
                                                                            String var48 = var41.getItem().getDisplayName().getString();
                                                                            boolean var50 = this.containsKeyWord(var41.getItem());
                                                                            var13 = var50 ? (float)(mc.fontRenderer.getStringWidth(var48) * 2) : (float)mc.fontRenderer.getStringWidth(var48);
                                                                            GL11.glPushMatrix();
                                                                            var52 = var50 ? 2.0F : 1.0F;
                                                                            float var54 = var42.x + var46 / 2.0F - var13 * var52 / 4.0F;
                                                                            var56 = var42.y - 7.0F;
                                                                            this.glCenteredScale(var54, var56, var13, 10.0F, 0.5F);
                                                                            GL11.glScalef(var52, var52, var52);
                                                                            mc.fontRenderer.drawStringWithShadow(var1.getMatrixStack(), var48, var54 / var52, var56 / var52, var50 ? 16711680 : -1);
                                                                            if (var50) {
                                                                                long var57 = System.currentTimeMillis();
                                                                                long var19 = (Long)this.itemDropTimes.getOrDefault(var41, var57);
                                                                                if (!this.itemDropTimes.containsKey(var41)) {
                                                                                    this.itemDropTimes.put(var41, var19);
                                                                                }

                                                                                long var21 = var57 - var19;
                                                                                String var23;
                                                                                if (var21 < 3000L) {
                                                                                    var23 = 3L - var21 / 1000L + " сек";
                                                                                } else {
                                                                                    var23 = "Можно брать!";
                                                                                }

                                                                                mc.fontRenderer.drawStringWithShadow(var1.getMatrixStack(), var23, var54 / var52, var56 / var52 + 8.0F, var21 < 3000L ? 16711680 : '\uff00');
                                                                            }

                                                                            GL11.glPopMatrix();
                                                                        }
                                                                    }
                                                                }
                                                            }

                                                            return;
                                                        }
                                                    }

                                                    var33 = (Map.Entry)var4.next();
                                                    var34 = (Vector4f)var33.getValue();
                                                    var37 = var33.getKey();
                                                } while(!(var37 instanceof LivingEntity));

                                                var36 = (LivingEntity)var37;
                                                if ((Boolean)this.pokasat.getValueByName("Боксы").get()) {
                                                    if ((Boolean)this.newESP.get()) {
                                                        Style var38 = Expensive.getInstance().getStyleManager().getCurrentStyle();
                                                        int var9 = ColorUtils.rgba(0, 255, 0, 255);
                                                        int var44 = ColorUtils.rgba(0, 255, 0, 255);
                                                        if (FriendStorage.isFriend(var36.getName().getString())) {
                                                            DisplayUtils.renderBoxixImplF((double)var34.x - 0.5, (double)var34.y - 0.5, (double)var34.z + 0.5, (double)var34.w + 0.5, new Vector4i(var9, var9, var9, 255));
                                                        } else {
                                                            DisplayUtils.renderBoxixImpl((double)var34.x - 1.2, (double)var34.y - 1.2, (double)var34.z + 1.2, (double)var34.w + 1.2, new Vector4i(var44, var44, var44, 255));
                                                        }
                                                    } else {
                                                        DisplayUtils.drawBox((double)(var34.x - 0.5F), (double)(var34.y - 0.5F), (double)(var34.z + 0.5F), (double)(var34.w + 0.5F), 2.0, ColorUtils.rgba(0, 0, 0, 128));
                                                        DisplayUtils.drawBoxTest((double)var34.x, (double)var34.y, (double)var34.z, (double)var34.w, 1.0, FriendStorage.isFriend(var36.getName().getString()) ? var3 : var2);
                                                    }
                                                }

                                                var39 = 3.0F;
                                                var40 = 0.5F;
                                            } while(!(Boolean)this.pokasat.getValueByName("Полоску хп").get());

                                            String var45 = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
                                            DisplayUtils.drawRectBuilding((double)(var34.x - var39 - var40), (double)(var34.y - var40), (double)(var34.x - var39 + 1.0F + var40), (double)(var34.w + var40), ColorUtils.rgba(0, 0, 0, 128));
                                            DisplayUtils.drawRectBuilding((double)(var34.x - var39), (double)var34.y, (double)(var34.x - var39 + 1.0F), (double)var34.w, ColorUtils.rgba(0, 0, 0, 128));
                                            Score var11 = mc.world.getScoreboard().getOrCreateScore(var36.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
                                            float var49 = var36.getHealth();
                                            var13 = var36.getMaxHealth();
                                            if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (var45.contains("анархия") || var45.contains("гриферский"))) {
                                                var49 = (float)var11.getScorePoints();
                                                var13 = 20.0F;
                                            }

                                            if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("saturn") && var36 instanceof PlayerEntity) {
                                                var49 = (float)var11.getScorePoints();
                                                var13 = 20.0F;
                                            }

                                            DisplayUtils.drawMCVerticalBuilding((double)(var34.x - var39), (double)(var34.y + (var34.w - var34.y) * (1.0F - MathHelper.clamp(var49 / var13, 0.0F, 1.0F))), (double)(var34.x - var39 + 1.0F), (double)var34.w, FriendStorage.isFriend(var36.getName().getString()) ? var3.w : var2.w, FriendStorage.isFriend(var36.getName().getString()) ? var3.x : var2.x);
                                        }
                                    }

                                    var5 = (Entity)var4.next();
                                    var6 = var5.getDistance(mc.player);
                                } while(!this.isValid(var5));
                            } while(!(var5 instanceof PlayerEntity) && !(var5 instanceof ItemEntity));
                        } while(var5 == mc.player && mc.gameSettings.getPointOfView() == PointOfView.FIRST_PERSON);
                    } while(var5 == mc.player);

                    var7 = (Float)this.distancetorender.get();
                    if (var7 == 90.0F) {
                        var7 = 2.14748365E9F;
                    }
                } while((Boolean)this.customdis.get() && var6 > var7);

                double var8 = MathUtil.interpolate(var5.getPosX(), var5.lastTickPosX, (double)var1.getPartialTicks());
                double var10 = MathUtil.interpolate(var5.getPosY(), var5.lastTickPosY, (double)var1.getPartialTicks());
                double var12 = MathUtil.interpolate(var5.getPosZ(), var5.lastTickPosZ, (double)var1.getPartialTicks());
                Vector3d var14 = new Vector3d(var5.getBoundingBox().maxX - var5.getBoundingBox().minX, var5.getBoundingBox().maxY - var5.getBoundingBox().minY, var5.getBoundingBox().maxZ - var5.getBoundingBox().minZ);
                AxisAlignedBB var15 = new AxisAlignedBB(var8 - var14.x / 2.0, var10, var12 - var14.z / 2.0, var8 + var14.x / 2.0, var10 + var14.y, var12 + var14.z / 2.0);
                Vector4f var16 = null;

                for(int var17 = 0; var17 < 8; ++var17) {
                    Vector2f var18 = ProjectionUtil.project(var17 % 2 == 0 ? var15.minX : var15.maxX, var17 / 2 % 2 == 0 ? var15.minY : var15.maxY, var17 / 4 % 2 == 0 ? var15.minZ : var15.maxZ);
                    if (var16 == null) {
                        var16 = new Vector4f(var18.x, var18.y, 1.0F, 1.0F);
                    } else {
                        var16.x = Math.min(var18.x, var16.x);
                        var16.y = Math.min(var18.y, var16.y);
                        var16.z = Math.max(var18.x, var16.z);
                        var16.w = Math.max(var18.y, var16.w);
                    }
                }

                this.positions.put(var5, var16);
            }
        }
    }

    private boolean containsKeyWord(ItemStack var1) {
        String var2 = var1.getDisplayName().getString().toLowerCase();
        boolean var3 = var2.contains("сфера") || var2.contains("отмычка") || var2.contains("дезориентация") || var2.contains("зелье");
        boolean var4 = var1.getTag() != null && var1.getTag().contains("don-item");
        return var3 || var4;
    }

    public boolean isInView(Entity var1) {
        if (mc.getRenderViewEntity() == null) {
            return false;
        } else {
            WorldRenderer.frustum.setCameraPosition(mc.getRenderManager().info.getProjectedView().x, mc.getRenderManager().info.getProjectedView().y, mc.getRenderManager().info.getProjectedView().z);
            return WorldRenderer.frustum.isBoundingBoxInFrustum(var1.getBoundingBox()) || var1.ignoreFrustumCheck;
        }
    }

    private void drawPotions(MatrixStack var1, LivingEntity var2, float var3, float var4) {
        for(Iterator var5 = var2.getActivePotionEffects().iterator(); var5.hasNext(); var4 += Fonts.sfMedium.getHeight(6.0F)) {
            EffectInstance var6 = (EffectInstance)var5.next();
            int var7 = var6.getAmplifier();
            String var8 = "";
            if (var7 >= 1 && var7 <= 9) {
                String var10000 = "enchantment.level." + (var7 + 1);
                var8 = " " + I18n.format(var10000, new Object[0]);
            }

            String var9 = I18n.format(var6.getEffectName(), new Object[0]) + var8 + " - " + EffectUtils.getPotionDurationString(var6, 1.0F);
            Fonts.sfMedium.drawText(var1, var9, var3, var4, -1, 6.0F, 0.05F);
        }

    }

    public boolean isFunTimeServer() {
        String var1 = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
        return mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (var1.contains("анархия") || var1.contains("гриферский"));
    }

    private void drawItems(MatrixStack var1, LivingEntity var2, int var3, int var4) {
        byte var5 = 8;
        byte var6 = 6;
        ArrayList var7 = new ArrayList();
        ItemStack var8 = var2.getHeldItemMainhand();
        if (!var8.isEmpty()) {
            var7.add(var8);
        }

        Iterator var9 = var2.getArmorInventoryList().iterator();

        while(var9.hasNext()) {
            ItemStack var10 = (ItemStack)var9.next();
            if (!var10.isEmpty()) {
                var7.add(var10);
            }
        }

        ItemStack var26 = var2.getHeldItemOffhand();
        if (!var26.isEmpty() && (var26.getItem() == Items.TOTEM_OF_UNDYING || var26.getItem() == Items.PLAYER_HEAD)) {
            var7.add(var26);
        }

        var3 = (int)((float)var3 - (float)(var7.size() * (var5 + var6)) / 2.0F);
        Iterator var27 = var7.iterator();

        while(true) {
            ItemStack var11;
            do {
                if (!var27.hasNext()) {
                    return;
                }

                var11 = (ItemStack)var27.next();
            } while(var11.isEmpty());

            String var14;
            if (var11.getItem() == Items.TOTEM_OF_UNDYING || var11.getItem() == Items.PLAYER_HEAD) {
                String var12 = var11.getDisplayName().getString();
                CompoundNBT var13 = var11.getTag();
                var14 = "";
                if (this.isFunTimeServer() && var13 != null && var13.contains("tslevel")) {
                    var14 = " " + var13.getInt("tslevel");
                }

                if ((Boolean)this.debug.get()) {
                    System.out.println("Имя: " + var12 + var14 + " : Тег: " + (var13 != null ? var13.toString() : "нет тега"));
                }
            }

            GL11.glPushMatrix();
            if ((Boolean)this.pokasat.getValueByName("Броня над игроком").get()) {
                this.glCenteredScale((float)var3, (float)var4, (float)var5 / 2.0F, (float)var5 / 2.0F, 0.5F);
                mc.getItemRenderer().renderItemAndEffectIntoGUI(var11, var3, var4);
                mc.getItemRenderer().renderItemOverlayIntoGUI(mc.fontRenderer, var11, var3, var4, (String)null);
            }

            GL11.glPopMatrix();
            if ((Boolean)this.indicatia.get() && var11 == var26 && mc.player != null) {
                CompoundNBT var28 = var11.getTag();
                String var29 = "";
                if (this.isFunTimeServer()) {
                    if (var28 != null && var28.contains("don-item")) {
                        var29 = var28.getString("don-item");
                    } else {
                        if (var26.getItem() == Items.TOTEM_OF_UNDYING) {
                            return;
                        }

                        if (var26.getItem() == Items.PLAYER_HEAD) {
                            return;
                        }
                    }

                    var14 = var29.replaceFirst("tal-", "").replaceFirst("sphere-", "").toUpperCase();
                    if (var28 != null && var28.contains("tslevel")) {
                        var14 = var14 + " " + var28.getInt("tslevel");
                    }

                    if (!var14.isEmpty()) {
                        StringBuilder var30 = new StringBuilder();
                        if (var26.getItem() == Items.PLAYER_HEAD) {
                            var30.append("[");
                            var30.append(var14);
                            var30.append("]");
                        }

                        int var31 = var3 + var5 / 2 + 10;
                        Objects.requireNonNull(mc.fontRenderer);
                        int var32 = var4 - (int)(9.0F - 1.0F);
                        IFormattableTextComponent var34 = (new StringTextComponent(var30.toString())).mergeStyle(TextFormatting.RED);
                        mc.fontRenderer.func_243246_a(var1, var34, (float)var31, (float)var32, -1);
                    }
                } else {
                    var14 = var11.getDisplayName().getString();
                    var14 = var14.replaceAll("(?i)\\b(Талисман|Сфера)\\b\\s*", "");
                    var14 = var14.replaceAll("\\s{2,}", " ");
                    Pattern var15 = Pattern.compile("[^а-яА-ЯёЁ\\s]");
                    Matcher var16 = var15.matcher(var14);
                    var14 = var16.replaceAll("");
                    var14 = var14.trim();
                    String var17 = "";
                    if (var11.hasTag()) {
                        CompoundNBT var18 = var11.getTag();
                        if (var18.contains("display")) {
                            CompoundNBT var19 = var18.getCompound("display");
                            if (var19.contains("Lore")) {
                                ListNBT var20 = var19.getList("Lore", 8);
                                Iterator var21 = var20.iterator();

                                while(var21.hasNext()) {
                                    INBT var22 = (INBT)var21.next();
                                    String var23 = ((StringNBT)var22).getString();
                                    Pattern var24 = Pattern.compile("(\\d+/3|MAX)");
                                    Matcher var25 = var24.matcher(var23);
                                    if (var25.find()) {
                                        var17 = var25.group(1);
                                        break;
                                    }
                                }
                            }
                        }
                    }

                    StringBuilder var33 = new StringBuilder();
                    if (var26.getItem() == Items.PLAYER_HEAD || var26.getItem() == Items.TOTEM_OF_UNDYING) {
                        var33.append("[");
                        var33.append(var14);
                        if (var17 != null) {
                            var33.append(" ");
                        }

                        var33.append(var17);
                        var33.append("]");
                    }

                    int var35 = var3 + var5 / 2 + 10;
                    Objects.requireNonNull(mc.fontRenderer);
                    int var36 = var4 - (int)(9.0F - 1.0F);
                    IFormattableTextComponent var37 = (new StringTextComponent(var33.toString())).mergeStyle(TextFormatting.RED);
                    mc.fontRenderer.func_243246_a(var1, var37, (float)var35, (float)var36, -1);
                }
            }

            var3 += var5 + var6;
        }
    }

    private ITextComponent parseJsonObject(JsonObject var1) {
        StringBuilder var2 = new StringBuilder();
        if (var1.has("extra")) {
            JsonArray var3 = var1.getAsJsonArray("extra");
            Iterator var4 = var3.iterator();

            while(var4.hasNext()) {
                JsonElement var5 = (JsonElement)var4.next();
                JsonObject var6 = var5.getAsJsonObject();
                if (var6.has("text")) {
                    var2.append(var6.get("text").getAsString());
                }
            }
        }

        return (new StringTextComponent("[" + var2.toString().trim() + "]")).mergeStyle(TextFormatting.RED);
    }

    public boolean isValid(Entity var1) {
        return AntiBot.isBot(var1) ? false : this.isInView(var1);
    }

    public void glCenteredScale(float var1, float var2, float var3, float var4, float var5) {
        GL11.glTranslatef(var1 + var3 / 2.0F, var2 + var4 / 2.0F, 0.0F);
        GL11.glScalef(var5, var5, 1.0F);
        GL11.glTranslatef(-var1 - var3 / 2.0F, -var2 - var4 / 2.0F, 0.0F);
    }

    static {
        char[] var10001 = "\u0018DX!\r9l7dV(\u0016#n:_[<<峷炭姴嬎匩佥刀冏審屃櫲灛垘损奛偛岼斁毕傟慑塹旤廊嵚梹彴亭榮挞恲拄杩彻啅倕侸憫旗岆慞壒亶溼滅愢嬬噰偩嵔妞刭依晨囡洰氥呦樱欚妆奶冸尹揉匶咐楖噤忍泒史仐瀓儇檖戻擘滗暚擩匂暺弌汀攎夅妵南埰噖奜湍汶幯僦呏斡炎榯憹".toCharArray();
        int var10003 = var10001.length;
        char[] var10002 = var10001;
        int var1 = var10003;

        for(int var0 = 0; var1 > var0; ++var0) {
            char var10005 = var10002[var0];
            byte var10006;
            switch (var0 % 7) {
                case 0 -> var10006 = 91;
                case 1 -> var10006 = 43;
                case 2 -> var10006 = 52;
                case 3 -> var10006 = 78;
                case 4 -> var10006 = 99;
                case 5 -> var10006 = 80;
                default -> var10006 = 13;
            }

            var10002[var0] = (char)(var10005 ^ var10006);
        }

        String var5 = (new String(var10002)).intern();
        boolean var3 = true;
        ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶 = var5.toCharArray();
        vulcanitems = new BooleanSetting("Vulcan-Items", true);
        onlyground = new BooleanSetting("VTimer Air", true);
    }

    private static String 屣漚墳匇嶐侦无壄坰嫪宭滽榒壹吇洕嚩湻灜嶻昑抢忇溄濉垮嘬浽堍憭刏榕堚孺峊毅庾剹寈洛檫(int var0, int var1, String var2, int var3, int var4) {
        StringBuilder var5 = new StringBuilder();
        int var6 = 0;
        char[] var10;
        int var9 = (var10 = var2.toCharArray()).length;

        for(int var8 = 0; var8 < var9; ++var8) {
            char var7 = var10[var8];
            var5.append((char)(var7 ^ ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶[var6 % ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶.length] ^ var0 ^ var3 + var6 ^ var1 ^ var4));
            ++var6;
        }

        return var5.toString();
    }
}
[SPOILER="SS"][/SPOILER]
[ATTACH type="full"]285626[/ATTACH]
AXAXA,ebat parasha /del
Посмотреть вложение 285824уже пастят в свой хуитка клиент
a net dage s 91726527343060.png
AXAXAX,churka u mena etot kod eshe s 10 sentebra

AXAXA,ebat parasha /del

a net dage s 91726527343060.png
1726527361720.png
 
Начинающий
Статус
Оффлайн
Регистрация
4 Май 2023
Сообщения
46
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
28 Мар 2024
Сообщения
248
Реакции[?]
0
Поинты[?]
0
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
4 Май 2023
Сообщения
46
Реакции[?]
0
Поинты[?]
0
go v voisik sam posmotresh kod,i sravnish odinakoviy li?

nu alo tugodum,poidesh v voisik?(
нахер мне с тобой в войс когда ты даже себе клаву не можешь купить норм или хотяб наклейки + ты тупо будешь лить меня матом
 
Начинающий
Статус
Оффлайн
Регистрация
28 Мар 2024
Сообщения
248
Реакции[?]
0
Поинты[?]
0
нахер мне с тобой в войс когда ты даже себе клаву не можешь купить норм или хотяб наклейки + ты тупо будешь лить меня матом
smisl mne teba oskat?,ti ge uveren chto ya spastil tak poshli v vois posmotrish
 
Начинающий
Статус
Онлайн
Регистрация
6 Дек 2023
Сообщения
150
Реакции[?]
0
Поинты[?]
0
Код:
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//



    private static String 屣漚墳匇嶐侦无壄坰嫪宭滽榒壹吇洕嚩湻灜嶻昑抢忇溄濉垮嘬浽堍憭刏榕堚孺峊毅庾剹寈洛檫(int var0, int var1, String var2, int var3, int var4) {
        StringBuilder var5 = new StringBuilder();
        int var6 = 0;
        char[] var10;
        int var9 = (var10 = var2.toCharArray()).length;

        for(int var8 = 0; var8 < var9; ++var8) {
            char var7 = var10[var8];
            var5.append((char)(var7 ^ ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶[var6 % ColonialObfuscator_恽吓瀋垦夯劇擛匷促佶屈抬点桦潉埡烁刜匾浒堷枎湤桑温殱欘咞俨字咓湎侇抐仌旽匄摅曋县嚶.length] ^ var0 ^ var3 + var6 ^ var1 ^ var4));
            ++var6;
        }

        return var5.toString();
    }
}
[SPOILER="SS"][/SPOILER]
[ATTACH type="full"]285626[/ATTACH]
xD
 
Сверху Снизу