package defpackage; import com.mojang.blaze3d.vertex.BufferBuilder; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.DefaultPlayerSkin; import net.minecraft.resources.Identifier; import org.joml.Matrix4f; import org.joml.Matrix4fStack; import org.joml.Vector3f; public class aah { private static final float TAB_HEIGHT = 22.0F; private static final float TAB_TEXT_PADDING = 3.0F; private static final float TAB_GAP = 6.0F; private static final float TABS_BOTTOM_GAP = 10.0F; private static final float CARD_GAP = 8.0F; private static final float CARD_HOVER_SCALE = 0.06F; private static final float CONTENT_EDGE_FADE = 30.0F; private static final float CONTENT_FADE_RAMP = 60.0F; private static final float GRID_BLEED = 6.0F; private static final float NO_EDGE_FADE = 0.0F; private static final float CARD_BASE_PAD = 6.0F; private static final float NAME_RIGHT_RESERVE = 18.0F; private static final float NAME_CLIP_BLEED = 4.0F; private static final int COLUMNS = 4; private static final float WING_CARD_SCALE = 0.5F; private static final float WING_CARD_Y = -9.0F; private static final int WING_MODEL_STACK_DEPTH = 64; private static final float WING_PREVIEW_FIT = 0.94F; private static final float HAT_CARD_SCALE = 1.0F; private static final float HAT_CARD_Y = -16.0F; private static final float BACKPACK_CARD_SCALE = 0.85F; private static final float BACKPACK_CARD_Y = -2.0F; private static final float PLAYERSKIN_SPIN = 0.0F; private static final float SKIN_CARD_SCALE = 1.05F; private static final float SKIN_CARD_Y = 0.0F; private static final float GRAFFITI_ICON_FIT = 0.86F; private static final float GRAFFITI_CARD_Y = 0.0F; private static final float MELEE_ICON_FIT = 0.92F; private static final float MELEE_ICON_Y = 0.0F; private static final float MELEE_MODEL_FIT = 0.86F; private static final asu CHECK_COLOR = new asu( 95, 212, (-1141102767 | 1141102872) + (-1141102767 & 1141102872) ); private static final float NAMETAG_PREVIEW_SIZE_RATIO = 0.22F; private static final float NAMETAG_PREVIEW_MIN_SIZE = 7.0F; private static final float NAMETAG_PREVIEW_PAD_X = 6.0F; private static final float NAMETAG_PREVIEW_PAD_Y = 4.0F; private static final float NAMETAG_PREVIEW_FIT = 0.92F; private static final int NAMETAG_PREVIEW_PLATE_ALPHA = 110; private static final String NAMETAG_PREVIEW_FALLBACK = "Player"; private static final String EMPTY_SEARCH_TITLE = "Nothing found"; private static final String EMPTY_SEARCH_HINT = "Try another cosmetic name"; private static final String EMPTY_SLOT_TITLE = "Coming soon"; private static final String EMPTY_SLOT_HINT = "New cosmetics land here"; private static final String EMPTY_PLAYERSKIN_TITLE = "No skins uploaded"; private static final String EMPTY_PLAYERSKIN_HINT = "Upload a skin on evoproject.xyz to wear it here"; private static final String EMPTY_SYNC_OFF_TITLE = "Online sync is off"; private static final String EMPTY_SYNC_OFF_HINT = "Turn on Cosmetics - Online sync to load your uploaded skins"; private static final float BIND_ROW_HEIGHT = 20.0F; private static final float BIND_ROW_GAP = 8.0F; private static final float BIND_ROW_PADDING_X = 8.0F; private static final float BIND_ROW_FILL_ALPHA = 0.05F; private static final float BIND_CHIP_HEIGHT = 12.0F; private static final float BIND_CHIP_PADDING_X = 6.0F; private static final float BIND_CHIP_MIN_WIDTH = 26.0F; private static final float BIND_CHIP_FILL_ALPHA = 0.55F; private static final float BIND_CHIP_HOVER_ALPHA = 0.25F; private static final double BIND_PULSE_PERIOD = 260.0; private static final float BIND_PULSE_FLOOR = 0.45F; private static final float BIND_FILL_ALPHA = 0.35F; private static final String CARD_TOOLTIP_EQUIPPED_SUFFIX = " - equipped, click to take off"; private static final String CARD_TOOLTIP_IDLE_SUFFIX = " - click to equip"; private static final String BIND_ROW_LABEL = "Inspect key"; private static final String BIND_LISTENING_LABEL = "press key"; private static final String BIND_UNBOUND_LABEL = "n/a"; private aec selectedSlot = aec.CAPES; private final Map tabAnimations = new HashMap<>(); private final Map tabHoverAnimations = new HashMap<>(); private final Map hoverAnimations = new HashMap<>(); private final Map equippedAnimations = new HashMap<>(); private final Map cardPhysics = new HashMap<>(); private final Map autoScrollers = new HashMap<>(); private final Map settledCardY = new HashMap<>(); private float globalOffsetY = 0.0F; private boolean applyGlobalOffset = (boolean)(((0)) != 0); private final ct bindHoverAnimation = asa.spring(); private final asi bindBounds = new asi(); private boolean binding = (boolean)(((0)) != 0); private final asl tabBounds = new asl(); private final asl cardBounds = new asl(); private final List cardEntries = new ArrayList<>(); private float boxCx; private float boxCz; private Identifier bodySkin; private aeb cachedTooltipEntry; private boolean cachedTooltipEquipped; private String cachedCardTooltip = ""; private static final float CARD_HOVER_REFERENCE_WIDTH = 172.0F; private static final float CARD_INSET = 1.0F; private static final int VISUAL_X = 0; private static final int VISUAL_Y = 1; private static final int VISUAL_W = 2; private static final int VISUAL_H = 3; private final float[] visual = new float[4]; private float boundsLeft; private float boundsRight; private float boundsTop; private float boundsBottom; private static final Map> HAT_CACHE = new HashMap<>(); private static final Map> BACKPACK_CACHE = new HashMap<>(); private static final float BACKPACK_CARD_MAX_HEIGHT = 1.3F; private static final Map> SKIN_CACHE = new HashMap<>(); private static final Map WING_CACHE = new HashMap<>(); private static arq CARD_RADIUS() { return asj.all(oc.PANEL); } private static arq TAB_RADIUS() { return asj.all(oc.CARD); } private static arq CHIP_RADIUS() { return asj.all(oc.CHIP); } public void onCategoryOpened(float var1) { this.globalOffsetY = var1; this.applyGlobalOffset = (boolean)(((1)) != 0); this.binding = (boolean)(((0)) != 0); } private void releaseCardState() { this.hoverAnimations.clear(); this.equippedAnimations.clear(); this.cardPhysics.clear(); this.autoScrollers.clear(); this.settledCardY.clear(); } public float render( asq var1, float var2, float var3, float var4, float var5, float var6, float var7, mv var8, float var9, float var10, boolean var11, int var12, String var13 ) { if (!var11) { this.renderTabs(var1, var2, var3, var4, var7, var8, var9, var10); if (this.hasInspectBind()) { this.renderInspectBind(var1, var2, var3 + 22.0F + 10.0F, var4, var7, var8, var9, var10); } else { this.bindBounds.invalidate(); this.binding = (boolean)(((0)) != 0); } } float var14 = var3 + 22.0F + 10.0F + this.bindRowOffset(); float var15 = var3 + var5; this.boundsLeft = var2; this.boundsRight = var2 + var4; this.boundsTop = var14; this.boundsBottom = var15; this.cardBounds.clear(); this.cardEntries.clear(); List var16 = aed.getInstance().bySlot(this.selectedSlot); List var17; if (var13 != null && !var13.trim().isEmpty()) { String var18 = var13.trim().toLowerCase(); var17 = new ArrayList(); for (aeb var20 : (Iterable)var16) { if (var20.getName().toLowerCase().contains(var18)) { var17.add(var20); } } } else { var17 = var16; } if (var17.isEmpty()) { if (!var11) { this.renderEmpty( var1, var2, var14, var4, var15, var7, var8, (boolean)(((var13 != null && !var13.trim().isEmpty() ? 1: (-1752122912 | 1752122912) + (-1752122912 & 1752122912)) ) != 0)); } return 32.0F + this.bindRowOffset(); } else { float var47 = (var4 - 8.0F * (var12 - ((899861302 ^ -899861301) + ((899861302 & -899861301) << 1)))) / var12; float var48 = var47 * 1.28F; float var49 = (float) Math.PI; float[] var21 = new float[var12]; float[] var22 = new float[var12]; int[] var23 = new int[var17.size()]; float var24 = 30.0F * Math.min(1.0F, var6 / 60.0F); float var25 = 30.0F; for (int var26 = 0; var26 < var17.size(); var26++) { int var27 = 0; for (int var28 = 1; var28 < var12; var28++) { if (var21[var28] < var21[var27]) { var27 = var28; } } var23[var26] = var27; aeb var54 = (aeb)var17.get(var26); ct var29 = this.hoverAnimations.get(var54); if (var29 != null && var29.value() > 0.0F) { float var30 = var29.value(); float var31 = 1.0F - (1.0F - var30) * (1.0F - var30); float var32 = 172.0F / var47; float var33 = var47 * 0.06F * var32 * var31; if (var33 > var22[var27]) { var22[var27] = var33; } } var21[var27] += var48 + 8.0F; } float[] var50 = new float[var12]; for (int var51 = 0; var51 < var12; var51++) { for (int var55 = 0; var55 < var12; var55++) { if (var51 != var55) { if (var55 < var51) { var50[var51] += var22[var55] / 2.0F; } else { var50[var51] -= var22[var55] / 2.0F; } } } } for (int var52 = 0; var52 < var12; var52++) { var21[var52] = 0.0F; } float[] var53 = new float[var12]; float[] var56 = new float[var12]; for (int var57 = 0; var57 < var12; var57++) { var56[var57] = -99999.0F; } float var58 = 0.0F; var1.clipScroll(var2 - 6.0F, var14 - 6.0F, var2 + var4 + 6.0F, var15 + 6.0F, var24, var25); for (int var59 = 0; var59 < var17.size(); var59++) { int var62 = var23[var59]; aeb var66 = (aeb)var17.get(var59); ct var69 = this.hoverAnimations.get(var66); float var34 = var69 == null ? 0.0F : var69.value(); float var35 = 1.0F - (1.0F - var34) * (1.0F - var34); float var36 = 172.0F / var47; float var37 = var48 * 0.06F * var36 * var35; float var38 = var2 + var62 * (var47 + 8.0F) + var50[var62]; float var39 = var14 + var21[var62] + var37 / 2.0F - var6; this.settledCardY.put(var66, var14 + var53[var62] - var6); var53[var62] += var48 + 8.0F; float var40 = this.boundsLeft; float var41 = this.boundsRight; float var42 = var56[var62]; float var43 = 99999.0F; aaf var44 = this.cardPhysics.computeIfAbsent(var66, var0 -> new aaf()); var44.update(var38, var39, var40, var41, var42, var43, var47, var48); if (this.applyGlobalOffset) { var44.currentY = var39 + this.globalOffsetY; if (var44.animationY != null) { var44.animationY.jumpTo(var44.currentY); } } var56[var62] = var44.currentY + var48 + var37 / 2.0F + 8.0F; this.cardBounds.add(var44.currentX, var44.currentY, var47, var48); this.cardEntries.add(var66); int var45 = var69 != null && var69.value() > 0.001F ? 1: 0; if (!var11 && var45 == 0 && (var44.currentY + var48 >= var14 && var44.currentY <= var15 || var39 + var48 >= var14 && var39 <= var15)) { this.renderCard(var1, var66, var44.currentX, var44.currentY, var47, var48, var7, var8, var9, var10, var49, var14, var15); } var21[var62] += var48 + var37 + 8.0F; if (var34 > 0.001F) { float var46 = var21[var62] - 8.0F + 8.0F; if (var46 > var58) { var58 = var46; } } } if (this.applyGlobalOffset) { this.applyGlobalOffset = (boolean)(((0)) != 0); } if (var11) { for (int var60 = 0; var60 < var17.size(); var60++) { aeb var63 = (aeb)var17.get(var60); ct var67 = this.hoverAnimations.get(var63); if (var67 != null && var67.value() > 0.001F) { this.renderCard(var1, var63, this.cardBounds.x(var60), this.cardBounds.y(var60), var47, var48, var7, var8, var9, var10, var49, var14, var15); } } } var1.popClip(); float var61 = 0.0F; float[] var64 = var21; int var68 = var64.length; for (int var70 = 0; var70 < var68; var70++) { float var71 = var64[var70]; if (var71 > var61) { var61 = var71; } } if (var58 > var61) { var61 = var58; } float var65 = var61; if (var61 > 0.0F) { var65 -= 8.0F; } return 32.0F + this.bindRowOffset() + var65 + 4.0F; } } private boolean hasInspectBind() { int var2 = 0; int var1 = 870338215; while (true) { switch (var1) { case 91389984: return (boolean)((var2) != 0); case 776517955: var2 = 1; var1 = 91389984; break; case 870338215: default: if (this.selectedSlot == aec.MELEE) { var1 = 776517955; } else { var1 = 1036245279; } break; case 1036245279: var2 = 0; var1 = 91389984; } } } private float bindRowOffset() { float var2 = 0.0F; int var1 = 1433618127; while (true) { switch (var1) { case -255906439: return var2; case -223506711: var2 = 0.0F; var1 = -255906439; break; case 465836432: var2 = 28.0F; var1 = -255906439; break; case 1433618127: default: if (this.hasInspectBind()) { var1 = 465836432; } else { var1 = -223506711; } } } } private String bindLabel() { int var1 = 0; String var2 = null; String var4 = null; int var3 = 1624443468; while (true) { switch (var3) { case -1592842854: var1 = sz.INSTANCE.inspectSetting.getKeyCode(); if (var1 == (-1550755556 ^ 1550755555) + ((-1550755556 & 1550755555) << 1)) { var3 = -1392099028; } else { var3 = 50363171; } break; case -1556790034: var4 = var2.toLowerCase(Locale.ROOT); var3 = -1010395916; break; case -1392099028: return "n/a"; case -1010395916: return var4; case 50363171: var2 = aqz.getKeyName(var1); if (var2 != null) { var3 = 1783311117; } else { var3 = 1184322436; } break; case 279362294: return "press key"; case 1184322436: var4 = "n/a"; var3 = -1010395916; break; case 1624443468: default: if (this.binding) { var3 = 279362294; } else { var3 = -1592842854; } break; case 1783311117: if (var2.isBlank()) { var3 = 1184322436; } else { var3 = -1556790034; } } } } private void renderInspectBind(asq var1, float var2, float var3, float var4, float var5, mv var6, float var7, float var8) { ge var9 = asp.font(oe.BODY); ge var10 = asp.font(oe.LABEL); var1.drawSurface(aso.ROW, var2, var3, var4, 20.0F, TAB_RADIUS(), var6.getWhite().mulAlpha(0.05F * var5)); atb.drawRoundedBorder(var1.pose(), var2, var3, var4, 20.0F, pk.borderHairline(), TAB_RADIUS(), var6.getForegroundLightStroke().mulAlpha(var5)); String var11 = this.bindLabel(); float var12 = Math.max(26.0F, var10.width(var11) + 12.0F); float var13 = var2 + var4 - var12 - 8.0F; float var14 = var3 + 4.0F; this.bindBounds.set(var13, var14, var12, 12.0F); this.bindHoverAnimation.animateTo(asa.hits(var7, var8, this.bindBounds, this.bindHoverAnimation, 0.05F) ? 1.0F : 0.0F); float var15 = this.bindHoverAnimation.update(); var1.drawText( var9, "Inspect key", var2 + 8.0F, var3 + (20.0F - var9.height()) / 2.0F, asa.liftText(var6.getGrayLight(), var6, var15).mulAlpha(var5) ); asa.plateControl(var1, var13, var14, var12, 12.0F, asa.plateColor(var6), var5, var15); boolean var16 = asa.push(var1, var13, var14, var12, 12.0F, var15, 0.05F); var1.drawSurface(aso.CONTROL, var13, var14, var12, 12.0F, CHIP_RADIUS(), var6.getForegroundLight().mulAlpha(var5 * (0.55F + 0.25F * var15))); asu var17 = asa.liftText(var6.getGrayLight(), var6, var15); if (this.binding) { float var18 = 0.45F + 0.55F * (float)(0.5 + 0.5 * Math.sin(System.currentTimeMillis() / 260.0)); var1.drawSurface(aso.ACCENT, var13, var14, var12, 12.0F, CHIP_RADIUS(), var6.getColor().mulAlpha(var5 * 0.35F * var18)); var1.drawRoundedBorder(var13, var14, var12, 12.0F, pk.borderThickness(), CHIP_RADIUS(), var6.getColor().mulAlpha(var5 * var18)); var17 = var6.getWhite(); } else { var1.drawRoundedBorder(var13, var14, var12, 12.0F, pk.borderHairline(), CHIP_RADIUS(), var6.getForegroundLightStroke().mulAlpha(var5)); } var1.drawText(var10, var11, var13 + (var12 - var10.width(var11)) / 2.0F, var14 + (12.0F - var10.height()) / 2.0F, var17.mulAlpha(var5)); asa.pop(var1, var16); } public boolean keyPressed(int var1, int var2, int var3) { if (!this.binding) { return (boolean)(((0)) != 0); } this.binding = (boolean)(((0)) != 0); int var4 = var1 != (1553787207 ^ -1553786951) + ((1553787207 & -1553786951) << 1) && var1 != (1591299246 | -1591298987) + (1591299246 & -1591298987) && var1 != 261? 0: 1; sz.INSTANCE.inspectSetting.setKeyCode(var4 != 0 ? -1: var1); return (boolean)(((1)) != 0); } private ge tabFont(aec[] var1, float var2) { ge var3 = null; float var4 = 0.0F; aec[] var5 = null; int var6 = 0; int var7 = 0; aec var8 = null; int var9 = 398239779; while (true) { switch (var9) { case -1601663837: return asp.font(oe.LABEL_STRONG); case -1105881301: var7++; var9 = 16230358; break; case 16230358: if (var7 < var6) { var9 = 1273841150; } else { var9 = 1099074280; } break; case 398239779: default: var3 = asp.font(oe.HEADING); var4 = var2 - 6.0F; var5 = var1; var6 = var5.length; var7 = 0; var9 = 16230358; break; case 1099074280: return var3; case 1273841150: var8 = var5[var7]; if (var3.width(var8.getDisplayName()) > var4) { var9 = -1601663837; } else { var9 = -1105881301; } } } } private void renderTabs(asq var1, float var2, float var3, float var4, float var5, mv var6, float var7, float var8) { aec[] var9 = aec.values(); float var10 = (var4 - 6.0F * (var9.length - ((-423223649 ^ 423223650) + ((-423223649 & 423223650) << 1)))) / var9.length; ge var11 = this.tabFont(var9, var10); for (int var12 = 0; var12 < var9.length; var12++) { aec var13 = var9[var12]; float var14 = var2 + var12 * (var10 + 6.0F); this.tabBounds.set(var12, var14, var3, var10, 22.0F); ct var15 = this.tabAnimations.computeIfAbsent(var13, var2x -> ct.layout(ob.MEDIUM, var13 == this.selectedSlot ? 1.0F : 0.0F)); var15.animateTo(var13 == this.selectedSlot ? 1.0F : 0.0F); float var16 = var15.update(); ct var17 = this.tabHoverAnimations.computeIfAbsent(var13, var0 -> asa.spring()); boolean var18 = asa.hits(var7, var8, var14, var3, var10, 22.0F, var17.value(), 0.05F); var17.animateTo(var18 ? 1.0F : 0.0F); float var19 = var17.update(); asa.plateRow(var1, var14, var3, var10, 22.0F, asa.plateColor(var6), var5, var19); boolean var20 = asa.push(var1, var14, var3, var10, 22.0F, var19, 0.05F); float var21 = Math.max(var16, var19); var1.drawSurface(aso.ROW, var14, var3, var10, 22.0F, TAB_RADIUS(), var6.getWhite().mulAlpha(var21 * 0.08F * var5)); atb.drawRoundedBorder( var1.pose(), var14, var3, var10, 22.0F, pk.borderHairline(), asj.all(oc.CARD), var6.getForegroundLightStroke().mulAlpha(var21 * var5) ); if (var16 > 0.01F) { float var22 = var10 * 0.45F; float var23 = var14 + (var10 - var22) / 2.0F; float var24 = var3 + 22.0F - 3.0F; var1.drawRoundedRect(var23, var24, var22, 2.0F, asj.all(oc.HAIRLINE), var6.getColor().mulAlpha(var16 * var5)); } asu var27 = asa.liftText(var6.getGrayLight().mix(var6.getWhite(), var16), var6, var19); String var28 = var13.getDisplayName(); float var29 = var11.width(var28); float var25 = var14 + (var10 - var29) / 2.0F; float var26 = var3 + (22.0F - var11.height()) / 2.0F - 0.5F; var1.drawText(var11, var28, var25, var26, var27.mulAlpha(var5)); asa.pop(var1, var20); } } private String cardTooltip(aeb var1, boolean var2) { if (var1 != this.cachedTooltipEntry || var2 != this.cachedTooltipEquipped) { this.cachedTooltipEntry = var1; this.cachedTooltipEquipped = var2; this.cachedCardTooltip = var1.getName() + ( var2 ? " - equipped, click to take off" : " - click to equip" ); } return this.cachedCardTooltip; } private void hoverVisual(float var1, float var2, float var3, float var4, float var5) { float var6 = 0.0F; float var7 = 0.0F; float var8 = 0.0F; int var9 = 807341761; while (true) { switch (var9) { case -1503555755: var6 = asc.of(var5, 0.06F * (172.0F / var3)); var7 = var3 * var6; var8 = var4 * var6; this.visual[2] = var7; this.visual[3] = var8; this.visual[0] = var1 + (var3 - var7) / 2.0F; this.visual[1] = var2 + (var4 - var8) / 2.0F; return; case 100809663: return; case 620699534: if (var4 <= 0.0F) { var9 = 100809663; } else { var9 = -1503555755; } break; case 807341761: default: this.visual[0] = var1; this.visual[1] = var2; this.visual[2] = var3; this.visual[3] = var4; if (!(var5 <= 0.0F)) { var9 = 1718737827; } else { var9 = 100809663; } break; case 1718737827: if (!(var3 <= 0.0F)) { var9 = 620699534; } else { var9 = 100809663; } } } } private void renderCard( asq var1, aeb var2, float var3, float var4, float var5, float var6, float var7, mv var8, float var9, float var10, float var11, float var12, float var13 ) { ct var14 = this.hoverAnimations.computeIfAbsent(var2, var0 -> ct.layout(ob.SETTLED, 0.0F)); float var15 = var14.value(); this.hoverVisual(var3, var4, var5, var6, var15); int var16 = (aqj.isHovered( var9, var10, this.visual[0], this.visual[1], this.visual[2], this.visual[3] )) ? 1 : 0; if (var10 < var12 || var10 > var13) { var16 = 0; } var14.animateTo(var16 != 0 ? 1.0F : 0.0F); float var17 = var14.update(); if (bz.getInstance().getMenuScreen() != null) { float var18 = 1.0F - (1.0F - var17) * (1.0F - var17); float var19 = this.settledCardY.getOrDefault(var2, var4); this.autoScrollers .computeIfAbsent(var2, var0 -> new zw()) .update(bz.getInstance().getMenuScreen(), (boolean)((var16) != 0), var18, var19, var6, var5, var12, var13); } boolean var48 = aed.getInstance().isEquipped(var2); if (var17 > 0.5F) { ass.tooltip( this, this.cardTooltip(var2, var48), this.visual[0], this.visual[1], this.visual[2], this.visual[3], asr.ABOVE ); } ct var49 = this.equippedAnimations.computeIfAbsent(var2, var1x -> ct.layout(ob.SETTLED, var48 ? 1.0F : 0.0F)); var49.animateTo(var48 ? 1.0F : 0.0F); float var20 = var49.update(); float var21 = var3; float var22 = var4; float var23 = 1.0F; var3 += var23; var4 += var23; var5 -= var23 * 2.0F; var6 -= var23 * 2.0F; if (var17 > 0.0F) { this.hoverVisual(var21, var22, var5 + var23 * 2.0F, var6 + var23 * 2.0F, var17); float var24 = this.visual[2] / (var5 + var23 * 2.0F); var1.pushMatrix(); var1.pose() .translate( this.visual[0] - var21 * var24, this.visual[1] - var22 * var24 ); var1.pose().scale(var24, var24); } zv.restShadow(var1, var3, var4, var5, var6, var7); zv.activeShadow(var1, var3, var4, var5, var6, var7, var20, var8.getColor()); asu var50 = var8.getForegroundColor(); var1.drawSurface(aso.CARD, var3, var4, var5, var6, CARD_RADIUS(), var50.getRGBWithAlpha(var7)); asa.plateRow(var1, var3, var4, var5, var6, asa.plateColor(var8), var7, var17); float var25 = asj.contentInset(oc.PANEL, 6.0F, var5, var6); float var26 = 16.0F; float var27 = var4 + var6 - var26 - 7.0F; float var28 = var4 + var25; float var29 = var27 - 6.0F; float var30 = var3 + var5 / 2.0F; float var31 = (var28 + var29) / 2.0F; float var32 = var29 - var28; asu var33 = var8.getForegroundColor().mix(var8.getWhite(), 0.2F).mulAlpha(var7); asu var34 = var8.getForegroundColor().mix(var8.getWhite(), 0.05F).mulAlpha(var7); var1.drawRoundedRect(var3 + var25, var28, var5 - var25 * 2.0F, var32, TAB_RADIUS(), ary.of(var33, var34, var33, var34)); float var35 = Math.max(var28, var12); float var36 = Math.min(var29, var13); if (var35 < var36) { var1.clipHard(var3, var35, var3 + var5, var36); float var37 = (var5 - var25 * 2.0F) * 0.78F; float var38 = var32 * 0.5F; var1.drawRoundedRect(var30 - var37 / 2.0F, var31 - var38 / 2.0F, var37, var38, asj.pill(var38), var8.getWhite().mulAlpha(var7 * 0.1F)); this.renderMannequin(var1, var2, var30, var31, var32, var5 - var25 * 2.0F, var7, var11, var8); var1.popClip(); } asu var51 = var8.getColor().mix(var8.getGray(), var48 ? 0.0F : 0.45F); var1.drawRoundedRect(var3 + var25, var27, var5 - var25 * 2.0F, 1.4F, asj.all(oc.HAIRLINE), var51.mulAlpha(var7)); ge var52 = asp.font(oe.BODY); float var39 = var4 + var6 - var26 + (var26 - var52.height()) / 2.0F - 1.0F; asu var40 = var8.getWhite(); float var41 = Math.max(0.0F, var5 - var25 - 18.0F); var1.drawScrollingText( var52, var2.getName(), var3 + var25, var39, var41, var40.mulAlpha(var7), (boolean)((((1855969575 ^ -1855969574) + ((1855969575 & -1855969574) << 1)) ) != 0)); if (var20 > 0.0F) { float var42 = var3 + var5 - 11.0F; float var43 = var39 + var52.height() / 2.0F - 1.0F; this.drawCheck(var1, var42, var43, 8.5F, var8.getColor().mulAlpha(var7 * var20)); } zv.border(var1, var3, var4, var5, var6, var8, var7); zv.activeBorder(var1, var3, var4, var5, var6, var7, var20, var8.getColor()); if (var17 > 0.0F) { var1.popMatrix(); } } private void renderMannequin(asq var1, aeb var2, float var3, float var4, float var5, float var6, float var7, float var8, mv var9) { if (var2.getSlot() == aec.NAMETAGS && var2.getNameTag() != null) { this.drawNameTagPreview(var1, var2.getNameTag(), var3, var4, var5, var6, var7, var9); } else if (var2.getSlot() == aec.MELEE && var2.getMelee() != null) { this.drawMeleeIcon(var1, var2.getMelee(), var3, var4, var5, var6, var7); } else if (var2.getSlot() == aec.GRAFFITI && var2.getGraffiti() != null) { this.drawFlatIcon(var1, var2.getGraffiti().getTexture(), var3, var4 + 0.0F, var5, var6, 0.86F, var7); } else { Identifier var10 = var2.getSlot() == aec.CAPES ? var2.getTexture() : null; int var11 = var2.getSlot() == aec.WINGS && var2.getWing() != null ? 1: 0; float var12 = var5 * 0.72F / 32.0F; float var13 = var5 * 2.6F; float var14 = var2.getSlot() == aec.PLAYERSKINS ? 0.0F : var8; float var15 = (float)Math.sin(var14); float var16 = (float)Math.cos(var14); if (Math.abs(var15) < 1.0E-4F) { var15 = 0.0F; } if (Math.abs(var16) < 1.0E-4F) { var16 = 0.0F; } Identifier var17 = this.resolveSkin(var2); ArrayList var18 = new ArrayList(); ArrayList var19 = new ArrayList(); boolean var20 = this.isSlimSkin(var2); this.bodySkin = var17; this.addSkinBox(var18, var19, var17, 0.0F, -12.0F, 0.0F, 8.0F, 8.0F, 8.0F, 0.0F, 0.0F); this.addSkinBox(var18, var19, var17, 0.0F, -2.0F, 0.0F, 8.0F, 12.0F, 4.0F, 16.0F, 16.0F); this.addSkinBox(var18, var19, var17, var20 ? -5.5F : -6.0F, -2.0F, 0.0F, var20 ? 3.0F : 4.0F, 12.0F, 4.0F, 40.0F, 16.0F); this.addSkinBox(var18, var19, var17, var20 ? 5.5F : 6.0F, -2.0F, 0.0F, var20 ? 3.0F : 4.0F, 12.0F, 4.0F, 32.0F, 48.0F); this.addSkinBox(var18, var19, var17, -2.0F, 10.0F, 0.0F, 4.0F, 12.0F, 4.0F, 0.0F, 16.0F); this.addSkinBox(var18, var19, var17, 2.0F, 10.0F, 0.0F, 4.0F, 12.0F, 4.0F, 16.0F, 48.0F); float var21 = 0.3F; this.addSkinBox(var18, var19, var17, 0.0F, -12.0F, 0.0F, 8.0F, 8.0F, 8.0F, 32.0F, 0.0F, var21); this.addSkinBox(var18, var19, var17, 0.0F, -2.0F, 0.0F, 8.0F, 12.0F, 4.0F, 16.0F, 32.0F, var21); this.addSkinBox(var18, var19, var17, var20 ? -5.5F : -6.0F, -2.0F, 0.0F, var20 ? 3.0F : 4.0F, 12.0F, 4.0F, 40.0F, 32.0F, var21); this.addSkinBox(var18, var19, var17, var20 ? 5.5F : 6.0F, -2.0F, 0.0F, var20 ? 3.0F : 4.0F, 12.0F, 4.0F, 48.0F, 48.0F, var21); this.addSkinBox(var18, var19, var17, -2.0F, 10.0F, 0.0F, 4.0F, 12.0F, 4.0F, 0.0F, 32.0F, var21); this.addSkinBox(var18, var19, var17, 2.0F, 10.0F, 0.0F, 4.0F, 12.0F, 4.0F, 0.0F, 48.0F, var21); if (var10 != null) { adi.tick(); this.addCapeBox(var18, var19, var10); } if (var11 != 0 && var2.getWing().getType() == afc.INSECTOID) { this.addWingPlanes(var18, var19, var2.getWing().getTexture()); } int var22 = var18.size(); Integer[] var23 = new Integer[var22]; float[] var24 = new float[var22]; float[] var25 = new float[var22]; for (int var26 = 0; var26 < var22; var26++) { float[] var27 = (float[])var18.get(var26); var24[var26] = -(var27[14] * var12) * var15 + var27[15] * var12 * var16; var25[var26] = -var27[6] * var15 + var27[7] * var16; var23[var26] = var26; } Arrays.sort(var23, (var1x, var2x) -> Float.compare(var24[var1x], var24[var2x])); var1.drawRoundedRect(var3 - 9.0F * var12, var4 + 16.0F * var12, 18.0F * var12, 3.2F, asj.all(oc.CHIP), asu.BLACK.mulAlpha(var7 * 0.3F)); Identifier var55 = null; BufferBuilder var56 = null; Matrix4f var28 = arb.toMatrix4f(var1.pose()); Integer[] var29 = var23; int var30 = var29.length; for (int var31 = 0; var31 < var30; var31++) { int var32 = var29[var31]; if (!(var25[var32] <= 0.0F)) { float[] var33 = (float[])var18.get(var32); float var34 = var33[0]; float var35 = var33[1]; float var36 = var33[2]; float var37 = var33[3]; float var38 = var33[4]; float var39 = var33[5]; float var40 = var33[8]; float var41 = var33[9]; float var42 = var33[10]; float var43 = var33[11]; float var44 = var33[12]; float var45 = var33[13]; float[] var46 = this.project(var34, var38, var44, var15, var16, var12, var13, var3, var4); float[] var47 = this.project(var34, var39, var35, var15, var16, var12, var13, var3, var4); float[] var48 = this.project(var36, var39, var37, var15, var16, var12, var13, var3, var4); float[] var49 = this.project(var36, var38, var45, var15, var16, var12, var13, var3, var4); float var50 = 0.6F + 0.4F * Math.min(1.0F, var25[var32]); int var51 = (int)(255.0F * var50); asu var52 = new asu(var51, var51, var51).mulAlpha(var7); int var53 = var52.getRGB(); Identifier var54 = (Identifier)var19.get(var32); if (var55 == null || !var55.equals(var54)) { if (var56 != null) { if (adm.isShaderCape(var55)) { atb.endBatchedShaderQuads(var56); } else { atb.endBatchedTexturedQuads(var56); } } var55 = var54; if (adm.isShaderCape(var54)) { var56 = atb.beginBatchedShaderQuads(adm.isHolyCape(var54) ? atb.blockHolyProgram : atb.blockStarfieldProgram, var7); } else { var56 = atb.beginBatchedTexturedQuads(var54); } } if (adm.isShaderCape(var54)) { var56.addVertex( var28, var46[0], var46[1], 0.0F ) .setColor(var53); var56.addVertex( var28, var47[0], var47[1], 0.0F ) .setColor(var53); var56.addVertex( var28, var48[0], var48[1], 0.0F ) .setColor(var53); var56.addVertex( var28, var49[0], var49[1], 0.0F ) .setColor(var53); } else { var56.addVertex( var28, var46[0], var46[1], 0.0F ) .setUv(var40, var42) .setColor(var53); var56.addVertex( var28, var47[0], var47[1], 0.0F ) .setUv(var40, var43) .setColor(var53); var56.addVertex( var28, var48[0], var48[1], 0.0F ) .setUv(var41, var43) .setColor(var53); var56.addVertex( var28, var49[0], var49[1], 0.0F ) .setUv(var41, var42) .setColor(var53); } } } if (var56 != null) { if (adm.isShaderCape(var55)) { atb.endBatchedShaderQuads(var56); } else { atb.endBatchedTexturedQuads(var56); } } if (var11 != 0 && var2.getWing().getType() != afc.INSECTOID) { this.drawWingModel(var1, var2.getWing(), var3, var4, var12, var6, var5, var7); } if (var2.getSlot() == aec.HATS && var2.getHat() != null) { this.drawHatModel(var1, var2.getHat(), var3, var4, var12, var7); } if (var2.getSlot() == aec.BACKPACKS && var2.getBackpack() != null) { this.drawBackpackModel(var1, var2.getBackpack(), var3, var4, var12, var7); } } } private void drawMeleeIcon(asq var1, ahu var2, float var3, float var4, float var5, float var6, float var7) { ahm var8 = null; int var9 = -2116078719; while (true) { switch (var9) { case -2116078719: default: var8 = ahn.get(var2); if (var8 != null) { var9 = -84231400; } else { var9 = 1808184219; } break; case -84231400: this.drawMeleeModel(var1, var2, var8, var3, var4, var5, var6, var7); return; case 1808184219: this.drawFlatIcon(var1, var2.getIcon(), var3, var4 + 0.0F, var5, var6, 0.92F, var7); return; } } } private void drawFlatIcon(asq var1, Identifier var2, float var3, float var4, float var5, float var6, float var7, float var8) { float var9 = Math.min(var5, var6) * var7; float var10 = var9 * 0.5F; float var11 = var3 - var10; float var12 = var4 - var10; BufferBuilder var13 = atb.beginBatchedTexturedQuads(var2); Matrix4f var14 = arb.toMatrix4f(var1.pose()); int var15 = asu.WHITE.mulAlpha(var8).getRGB(); var13.addVertex(var14, var11, var12, 0.0F).setUv(0.0F, 0.0F).setColor(var15); var13.addVertex(var14, var11, var12 + var9, 0.0F).setUv(0.0F, 1.0F).setColor(var15); var13.addVertex(var14, var11 + var9, var12 + var9, 0.0F).setUv(1.0F, 1.0F).setColor(var15); var13.addVertex(var14, var11 + var9, var12, 0.0F).setUv(1.0F, 0.0F).setColor(var15); atb.endBatchedTexturedQuads(var13); } private void drawMeleeModel(asq var1, ahu var2, ahm var3, float var4, float var5, float var6, float var7, float var8) { float var9 = 0.0F; float var10 = 0.0F; float[] var11 = null; BufferBuilder var12 = null; Matrix4f var13 = null; int var14 = 0; int var15 = 0; int var16 = 0; int var17 = 0; int var18 = 1658642773; while (true) { switch (var18) { case -2062019579: var16 = 0; var18 = 1362278715; break; case -1412832770: var17 = var15 + var16 * (4); var12.addVertex( var13, var4 + var11[var17] * var9, var10 + var11[var17 + 1] * var9, 0.0F ) .setUv(var11[var17 + 2], var11[var17 + 3]) .setColor(var14); var16++; var18 = 1362278715; break; case -1401058491: if (var15 < var11.length) { var18 = -2062019579; } else { var18 = 359330497; } break; case -427065128: var15 += 16; var18 = -1401058491; break; case 359330497: atb.endBatchedTexturedQuads(var12); return; case 1362278715: if (var16 < (70890196 ^ -70890192) + ((70890196 & -70890192) << 1)) { var18 = -1412832770; } else { var18 = -427065128; } break; case 1658642773: default: var9 = Math.min(var7 / var3.width(), var6 / var3.height()) * 0.86F; var10 = var5 + 0.0F; var11 = var3.quads(); var12 = atb.beginBatchedTexturedQuads(var2.getTexture()); var13 = arb.toMatrix4f(var1.pose()); var14 = asu.WHITE.mulAlpha(var8).getRGB(); var15 = 0; var18 = -1401058491; } } } private List getCachedHat(aej var1) { aif var2 = null; ArrayList var3 = null; Matrix4fStack var4 = null; Vector3f var5 = null; Iterator var6 = null; aig var7 = null; int var8 = 1734820146; while (true) { switch (var8) { case -1871806816: var2 = aek.model(var1); var3 = new ArrayList(); if (var2 != null) { var8 = -1448514102; } else { var8 = -1388063699; } break; case -1448514102: var4 = new Matrix4fStack((-581937556 ^ 581937588) + ((-581937556 & 581937588) << 1)); var5 = new Vector3f(); var6 = var2.roots.iterator(); var8 = -55202054; break; case -1388063699: HAT_CACHE.put(var1.getKey(), var3); return var3; case -749884889: var3.sort( (var0, var1x) -> Float.compare( var0[16], var1x[16] ) ); var8 = -1388063699; break; case -55202054: if (var6.hasNext()) { var8 = 295474266; } else { var8 = -749884889; } break; case 295474266: var7 = (aig)var6.next(); this.collectWingPartCached(var7, var4, var3, var5); var8 = -55202054; break; case 372323916: return HAT_CACHE.get(var1.getKey()); case 1734820146: default: if (HAT_CACHE.containsKey(var1.getKey())) { var8 = 372323916; } else { var8 = -1871806816; } } } } private void drawHatModel(asq var1, aej var2, float var3, float var4, float var5, float var6) { List var7 = null; Identifier var8 = null; float var9 = 0.0F; float var10 = 0.0F; BufferBuilder var11 = null; Matrix4f var12 = null; int var13 = 0; Iterator var14 = null; Object var15 = null; int var16 = -254112204; while (true) { switch (var16) { case -254112204: default: var7 = this.getCachedHat(var2); if (var7 != null) { var16 = 1591450491; } else { var16 = 701031952; } break; case -179278087: atb.endBatchedTexturedQuads(var11); return; case 364360438: var15 = (float[])var14.next(); var11.addVertex( var12, var3 - ((float[])var15)[0] * var9, var10 + ((float[])var15)[1] * var9, 0.0F ) .setUv( (float)((float[])var15)[2], (float)((float[])var15)[3] ) .setColor(var13); var11.addVertex( var12, var3 - ((float[])var15)[4] * var9, var10 + ((float[])var15)[5] * var9, 0.0F ) .setUv( (float)((float[])var15)[6], (float)((float[])var15)[7] ) .setColor(var13); var11.addVertex( var12, var3 - ((float[])var15)[8] * var9, var10 + ((float[])var15)[9] * var9, 0.0F ) .setUv( (float)((float[])var15)[10], (float)((float[])var15)[11] ) .setColor(var13); var11.addVertex( var12, var3 - ((float[])var15)[12] * var9, var10 + ((float[])var15)[13] * var9, 0.0F ) .setUv( (float)((float[])var15)[14], (float)((float[])var15)[15] ) .setColor(var13); var16 = 368844180; break; case 368844180: if (var14.hasNext()) { var16 = 364360438; } else { var16 = -179278087; } break; case 701031952: return; case 1591450491: if (var7.isEmpty()) { var16 = 701031952; } else { var16 = 1890708055; } break; case 1890708055: var8 = var2.getTexture(); var9 = 16.0F * var5 * 1.0F; var10 = var4 + -16.0F * var5; var11 = atb.beginBatchedTexturedQuads(var8); var12 = arb.toMatrix4f(var1.pose()); var13 = asu.WHITE.mulAlpha(var6).getRGB(); var14 = var7.iterator(); var16 = 368844180; } } } private List getCachedBackpack(adk var1) { aif var2 = null; ArrayList var3 = null; Matrix4fStack var4 = null; Vector3f var5 = null; Iterator var6 = null; aig var7 = null; int var8 = 215388728; while (true) { switch (var8) { case -1731494677: var7 = (aig)var6.next(); this.collectWingPartCached(var7, var4, var3, var5); var8 = 1261216550; break; case -710244304: var4 = new Matrix4fStack((-1714315915 ^ 1714315947) + ((-1714315915 & 1714315947) << 1)); var5 = new Vector3f(); var6 = var2.roots.iterator(); var8 = 1261216550; break; case 215388728: default: if (BACKPACK_CACHE.containsKey(var1.getKey())) { var8 = 778937219; } else { var8 = 405425982; } break; case 405425982: var2 = adl.model(var1); var3 = new ArrayList(); if (var2 != null) { var8 = -710244304; } else { var8 = 1478075607; } break; case 663305500: this.recenterFaces(var3); var3.sort( (var0, var1x) -> Float.compare( var0[16], var1x[16] ) ); var8 = 1478075607; break; case 778937219: return BACKPACK_CACHE.get(var1.getKey()); case 1261216550: if (var6.hasNext()) { var8 = -1731494677; } else { var8 = 663305500; } break; case 1478075607: BACKPACK_CACHE.put(var1.getKey(), var3); return var3; } } } private void recenterFaces(List var1) { if (!var1.isEmpty()) { float var2 = Float.MAX_VALUE; float var3 = -Float.MAX_VALUE; float var4 = Float.MAX_VALUE; float var5 = -Float.MAX_VALUE; for (float[] var7 : var1) { for (int var8 = 0; var8 < 16; var8 += 4 ) { var2 = Math.min(var2, var7[var8]); var3 = Math.max(var3, var7[var8]); var4 = Math.min(var4, var7[var8 + 1]); var5 = Math.max(var5, var7[var8 + 1]); } } float var13 = (var2 + var3) / 2.0F; float var14 = (var4 + var5) / 2.0F; float var15 = var5 - var4; float var9 = var15 > 1.3F ? 1.3F / var15 : 1.0F; for (float[] var11 : var1) { for (int var12 = 0; var12 < 16; var12 += 4 ) { var11[var12] = (var11[var12] - var13) * var9; var11[var12 + 1] = ( var11[var12 + 1] - var14 ) * var9; } } } } private void drawBackpackModel(asq var1, adk var2, float var3, float var4, float var5, float var6) { List var7 = null; Identifier var8 = null; float var9 = 0.0F; float var10 = 0.0F; BufferBuilder var11 = null; Matrix4f var12 = null; int var13 = 0; Iterator var14 = null; Object var15 = null; int var16 = 564268066; while (true) { switch (var16) { case -1924401322: if (var14.hasNext()) { var16 = 645839751; } else { var16 = -983344600; } break; case -983344600: atb.endBatchedTexturedQuads(var11); return; case 511794580: return; case 548854370: var8 = var2.getTexture(); var9 = 16.0F * var5 * 0.85F; var10 = var4 + -2.0F * var5; var11 = atb.beginBatchedTexturedQuads(var8); var12 = arb.toMatrix4f(var1.pose()); var13 = asu.WHITE.mulAlpha(var6).getRGB(); var14 = var7.iterator(); var16 = -1924401322; break; case 564268066: default: var7 = this.getCachedBackpack(var2); if (var7 != null) { var16 = 1301230295; } else { var16 = 511794580; } break; case 645839751: var15 = (float[])var14.next(); var11.addVertex( var12, var3 - ((float[])var15)[0] * var9, var10 + ((float[])var15)[1] * var9, 0.0F ) .setUv( (float)((float[])var15)[2], (float)((float[])var15)[3] ) .setColor(var13); var11.addVertex( var12, var3 - ((float[])var15)[4] * var9, var10 + ((float[])var15)[5] * var9, 0.0F ) .setUv( (float)((float[])var15)[6], (float)((float[])var15)[7] ) .setColor(var13); var11.addVertex( var12, var3 - ((float[])var15)[8] * var9, var10 + ((float[])var15)[9] * var9, 0.0F ) .setUv( (float)((float[])var15)[10], (float)((float[])var15)[11] ) .setColor(var13); var11.addVertex( var12, var3 - ((float[])var15)[12] * var9, var10 + ((float[])var15)[13] * var9, 0.0F ) .setUv( (float)((float[])var15)[14], (float)((float[])var15)[15] ) .setColor(var13); var16 = -1924401322; break; case 1301230295: if (var7.isEmpty()) { var16 = 511794580; } else { var16 = 548854370; } } } } private List getCachedSkin(aex var1) { aif var2 = null; ArrayList var3 = null; Matrix4fStack var4 = null; Vector3f var5 = null; Iterator var6 = null; aig var7 = null; int var8 = -370630194; while (true) { switch (var8) { case -938962002: var4 = new Matrix4fStack((605509141 | -605509109) + (605509141 & -605509109)); var5 = new Vector3f(); var6 = var2.roots.iterator(); var8 = -129085408; break; case -740825068: return SKIN_CACHE.get(var1.getKey()); case -569432930: var2 = aey.model(var1); var3 = new ArrayList(); if (var2 != null) { var8 = -938962002; } else { var8 = -554371538; } break; case -554371538: SKIN_CACHE.put(var1.getKey(), var3); return var3; case -370630194: default: if (SKIN_CACHE.containsKey(var1.getKey())) { var8 = -740825068; } else { var8 = -569432930; } break; case -129085408: if (var6.hasNext()) { var8 = 1711740101; } else { var8 = 115061937; } break; case 115061937: this.recenterFaces(var3); var3.sort( (var0, var1x) -> Float.compare( var0[16], var1x[16] ) ); var8 = -554371538; break; case 1711740101: var7 = (aig)var6.next(); this.collectWingPartCached(var7, var4, var3, var5); var8 = -129085408; } } } private void drawSkinModel(asq var1, aex var2, float var3, float var4, float var5, float var6) { List var7 = null; Identifier var8 = null; float var9 = 0.0F; float var10 = 0.0F; BufferBuilder var11 = null; Matrix4f var12 = null; int var13 = 0; Iterator var14 = null; Object var15 = null; int var16 = -1012264777; while (true) { switch (var16) { case -1012264777: default: var7 = this.getCachedSkin(var2); if (var7 != null) { var16 = -179781656; } else { var16 = 1758572695; } break; case -929528573: atb.endBatchedTexturedQuads(var11); return; case -179781656: if (var7.isEmpty()) { var16 = 1758572695; } else { var16 = 474412469; } break; case 474412469: var8 = var2.getTexture(); var9 = 16.0F * var5 * 1.05F; var10 = var4 + 0.0F * var5; var11 = atb.beginBatchedTexturedQuads(var8); var12 = arb.toMatrix4f(var1.pose()); var13 = asu.WHITE.mulAlpha(var6).getRGB(); var14 = var7.iterator(); var16 = 984002060; break; case 785641280: var15 = (float[])var14.next(); var11.addVertex( var12, var3 - ((float[])var15)[0] * var9, var10 + ((float[])var15)[1] * var9, 0.0F ) .setUv( (float)((float[])var15)[2], (float)((float[])var15)[3] ) .setColor(var13); var11.addVertex( var12, var3 - ((float[])var15)[4] * var9, var10 + ((float[])var15)[5] * var9, 0.0F ) .setUv( (float)((float[])var15)[6], (float)((float[])var15)[7] ) .setColor(var13); var11.addVertex( var12, var3 - ((float[])var15)[8] * var9, var10 + ((float[])var15)[9] * var9, 0.0F ) .setUv( (float)((float[])var15)[10], (float)((float[])var15)[11] ) .setColor(var13); var11.addVertex( var12, var3 - ((float[])var15)[12] * var9, var10 + ((float[])var15)[13] * var9, 0.0F ) .setUv( (float)((float[])var15)[14], (float)((float[])var15)[15] ) .setColor(var13); var16 = 984002060; break; case 984002060: if (var14.hasNext()) { var16 = 785641280; } else { var16 = -929528573; } break; case 1758572695: return; } } } private void addSkinBox( List var1, List var2, Identifier var3, float var4, float var5, float var6, float var7, float var8, float var9, float var10, float var11 ) { this.addSkinBox(var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11, 0.0F); } private void addSkinBox( List var1, List var2, Identifier var3, float var4, float var5, float var6, float var7, float var8, float var9, float var10, float var11, float var12 ) { this.boxCx = var4; this.boxCz = var6; float var13 = 64.0F; float var14 = var7 / 2.0F + var12; float var15 = var8 / 2.0F + var12; float var16 = var9 / 2.0F + var12; float var17 = var5 - var15; float var18 = var5 + var15; float var19 = (var11 + var9) / var13; float var20 = (var11 + var9 + var8) / var13; this.addQuad( var1, var2, var3, var4 - var14, var6 + var16, var4 + var14, var6 + var16, var17, var18, 0.0F, 1.0F, (var10 + var9) / var13, (var10 + var9 + var7) / var13, var19, var20 ); this.addQuad( var1, var2, var3, var4 + var14, var6 + var16, var4 + var14, var6 - var16, var17, var18, 1.0F, 0.0F, var10 / var13, (var10 + var9) / var13, var19, var20 ); this.addQuad( var1, var2, var3, var4 + var14, var6 - var16, var4 - var14, var6 - var16, var17, var18, 0.0F, -1.0F, (var10 + 2.0F * var9 + var7) / var13, (var10 + 2.0F * var9 + 2.0F * var7) / var13, var19, var20 ); this.addQuad( var1, var2, var3, var4 - var14, var6 - var16, var4 - var14, var6 + var16, var17, var18, -1.0F, 0.0F, (var10 + var9 + var7) / var13, (var10 + 2.0F * var9 + var7) / var13, var19, var20 ); } private void addWingPlanes(List var1, List var2, Identifier var3) { float var4 = 64.0F; float var5 = -9.0F; float var6 = 7.0F; float var7 = -2.7F; float var8 = -6.5F; float var9 = 1.0F; float var10 = 16.0F; float[] var10000 = new float[4]; var10000[0] = 0.0F; var10000[1] = 0.0F; var10000[2] = 19.0F; var10000[3] = 24.0F; float[] var11 = var10000; var10000 = new float[4]; var10000[0] = 0.0F; var10000[1] = 24.0F; var10000[2] = 19.0F; var10000[3] = 48.0F; float[] var12 = var10000; this.addQuadLean( var1, var2, var3, var10, var8, var9, var7, var5, var6, 0.0F, -1.0F, var11[2] / var4, var11[0] / var4, var11[1] / var4, var11[3] / var4, var8, var7 ); this.addQuadLean( var1, var2, var3, -var10, var8, -var9, var7, var5, var6, 0.0F, -1.0F, var12[0] / var4, var12[2] / var4, var12[1] / var4, var12[3] / var4, var8, var7 ); } private aag getCachedWing(afc var1) { if (WING_CACHE.containsKey(var1)) { return WING_CACHE.get(var1); } aif var2 = afe.model(var1); if (var2 == null) { return null; } ArrayList var3 = new ArrayList(); Matrix4fStack var4 = new Matrix4fStack((-1340840869 ^ 1340840933) + ((-1340840869 & 1340840933) << 1)); var4.translate(0.0F, var1.getPreviewOffsetY(), var1.getOffsetZ()); var4.scale(var1.getScale()); Vector3f var5 = new Vector3f(); for (aig var7 : var2.roots) { this.collectWingPartCached(var7, var4, var3, var5); } var3.sort( (var0, var1x) -> Float.compare( var0[16], var1x[16] ) ); float var11 = 0.0F; float var12 = 0.0F; for (float[] var9 : (Iterable)var3) { for (int var10 = 0; var10 < 4; var10++) { var11 = Math.max(var11, Math.abs(var9[var10 * (4)] * 16.0F * 0.5F)); var12 = Math.max( var12, Math.abs( -9.0F + var9[var10 * 5] * 16.0F * 0.5F ) ); } } aag var13 = new aag(var3, var11, var12); WING_CACHE.put(var1, var13); return var13; } private void drawWingModel(asq var1, afd var2, float var3, float var4, float var5, float var6, float var7, float var8) { aag var9 = this.getCachedWing(var2.getType()); if (var9 != null) { if (var2.getType().isBundled()) { float var10 = var9.horizontalExtent() > 0.0F ? var6 * 0.94F / (2.0F * var9.horizontalExtent() * var5) : 1.0F; float var11 = var9.verticalExtent() > 0.0F ? var7 * 0.94F / (2.0F * var9.verticalExtent() * var5) : 1.0F; var5 *= Math.min(1.0F, Math.min(var10, var11)); } Identifier var18 = var2.getTexture(); float var19 = 16.0F * var5 * 0.5F; float var12 = var4 + -9.0F * var5; BufferBuilder var13 = atb.beginBatchedTexturedQuads(var18); Matrix4f var14 = arb.toMatrix4f(var1.pose()); int var15 = asu.WHITE.mulAlpha(var8).getRGB(); for (float[] var17 : var9.faces()) { var13.addVertex( var14, var3 - var17[0] * var19, var12 + var17[1] * var19, 0.0F ) .setUv(var17[2], var17[3]) .setColor(var15); var13.addVertex( var14, var3 - var17[4] * var19, var12 + var17[5] * var19, 0.0F ) .setUv(var17[6], var17[7]) .setColor(var15); var13.addVertex( var14, var3 - var17[8] * var19, var12 + var17[9] * var19, 0.0F ) .setUv(var17[10], var17[11]) .setColor(var15); var13.addVertex( var14, var3 - var17[12] * var19, var12 + var17[13] * var19, 0.0F ) .setUv(var17[14], var17[15]) .setColor(var15); } atb.endBatchedTexturedQuads(var13); } } private void collectWingPartCached(aig var1, Matrix4fStack var2, List var3, Vector3f var4) { if (!var1.isHidden()) { var2.pushMatrix(); var2.translate(-var1.getOffsetX() / 16.0F, var1.getOffsetY() / 16.0F, var1.getOffsetZ() / 16.0F); var2.translate(var1.getPivotX() / 16.0F, var1.getPivotY() / 16.0F, var1.getPivotZ() / 16.0F); if (var1.getRotZ() != 0.0F) { var2.rotateZ(var1.getRotZ()); } if (var1.getRotY() != 0.0F) { var2.rotateY(var1.getRotY()); } if (var1.getRotX() != 0.0F) { var2.rotateX(var1.getRotX()); } var2.scale(var1.getScaleX(), var1.getScaleY(), var1.getScaleZ()); var2.translate(-var1.getPivotX() / 16.0F, -var1.getPivotY() / 16.0F, -var1.getPivotZ() / 16.0F); for (aie var6 : var1.cubes) { var2.pushMatrix(); var2.translate(var6.pivot.x / 16.0F, var6.pivot.y / 16.0F, var6.pivot.z / 16.0F); if (var6.rotation.z != 0.0F) { var2.rotateZ(var6.rotation.z); } if (var6.rotation.y != 0.0F) { var2.rotateY(var6.rotation.y); } if (var6.rotation.x != 0.0F) { var2.rotateX(var6.rotation.x); } var2.translate(-var6.pivot.x / 16.0F, -var6.pivot.y / 16.0F, -var6.pivot.z / 16.0F); aij[] var7 = var6.faces; int var8 = var7.length; for (int var9 = 0; var9 < var8; var9++) { aij var10 = var7[var9]; if (var10 != null) { float[] var11 = new float[17]; float var12 = 0.0F; for (int var13 = 0; var13 < 4; var13++ ) { aik var14 = var10.corners[var13]; var2.transformPosition(var14.position.x, var14.position.y, var14.position.z, var4); var11[var13 * (4)] = var4.x(); var11[var13 * 5] = -var4.y(); var11[var13 * 6] = var14.u; var11[var13 * 7] = var14.v; var12 += var4.z(); } var11[16] = var12 / 4.0F; var3.add(var11); } } var2.popMatrix(); } for (aig var16 : var1.children) { this.collectWingPartCached(var16, var2, var3, var4); } var2.popMatrix(); } } private void addCapeBox(List var1, List var2, Identifier var3) { float var4 = 0.0F; float var5 = 0.0F; float var6 = 0.0F; float var7 = 0.0F; float var8 = 0.0F; float var9 = 0.0F; float var10 = 0.0F; float var11 = 0.0F; Identifier var12 = null; float var13 = 0.0F; float var14 = 0.0F; int var15 = 33897554; while (true) { switch (var15) { case -186176990: var12 = Identifier.fromNamespaceAndPath( "evolution", "icons/logo.png" ); var13 = -3.0F; var14 = 7.0F; this.addQuadLean( var1, var2, var12, var4, var8 - 0.1F, -var4, var8 - 0.1F, var13, var14, 0.0F, -1.0F, 1.0F, 0.0F, 0.0F, 1.0F, var7 - 0.1F, var7 - 0.1F ); var15 = 186656160; break; case 33897554: default: var4 = 5.0F; var5 = -8.0F; var6 = 12.0F; var7 = -2.4F; var8 = -2.8F; var9 = 0.5F; this.boxCx = 0.0F; this.boxCz = (var7 + var8) * 0.5F; var10 = 0.03125F; var11 = 0.53125F; this.addQuadLean(var1, var2, var3, var4, var8, -var4, var8, var5, var6, 0.0F, -1.0F, 0.015625F, 0.171875F, var10, var11, var7, var7); this.addQuadLean( var1, var2, var3, -var4, var8 + var9, var4, var8 + var9, var5, var6, 0.0F, 1.0F, 0.1875F, 0.34375F, var10, var11, var7 + var9, var7 + var9 ); this.addQuadLean(var1, var2, var3, var4, var8 + var9, var4, var8, var5, var6, 1.0F, 0.0F, 0.171875F, 0.1875F, var10, var11, var7 + var9, var7); this.addQuadLean(var1, var2, var3, -var4, var8, -var4, var8 + var9, var5, var6, -1.0F, 0.0F, 0.0F, 0.015625F, var10, var11, var7, var7 + var9); if (adm.isShaderCape(var3)) { var15 = -186176990; } else { var15 = 186656160; } break; case 186656160: return; } } } private void addQuad( List var1, List var2, Identifier var3, float var4, float var5, float var6, float var7, float var8, float var9, float var10, float var11, float var12, float var13, float var14, float var15 ) { this.addQuadLean(var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11, var12, var13, var14, var15, var5, var7); } private void addQuadLean( List var1, List var2, Identifier var3, float var4, float var5, float var6, float var7, float var8, float var9, float var10, float var11, float var12, float var13, float var14, float var15, float var16, float var17 ) { float var18 = 0.0F; float var19 = 0.0F; int var20 = -209217397; while (true) { switch (var20) { case -2123247545: var19 -= 2.5F; var20 = -770615712; break; case -770615712: float[] var10001 = new float[16]; var10001[0] = var4; var10001[1] = var5; var10001[2] = var6; var10001[3] = var7; var10001[4] = var8; var10001[5] = var9; var10001[6] = var10; var10001[7] = var11; var10001[8] = var12; var10001[9] = var13; var10001[10] = var14; var10001[11] = var15; var10001[12] = var16; var10001[13] = var17; var10001[14] = var18; var10001[15] = var19; var1.add(var10001); var2.add(var3); return; case -209217397: default: var18 = (var4 + var6) * 0.5F; var19 = (var5 + var7 + var16 + var17) * 0.25F; if (var3 != null) { var20 = 1939101616; } else { var20 = -770615712; } break; case 1939101616: if (!var3.equals(this.bodySkin)) { var20 = -2123247545; } else { var20 = -770615712; } } } } private Identifier resolveSkin(aeb var1) { if (var1 != null && var1.getPlayerSkin() != null) { Identifier var2 = var1.getPlayerSkin().getTexture(); if (var2 != null) { return var2; } } Minecraft var5 = Minecraft.getInstance(); if (var5.player != null) { try { return var5.player.getSkin().body().texturePath(); } catch (Exception var4) { } } return DefaultPlayerSkin.getDefaultTexture(); } private boolean isSlimSkin(aeb var1) { if (var1 != null && var1.getPlayerSkin() != null) { return var1.getPlayerSkin().isSlim(); } Minecraft var2 = Minecraft.getInstance(); if (var2.player != null) { try { return var2.player.getSkin().model().name().equals("SLIM"); } catch (Exception var4) { } } return (boolean)(((0)) != 0); } private float[] project(float var1, float var2, float var3, float var4, float var5, float var6, float var7, float var8, float var9) { float var10 = var1 * var6; float var11 = var3 * var6; float var12 = var10 * var5 + var11 * var4; float[] var10000 = new float[2]; var10000[0] = var8 + var12; var10000[1] = var9 + var2 * var6; return var10000; } private void drawNameTagPreview(asq var1, aem var2, float var3, float var4, float var5, float var6, float var7, mv var8) { ge var9 = null; String var10 = null; float var11 = 0.0F; float var12 = 0.0F; float var13 = 0.0F; float var14 = 0.0F; float var15 = 0.0F; arq var16 = null; float var18 = 0.0F; int var17 = -777768259; while (true) { switch (var17) { case -1161952608: var15 = var18; var1.pushMatrix(); var1.pose().translate(var3, var4); var1.pose().scale(var15, var15); var1.pose().translate(-var3, -var4); var16 = asj.all(oc.CONTROL); var1.drawRoundedRect( var3 - var12 / 2.0F, var4 - var13 / 2.0F, var12, var13, var16, asu.BLACK.withAlpha(110).mulAlpha(var7) ); atb.drawRoundedBorder( var1.pose(), var3 - var12 / 2.0F, var4 - var13 / 2.0F, var12, var13, pk.borderHairline(), var16, var8.getForegroundStroke().mulAlpha(var7) ); var1.drawText(var9, var10, var3 - var11 / 2.0F, var4 - var9.height() / 2.0F, aeo.colorizer(var2, var7)); var1.popMatrix(); return; case -777768259: default: var9 = gl.SEMIBOLD.getFont(Math.max(7.0F, var5 * 0.22F)); var10 = this.previewName(); var11 = var9.width(var10); var12 = var11 + 12.0F; var13 = var9.height() + 8.0F; var14 = var6 * 0.92F; if (var12 > var14) { var17 = 1985756204; } else { var17 = 1968657899; } break; case 931581013: var18 = var14 / var12; var17 = -1161952608; break; case 1968657899: var18 = 1.0F; var17 = -1161952608; break; case 1985756204: if (var12 > 0.0F) { var17 = 931581013; } else { var17 = 1968657899; } } } } private String previewName() { Minecraft var1 = null; String var3 = null; int var2 = -1175445583; while (true) { switch (var2) { case -2106168609: var3 = "Player"; var2 = 355902012; break; case -1175445583: default: var1 = Minecraft.getInstance(); if (var1.player == null) { var2 = -2106168609; } else { var2 = 345255215; } break; case 345255215: var3 = var1.player.getScoreboardName(); var2 = 355902012; break; case 355902012: return var3; } } } private void drawCheck(asq var1, float var2, float var3, float var4, asu var5) { float var6 = Math.max(1.2F, var4 * 0.22F); var1.pushMatrix(); var1.pose().translate(var2, var3); var1.pose().rotate((float)Math.toRadians(45.0)); float var7 = var4 * 0.62F; float var8 = var4 * 0.34F; var1.drawRoundedRect(-var6 / 2.0F, -var7, var6, var7 + var6 / 2.0F, asj.pill(var6), var5); var1.drawRoundedRect(-var8, -var6 / 2.0F, var8 + var6 / 2.0F, var6, asj.pill(var6), var5); var1.popMatrix(); } private void renderEmpty(asq var1, float var2, float var3, float var4, float var5, float var6, mv var7, boolean var8) { ge var9 = null; ge var10 = null; int var11 = 0; int var12 = 0; String var13 = null; String var14 = null; float var15 = 0.0F; float var16 = 0.0F; float var17 = 0.0F; float var18 = 0.0F; int var20 = 0; int var21 = 0; String var22 = null; String var23 = null; int var19 = -178869754; while (true) { switch (var19) { case -2031476474: var23 = "Upload a skin on evoproject.xyz to wear it here"; var19 = 156416566; break; case -1970887982: var23 = "Turn on Cosmetics - Online sync to load your uploaded skins"; var19 = 156416566; break; case -1914265290: var21 = 0; var19 = -161255075; break; case -1913573078: if (var11 != 0) { var19 = -2031476474; } else { var19 = -408783046; } break; case -1621343501: if (var12 != 0) { var19 = -1970887982; } else { var19 = -1913573078; } break; case -771616110: var11 = var20; if (var11 != 0) { var19 = 1706026148; } else { var19 = -1914265290; } break; case -751271412: var21 = 1; var19 = -161255075; break; case -631044952: var22 = "Coming soon"; var19 = 584040527; break; case -479344878: var20 = 0; var19 = -771616110; break; case -408783046: var23 = "New cosmetics land here"; var19 = 156416566; break; case -198001602: if (var11 != 0) { var19 = 1214645664; } else { var19 = -631044952; } break; case -178869754: default: var9 = asp.font(oe.HEADING); var10 = asp.font(oe.MICRO); if (this.selectedSlot == aec.PLAYERSKINS) { var19 = 506792070; } else { var19 = -479344878; } break; case -161255075: var12 = var21; if (var8) { var19 = 817067657; } else { var19 = 1122614716; } break; case 156416566: var14 = var23; var15 = oq.current().spacing(od.MD); var16 = var9.height() + var15 + var10.height(); var17 = var2 + var4 / 2.0F; var18 = var3 + (Math.max(0.0F, var5 - var3) - var16) / 2.0F; var1.drawText(var9, var13, var17 - var9.width(var13) / 2.0F, var18, oq.current().color(nx.ON_SURFACE_MUTED).mulAlpha(var6)); var1.drawText( var10, var14, var17 - var10.width(var14) / 2.0F, var18 + var9.height() + var15, oq.current().color(nx.ON_SURFACE_FAINT).mulAlpha(var6) ); return; case 506792070: var20 = 1; var19 = -771616110; break; case 584040527: var13 = var22; if (var8) { var19 = 1622410682; } else { var19 = -1621343501; } break; case 817067657: var22 = "Nothing found"; var19 = 584040527; break; case 1122614716: if (var12 != 0) { var19 = 2083064548; } else { var19 = -198001602; } break; case 1214645664: var22 = "No skins uploaded"; var19 = 584040527; break; case 1622410682: var23 = "Try another cosmetic name"; var19 = 156416566; break; case 1706026148: if (!sw.INSTANCE.syncSetting.isEnabled()) { var19 = -751271412; } else { var19 = -1914265290; } break; case 2083064548: var22 = "Online sync is off"; var19 = 584040527; } } } public boolean handleMouseClicked(double var1, double var3, String var5) { if (this.hasInspectBind() && this.bindBounds.contains(var1, var3)) { this.binding = (boolean)(((!this.binding ? 1: (-731563552 | 731563552) + (-731563552 & 731563552))) != 0); if (bz.getInstance().getSoundManager() != null) { bz.getInstance().getSoundManager().playClick(); } return (boolean)(((1)) != 0); } else { this.binding = (boolean)(((0)) != 0); for (int var6 = 0; var6 < this.tabBounds.size(); var6++) { if (this.tabBounds.contains(var6, var1, var3)) { aec var7 = aec.values()[var6]; if (var7 != this.selectedSlot) { int var8 = this.selectedSlot.ordinal(); int var9 = var7.ordinal(); float var10 = var9 > var8 ? 1.0F : -1.0F; this.selectedSlot = var7; this.releaseCardState(); ArrayList var11 = new ArrayList<>(aed.getInstance().bySlot(this.selectedSlot)); if (var5 != null && !var5.trim().isEmpty()) { String var12 = var5.toLowerCase(); var11.removeIf(var1x -> { int var3x = 0; int var2 = 1026950125; while (true) { switch (var2) { case -1791258462: return (boolean)((var3x) != 0); case -1662476345: var3x = 1; var2 = -1791258462; break; case 447921449: var3x = 0; var2 = -1791258462; break; case 1026950125: default: if (!var1x.getName().toLowerCase().contains(var12)) { var2 = -1662476345; } else { var2 = 447921449; } } } }); } for (aeb var13 : var11) { aaf var14 = this.cardPhysics.computeIfAbsent(var13, var0 -> new aaf()); float var15 = (float)(Math.random() * 150.0); float var16 = (float)((Math.random() - 0.5) * 120.0); var14.offsetX = var10 * (350.0F + var15); var14.offsetY = var16; if (var14.initialized && var14.animationPosition != null && var14.animationY != null) { var14.currentX = var14.targetX + var14.offsetX; var14.currentY = var14.targetY + var14.offsetY; var14.animationPosition.jumpTo(var14.currentX); var14.animationY.jumpTo(var14.currentY); } } if (bz.getInstance().getSoundManager() != null) { bz.getInstance().getSoundManager().playTab(); } } return (boolean)(((1)) != 0); } } for (int var17 = 0; var17 < this.cardBounds.size(); var17++) { ct var18 = this.hoverAnimations.get(this.cardEntries.get(var17)); this.hoverVisual( this.cardBounds.x(var17), this.cardBounds.y(var17), this.cardBounds.width(var17), this.cardBounds.height(var17), var18 == null ? 0.0F : var18.value() ); if (aqj.isHovered( var1, var3, this.visual[0], this.visual[1], this.visual[2], this.visual[3] )) { aed.getInstance().toggle(this.cardEntries.get(var17)); if (bz.getInstance().getSoundManager() != null) { bz.getInstance().getSoundManager().playClick(); } return (boolean)(((1)) != 0); } } return (boolean)(((0)) != 0); } } }