Начинающий
- Статус
- Оффлайн
- Регистрация
- 6 Окт 2024
- Сообщения
- 23
- Реакции
- 0
- Выберите загрузчик игры
- Прочие моды
Мой первый скид
Сам шедевро код
SS
/del принимаеться
Сам шедевро код
АА $$$ELFCODE:
package wtf.expensive.modules.impl.render;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.client.MainWindow;
import net.minecraft.client.entity.player.AbstractClientPlayerEntity;
import net.minecraft.client.gui.DisplayEffectsScreen;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.network.play.NetworkPlayerInfo;
import net.minecraft.client.renderer.texture.PotionSpriteUploader;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.AirItem;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Effect;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.EffectUtils;
import net.minecraft.scoreboard.Score;
import net.minecraft.scoreboard.ScoreObjective;
import net.minecraft.scoreboard.ScorePlayerTeam;
import net.minecraft.scoreboard.Team;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import net.minecraft.util.text.ITextComponent;
import wtf.expensive.Initilization;
import wtf.expensive.events.Event;
import wtf.expensive.events.impl.player.EventUpdate;
import wtf.expensive.events.impl.render.EventRender;
import wtf.expensive.managment.Managment;
import wtf.expensive.modules.Function;
import wtf.expensive.modules.FunctionAnnotation;
import wtf.expensive.modules.Type;
import wtf.expensive.modules.settings.imp.BooleanOption;
import wtf.expensive.modules.settings.imp.MultiBoxSetting;
import wtf.expensive.modules.settings.imp.SliderSetting;
import wtf.expensive.util.ClientUtil;
import wtf.expensive.util.animations.Animation;
import wtf.expensive.util.animations.Direction;
import wtf.expensive.util.animations.impl.EaseBackIn;
import wtf.expensive.util.drag.Dragging;
import wtf.expensive.util.font.Fonts;
import wtf.expensive.util.font.styled.StyledFont;
import wtf.expensive.util.misc.HudUtil;
import wtf.expensive.util.render.*;
import wtf.expensive.util.render.animation.AnimationMath;
import java.awt.*;
import java.util.*;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import java.util.regex.Pattern;
import static net.minecraft.client.Minecraft.debugFPS;
import static org.joml.Math.lerp;
import static wtf.expensive.util.render.RenderUtil.Render2D.drawFace;
@FunctionAnnotation(name = "Hud", type = Type.Render)
public class HUD2 extends Function {
public final SliderSetting alphaslider = new SliderSetting("Прозрачность", 190f, 35f, 255f, 1f);
public final BooleanOption blacks = new BooleanOption("Тень", false);
public final BooleanOption blurss = new BooleanOption("Блюр", true);
public final MultiBoxSetting elements = new MultiBoxSetting("Elements",
new BooleanOption("Active Target", true),
new BooleanOption("Logo", true),
new BooleanOption("Active Binds", true),
new BooleanOption("Active Staff", true),
new BooleanOption("Effects", true)
);
public final BooleanOption hp = new BooleanOption("Хп под тему", false);
public HUD2() {
addSettings(alphaslider, blacks, blurss, hp, elements);
}
final float round_degree = 3;
final float cWidth = 4;
private float bpsanika;
private float fpsanimka = 0;
private float hpanimka = 0;
private float pinganimka = 0;
private int activeModules = 0;
private float widthAnime = 0.0F;
private float offsetbind = 10.5F;
private float widthDynamic = 0.0F;
private float activePotions = 0.0F;
private float widthAnim;
private float heightAnim;
private float hpanimcricle = 0.0F;
private float[] graphValues = new float[5];
private int currentIndex = 0;
private float smoothedBps = 0;
private int updateInterval = 1;
private int frameCounter = 0;
final Vector4f left_vec = new Vector4f(round_degree, round_degree, 0, 0);
final Vector4f right_vec = new Vector4f(0, 0, round_degree, round_degree);
final int b_color = new Color(0, 0, 0, 128).getRGB();
final int t_color = Color.WHITE.getRGB();
int[] colors = new int[360];
final StyledFont icons = Fonts.icons1[20];
final StyledFont medium = Fonts.msMedium[16];
final StyledFont small = Fonts.msMedium[14];
MainWindow window;
List<Function> modules = new ArrayList<>();
final Dragging keyBinds = Initilization.createDrag(this, "HotKeys", mc.getMainWindow().scaledWidth() - 80, 3);
final Dragging staffList = Initilization.createDrag(this, "Staff", mc.getMainWindow().scaledWidth() - 105, 25);
public Dragging potionStatus = Initilization.createDrag(this, "PotionStatus", 450.0F, 50.0F);
final Dragging targetHUD = Initilization.createDrag(this, "TH", mc.getMainWindow().scaledWidth() / 2 - 50, (float)mc.getMainWindow().scaledHeight() - 60);
final Dragging Logo = Initilization.createDrag(this, "Logo", 5, 5);
Animation tHudAnimation = new EaseBackIn(400, 1, 1.5f);
Animation tpalec = new EaseBackIn(400, 1, 1.5f);
float absorption = 0.0f;
PlayerEntity target = null;
private final Pattern namePattern = Pattern.compile("^\\w{3,16}$");
private final Pattern prefixMatches = Pattern.compile(".*(mod|der|adm|help|wne|мод|хелп|помо|адм|владе|отри|таф|taf|curat|курато|dev|раз|supp|сапп|yt|ютуб).*");
private final Map<ITextComponent, String> staffPlayers = new LinkedHashMap<>();
@Override
public boolean onEvent(Event event) {
if (mc.player == null || mc.world == null) return false;
if (event instanceof EventUpdate) {
staffPlayers.clear();
for (ScorePlayerTeam team : mc.world.getScoreboard().getTeams().stream().sorted(Comparator.comparing(Team::getName)).toList()) {
String name = team.getMembershipCollection().toString();
name = name.substring(1, name.length() - 1);
if (namePattern.matcher(name).matches()) {
if (prefixMatches.matcher(team.getPrefix().getString().toLowerCase(Locale.ROOT)).matches() || Managment.STAFF_MANAGER.isStaff(name)) {
staffPlayers.put(team.getPrefix(), name);
}
}
}
// Упрощенная логика BPS
frameCounter++;
if (frameCounter >= updateInterval) {
String bpsString = HudUtil.calculateBPS();
try {
// Заменяем запятую на точку если нужно
bpsString = bpsString.replace(',', '.');
float currentBps = Float.parseFloat(bpsString);
graphValues[currentIndex] = currentBps;
currentIndex = (currentIndex + 1) % graphValues.length;
float sum = 0;
for (float val : graphValues) {
sum += val;
}
smoothedBps = sum / graphValues.length;
frameCounter = 0;
} catch (NumberFormatException e) {
smoothedBps = 0.0f;
}
}
bpsanika = AnimationMath.fast(bpsanika, smoothedBps, 10.0f);
}
if (event instanceof EventRender e && e.isRender2D()) {
for (int i = 0; i < colors.length; i++) {
colors[i] = Managment.STYLE_MANAGER.getCurrentStyle().getColor(i);
}
window = e.scaledResolution;
final MatrixStack matrixStack = e.matrixStack;
if (elements.get(0)) renderTarget(matrixStack);
if (elements.get(1)) Logo(matrixStack);
if (elements.get(2)) renderKeyBinds(matrixStack);
if (elements.get(3)) renderStaffList(matrixStack);
if (elements.get(4)) renderPotions(matrixStack);
}
return false;
}
public void Logo(MatrixStack stack) {
float x = this.Logo.getX();
float y = this.Logo.getY();
StyledFont font = Fonts.msSemiBold[14];
String info = " / " + mc.debugFPS + "fps";
float width = font.getWidth("Evaware" + info) + 8;
int alpha = (int) alphaslider.getValue().floatValue();
if (blurss.get()) {
GaussianBlur.startBlur();
RenderUtil.Render2D.drawRoundedRect(x, y, width, 13, 3.5f, new Color(24, 24, 24, 236).getRGB());
GaussianBlur.endBlur(3.5f, 1);
}
if (blacks.get()) {
RenderUtil.Render2D.drawShadow(x, y, width, 13, 10, ColorUtil.rgba(0, 0, 0, alpha));
}
RenderUtil.Render2D.drawRoundedRect(x, y, width, 13, 3.5f, ColorUtil.rgba(0, 0, 0, alpha));
font.drawString(stack, "Evaware", x + 4, y + 4.5f, -1);
font.drawString(stack, info, x + 4 + font.getWidth("Evaware"), y + 4.5f, -1);
this.Logo.setWidth(width);
this.Logo.setHeight(13);
}
private void drawItemStack(float x, float y, float offset) {
List<ItemStack> stacks = new ArrayList<>(Arrays.asList(target.getHeldItemMainhand(), target.getHeldItemOffhand()));
target.getArmorInventoryList().forEach(stacks::add);
stacks.removeIf(w -> w.getItem() instanceof AirItem);
Collections.reverse(stacks);
final AtomicReference<Float> posX = new AtomicReference<>(x);
stacks.stream()
.filter(stack -> !stack.isEmpty())
.forEach(stack -> HudUtil.drawItemStack(stack,
posX.getAndAccumulate(offset, Float::sum),
y,
true,
true, 0.6f));
}
private void renderPotions(MatrixStack matrixStack) {
float posX = this.potionStatus.getX();
float posY = this.potionStatus.getY();
int headerHeight = 14;
int width = mc.player.getActivePotionEffects().isEmpty() ? 80 : 98;
int padding = 5;
float offset = 10.5F;
this.widthAnim = AnimationMath.fast(this.widthAnim, (float) width, 13.5F);
this.heightAnim = AnimationMath.fast(this.heightAnim, offset, 10.0F);
int firstColor = ColorUtil.getColorStyle(0.0F);
int secondColor = ColorUtil.getColorStyle(90.0F);
int alpha = (int) alphaslider.getValue().floatValue();
if (blurss.get()) {
GaussianBlur.startBlur();
RenderUtil.Render2D.drawRoundedRect(posX, posY, this.widthAnim, 14.0F, 3.5F, (new Color(24, 24, 24, 236)).getRGB());
GaussianBlur.endBlur(3.5f, 1);
}
if (blacks.get()) {
RenderUtil.Render2D.drawShadow(posX, posY, this.widthAnim, 14.0F, 10, (ColorUtil.rgba(0, 0, 0, alpha)));
}
RenderUtil.Render2D.drawRoundedRect(posX, posY, this.widthAnim, 14.0F, 3.5F, (ColorUtil.rgba(0, 0, 0, alpha)));
Fonts.sf_medium[15].drawString(matrixStack, "Active potions", (double) (this.potionStatus.getX() + 18.0F), (double) (posY + 5.0F), -1);
RenderUtil.Render2D.drawRect(posX + 15.0F, posY + 3.0F, 0.3F, 7.5F, (new Color(200, 200, 200, 100)).getRGB());
Fonts.nursultan[16].drawString(matrixStack, ClientUtil.gradient((String) "E", Managment.STYLE_MANAGER.getCurrentStyle().getColor(0), Managment.STYLE_MANAGER.getCurrentStyle().getColor(90)), (double) (posX + 4.5F), (double) (posY + 6.0F), -1);
int index = 0;
Iterator var9 = mc.player.getActivePotionEffects().iterator();
while (var9.hasNext()) {
EffectInstance p = (EffectInstance) var9.next();
if (p.isShowIcon()) {
String durationText = EffectUtils.getPotionDurationString(p, 1.0F);
float durationWidth = Fonts.sf_medium[12].getWidth(durationText);
int amplifier = p.getAmplifier();
String amplifierText = amplifier > 0 ? "" + (amplifier + 1) : "";
posY += offset;
if (blurss.get()) {
GaussianBlur.startBlur();
RenderUtil.Render2D.drawRoundedRect(posX + (float) padding - 5.0F, posY + (float) headerHeight + (float) padding - 14.5F, this.widthAnim, this.heightAnim - 0.5F, 2.5f, (new Color(24, 24, 24, 236)).getRGB());
GaussianBlur.endBlur(2.5f, 1);
}
if (blacks.get()) {
RenderUtil.Render2D.drawShadow(posX + (float) padding - 5.0F, posY + (float) headerHeight + (float) padding - 14.5F, this.widthAnim, this.heightAnim - 0.5F, 10, (ColorUtil.rgba(0, 0, 0, alpha)));
}
RenderUtil.Render2D.drawRoundedRect(posX + (float) padding - 5.0F, posY + (float) headerHeight + (float) padding - 14.5F, this.widthAnim, this.heightAnim - 0.5F, 2.5f, (ColorUtil.rgba(0, 0, 0, alpha)));
Fonts.sf_medium[13].drawString(matrixStack, I18n.format(p.getEffectName(), new Object[0]), (double) (posX + (float) padding) - 2, (double) (posY + (float) headerHeight + (float) padding - 11.0F), -1);
int color = -1;
if (amplifier == 1) {
color = (new Color(255, 255, 255, 250)).getRGB();
} else if (amplifier >= 2) {
color = (new Color(255, 255, 255, 250)).getRGB();
}
PotionSpriteUploader potionspriteuploader = mc.getPotionSpriteUploader();
Effect effect = p.getPotion();
TextureAtlasSprite textureatlassprite = potionspriteuploader.getSprite(effect);
mc.getTextureManager().bindTexture(textureatlassprite.getAtlasTexture().getTextureLocation());
DisplayEffectsScreen.blit(matrixStack, (int) (posX + (float) width - (float) padding - 4.5F), (int) (posY + (float) headerHeight + (float) padding - 12.8F), 10, 8, 8, textureatlassprite);
Fonts.sf_medium[13].drawString(matrixStack, amplifierText, (double) (posX + (float) padding + Fonts.sf_medium[13].getWidth(I18n.format(p.getEffectName(), new Object[0])) + -0.5F), (double) (posY + (float) headerHeight + (float) padding - 11.0F), color);
Fonts.sf_medium[13].drawString(matrixStack, durationText, (double) (posX + (float) width - durationWidth - (float) padding - 12.0F), (double) (posY + (float) headerHeight + (float) padding - 11.0F), -1);
RenderUtil.Render2D.drawRect(posX + (float) padding + 80.0F, posY - 12.5F + (float) headerHeight + (float) padding, 0.3F, 5.8F, (new Color(200, 200, 200, 100)).getRGB());
++index;
}
}
this.activePotions = index;
this.potionStatus.setWidth((float) width);
this.potionStatus.setHeight((float) this.activePotions * offset + (float) headerHeight);
}
float kbHeight = 0;
float kbWidth = 100;
float kbWidthAnimation = 0, kbHeightAnimation = 0;
private void renderKeyBinds(MatrixStack matrixStack) {
float posX = this.keyBinds.getX();
float posY = this.keyBinds.getY();
int headerHeight = 14;
int padding = 5;
int firstColor = ColorUtil.getColorStyle(0.0F);
int secondColor = ColorUtil.getColorStyle(90.0F);
this.activeModules = 0;
Iterator var6 = Managment.FUNCTION_MANAGER.getFunctions().iterator();
while (var6.hasNext()) {
Function f = (Function) var6.next();
if (f.bind != 0 && f.state) {
++this.activeModules;
}
}
this.keyBinds.setHeight((float) this.activeModules * this.offsetbind + (float) headerHeight);
float maxWidth = 0.0F;
float height = this.activeModules * offsetbind;
Iterator var16 = Managment.FUNCTION_MANAGER.getFunctions().iterator();
while (var16.hasNext()) {
Function f = (Function) var16.next();
if (f.bind != 0 && f.state) {
String text = ClientUtil.getKey(f.bind);
if (text != null) {
String bindText = text.toUpperCase();
float bindWidth = Fonts.sf_medium[13].getWidth(bindText);
float nameWidth = Fonts.sf_medium[13].getWidth(f.name);
maxWidth = Math.max(maxWidth, bindWidth);
maxWidth = Math.max(maxWidth, nameWidth);
}
}
}
float targetWidth = Math.max(60.0F, 15.5F + maxWidth + (float) (padding * 2) + 5.0F);
this.widthAnime = AnimationMath.lerp(this.widthAnime, targetWidth, 10.5F);
this.keyBinds.setWidth(this.widthAnime);
int alpha = (int) alphaslider.getValue().floatValue();
if (blurss.get()) {
GaussianBlur.startBlur();
RenderUtil.Render2D.drawRoundedRect(posX, posY - 2.0F, this.keyBinds.getWidth(), 14.0F, 3.5F, (new Color(0, 0, 0, 140)).getRGB());
RenderUtil.Render2D.drawRect(posX + 16.0F, posY + 1.0F, 0.3F, 7.5F, (new Color(200, 200, 200, 100)).getRGB());
GaussianBlur.endBlur(7.5f, 1);
}
if (blacks.get()) {
RenderUtil.Render2D.drawShadow(posX, posY - 2.0F, this.keyBinds.getWidth(), 14.0F, 10, (ColorUtil.rgba(0, 0, 0, alpha)));
}
RenderUtil.Render2D.drawRoundedRect(posX, posY - 2.0F, this.keyBinds.getWidth(), 14.0F, 3.5F, (ColorUtil.rgba(0, 0, 0, alpha)));
RenderUtil.Render2D.drawRect(posX + 16.0F, posY + 1.0F, 0.3F, 7.5F, (new Color(200, 200, 200, 100)).getRGB());
Fonts.sf_medium[15].drawString(matrixStack, "Hotkeys", (double) (posX + 20.5F), (double) (posY + 3F), (new Color(255, 255, 255, 255)).getRGB());
Fonts.nursultan[16].drawString(matrixStack, ClientUtil.gradient((String) "C", Managment.STYLE_MANAGER.getCurrentStyle().getColor(0), Managment.STYLE_MANAGER.getCurrentStyle().getColor(90)), (double) (posX + 5.0F), (double) (posY + 4.0F), -1);
RenderUtil.SmartScissor.push();
RenderUtil.SmartScissor.setFromComponentCoordinates((double) posX - 50, (double) posY, (double) this.keyBinds.getWidth() + 100, (double) this.keyBinds.getHeight() + 100);
int index = 0;
Iterator var19 = Managment.FUNCTION_MANAGER.getFunctions().iterator();
while (var19.hasNext()) {
Function f = (Function) var19.next();
if (f.bind != 0 && f.state) {
String text = ClientUtil.getKey(f.bind);
if (text != null) {
String bindText = text.toUpperCase();
float bindWidth = Fonts.sf_medium[13].getWidth(bindText);
StyledFont keyname = Fonts.sf_medium[13];
if (blurss.get()) {
GaussianBlur.startBlur();
RenderUtil.Render2D.drawRoundedRect(posX + (float) padding - 5.0F, posY - 6.0F + (float) headerHeight + (float) padding + (float) index * this.offsetbind, this.keyBinds.getWidth(), 10.0F, 2.5F, (new Color(24, 24, 24, 236)).getRGB());
GaussianBlur.endBlur(2.5f, 1);
}
RenderUtil.Render2D.drawRoundedRect(posX + (float) padding - 5.0F, posY - 6.0F + (float) headerHeight + (float) padding + (float) index * this.offsetbind, this.keyBinds.getWidth(), 10.0F, 2.5F, (ColorUtil.rgba(0, 0, 0, alpha)));
if (blacks.get()) {
RenderUtil.Render2D.drawShadow(posX + (float) padding - 5.0F, posY - 6.0F + (float) headerHeight + (float) padding + (float) index * this.offsetbind, this.keyBinds.getWidth(), 10, 10, (ColorUtil.rgba(0, 0, 0, alpha)));
}
Fonts.sf_medium[13].drawString(matrixStack, bindText, (double) (posX + this.keyBinds.getWidth() - (float) padding - bindWidth + 1.5F), (double) (posY - 2.5F + (float) headerHeight + (float) padding + (float) index * this.offsetbind), -1);
keyname.drawString(matrixStack, f.name, (posX + -2F + (float) padding), (double) (posY - 2.5F + (float) headerHeight + (float) padding + (float) index * this.offsetbind), -1);
++index;
}
}
}
RenderUtil.SmartScissor.unset();
RenderUtil.SmartScissor.pop();
}
int activeStaff = 0;
private void renderStaffList(MatrixStack matrixStack) {
float x = this.staffList.getX();
float y = this.staffList.getY();
float width = 85.5F;
float height = 14.0F;
float offset = 10.5F;
int headerHeight = 14;
int padding = 5;
float staffActive = x + 19.5F;
if (this.activeStaff == 0) {
width = 68.5F;
}
this.widthDynamic = AnimationMath.fast(this.widthDynamic, width, 10);
int alpha = (int) alphaslider.getValue().floatValue();
if (blurss.get()) {
GaussianBlur.startBlur();
RenderUtil.Render2D.drawRoundedRect(x, y, widthDynamic, height, 3.5F, (new Color(0, 0, 0, 255)).getRGB());
GaussianBlur.endBlur(3.5f, 1);
}
if (blacks.get()) {
RenderUtil.Render2D.drawShadow(x, y, widthDynamic, height, 10, (ColorUtil.rgba(0, 0, 0, alpha)));
}
RenderUtil.Render2D.drawRoundedRect(x, y, widthDynamic, height, 3.5F, (ColorUtil.rgba(0, 0, 0, alpha)));
RenderUtil.Render2D.drawRect(x + 16.0F, y + 3.0F, 0.3F, 7.5F, (new Color(200, 200, 200, 100)).getRGB());
Fonts.sf_medium[15].drawString(matrixStack, "Staff online", (double) staffActive, (double) (y + 5.0F), (new Color(255, 255, 255, 255)).getRGB());
Fonts.nursultan[18].drawString(matrixStack, ClientUtil.gradient((String) "O", Managment.STYLE_MANAGER.getCurrentStyle().getColor(0), Managment.STYLE_MANAGER.getCurrentStyle().getColor(90)), (double) (x + 4.0F), (double) (y + 5.5F), -1);
int i = 0;
Iterator var10 = mc.world.getScoreboard().getTeams().stream().sorted(Comparator.comparing(Team::getName)).toList().iterator();
while (true) {
String name;
boolean vanish;
boolean near;
boolean active;
do {
do {
if (!var10.hasNext()) {
this.activeStaff = i;
this.staffList.setWidth((int) width);
this.staffList.setHeight(height + offset * this.activeStaff);
return;
}
ScorePlayerTeam team = (ScorePlayerTeam) var10.next();
name = team.getMembershipCollection().toString();
name = name.substring(1, name.length() - 1);
} while (!this.namePattern.matcher(name).matches());
vanish = true;
near = false;
active = false;
Iterator var16 = mc.world.getPlayers().iterator();
while (var16.hasNext()) {
AbstractClientPlayerEntity player = (AbstractClientPlayerEntity) var16.next();
if (player.getNameClear().equals(name)) {
near = true;
}
}
var16 = mc.getConnection().getPlayerInfoMap().iterator();
while (var16.hasNext()) {
NetworkPlayerInfo info = (NetworkPlayerInfo) var16.next();
if (info.getGameProfile().getName().equals(name)) {
vanish = false;
if (!near) {
active = true;
}
}
}
} while (!vanish && !Managment.STAFF_MANAGER.isStaff(name));
String Name = name.substring(0, Math.min(name.length(), 16));
float yText = y + 18.5F;
StyledFont nickDraw = Fonts.sf_medium[14];
if (blurss.get()) {
GaussianBlur.startBlur();
RenderUtil.Render2D.drawRoundedRect(x + (float) padding - 5.0F, yText - 4.0F, widthDynamic, 10.0F, 2.5f, (new Color(24, 24, 24, 236)).getRGB());
GaussianBlur.endBlur(2.5f, 1);
}
if (blacks.get()) {
RenderUtil.Render2D.drawShadow(x + (float) padding - 5.0F, yText - 4.0F, widthDynamic, 10.0F, 10, (ColorUtil.rgba(0, 0, 0, alpha)));
}
RenderUtil.Render2D.drawRoundedRect(x + (float) padding - 5.0F, yText - 4.0F, widthDynamic, 10.0F, 2.5f, (ColorUtil.rgba(0, 0, 0, alpha)));
nickDraw.drawString(matrixStack, Name, (double) (x + 3.0F), (double) yText, (new Color(255, 255, 255, 254)).getRGB());
if (active) {
RenderUtil.Render2D.drawRoundCircle(x + widthDynamic - 6, y + 19.8F, 5.5F, (new Color(21, 238, 15, 255)).getRGB());
}
if (vanish) {
RenderUtil.Render2D.drawRoundCircle(x + widthDynamic - 6, y + 19.8F, 5.5F, (new Color(250, 19, 45, 255)).getRGB());
}
if (near && !vanish) {
RenderUtil.Render2D.drawRoundCircle(x + widthDynamic - 6, y + 19.8F, 5.5F, (new Color(255, 196, 0, 255)).getRGB());
}
y += offset;
++i;
}
}
float health = 0;
private double scale = 0.0D;
private void renderTarget(MatrixStack matrixStack) {
float x = this.targetHUD.getX();
float y = this.targetHUD.getY();
float width2 = 98.0f;
float height2 = 34.0f;
float widthFace = 34.0f;
this.target = this.getTarget(this.target);
this.tHudAnimation.setDuration(280);
this.scale = this.tHudAnimation.getOutput();
if (this.scale == 0.0) {
this.target = null;
}
if (this.target == null) {
return;
}
GlStateManager.pushMatrix();
AnimationMath.sizeAnimation(x + width2 / 2.0f, y + 15.0f, this.scale);
int alpha = (int) alphaslider.getValue().floatValue();
if (blurss.get()) {
GaussianBlur.startBlur();
RenderUtil.Render2D.drawRoundedRect(x, y, width2 + 5, height2 + 5, 5, (ColorUtil.rgba(0, 0, 0, alpha)));
GaussianBlur.endBlur(3, 1);
}
if (blacks.get()) {
RenderUtil.Render2D.drawShadow(x, y, width2 + 5, height2 + 5, 10, (ColorUtil.rgba(0, 0, 0, alpha)));
}
RenderUtil.Render2D.drawRoundedRect(x, y, width2 + 5, height2 + 5, 5, (ColorUtil.rgba(0, 0, 0, alpha)));
RenderUtil.Render2D.drawShadow(x, y, width2 + 5, height2 + 5, 10, (new Color(0, 0, 0, 0)).getRGB());
RenderUtil.Render2D.drawRoundFace(x + 3, y + 3.5f, 32, 32, 5, 1F, (AbstractClientPlayerEntity) this.target);
float xHP = x + widthFace + 3.8f;
float yHP = y + 21.3f;
float widthHP = 52.0f;
this.health = AnimationMath.fast(this.health, this.target.getHealth() / this.target.getMaxHealth(), 6.0f);
this.health = MathHelper.clamp(this.health, 0.0f, 1.0f);
this.absorption = AnimationMath.fast(this.absorption, this.target.getAbsorptionAmount() / this.target.getMaxHealth(), 6.0f);
this.absorption = MathHelper.clamp(this.absorption, 0.0f, 1.0f);
if (ClientUtil.isConnectedToServer("reallyworld")) {
for (Map.Entry<ScoreObjective, Score> entry : mc.world.getScoreboard().getObjectivesForEntity(this.target.getName().getString()).entrySet()) {
ScoreObjective objective = (ScoreObjective) entry.getKey();
Score score = (Score) entry.getValue();
this.target.setHealth((float) score.getScorePoints());
}
}
if (!hp.get()) {
if (this.target.getHealth() >= 15.0F) {
RenderUtil.Render2D.drawGradientRound(xHP, yHP + 6, 60, 6, 2, ColorUtil.rgba(62, 106, 36, 68), ColorUtil.rgba(62, 106, 36, 68), ColorUtil.rgba(117, 237, 47, 68), ColorUtil.rgba(117, 237, 47, 68));
RenderUtil.Render2D.drawGradientRound(xHP, yHP + 6, 60 * this.health, 6, 2, ColorUtil.rgba(62, 106, 36, 250), ColorUtil.rgba(62, 106, 36, 250), ColorUtil.rgba(117, 237, 47, 250), ColorUtil.rgba(117, 237, 47, 250));
} else if (this.target.getHealth() >= 5.0F) {
RenderUtil.Render2D.drawGradientRound(xHP, yHP + 6, 60, 6, 2, ColorUtil.rgba(145, 145, 22, 68), ColorUtil.rgba(145, 145, 22, 68), ColorUtil.rgba(212, 237, 15, 68), ColorUtil.rgba(212, 237, 15, 68));
RenderUtil.Render2D.drawGradientRound(xHP, yHP + 6, 60 * this.health, 6, 2, ColorUtil.rgba(145, 145, 22, 250), ColorUtil.rgba(145, 145, 22, 250), ColorUtil.rgba(212, 237, 15, 250), ColorUtil.rgba(212, 237, 15, 250));
} else if (this.target.getHealth() >= 1000.0F) {
RenderUtil.Render2D.drawGradientRound(xHP, yHP + 6, 60, 6, 2, ColorUtil.rgba(255, 255, 255, 68), ColorUtil.rgba(32, 32, 32, 68), ColorUtil.rgba(255, 255, 255, 170), ColorUtil.rgba(204, 0, 0, 68));
RenderUtil.Render2D.drawGradientRound(xHP, yHP + 6, 60 * this.health, 6, 2, ColorUtil.rgba(255, 255, 255, 250), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(255, 255, 255, 250), ColorUtil.rgba(204, 0, 0, 250));
} else {
RenderUtil.Render2D.drawGradientRound(xHP, yHP + 6, 60, 6, 2, ColorUtil.rgba(147, 22, 22, 68), ColorUtil.rgba(147, 22, 22, 68), ColorUtil.rgba(230, 16, 16, 68), ColorUtil.rgba(230, 16, 16, 68));
RenderUtil.Render2D.drawGradientRound(xHP, yHP + 6, 60 * this.health, 6, 2, ColorUtil.rgba(147, 22, 22, 250), ColorUtil.rgba(147, 22, 22, 250), ColorUtil.rgba(230, 16, 16, 250), ColorUtil.rgba(230, 16, 16, 250));
}
} else {
RenderUtil.Render2D.drawGradientRound(xHP, yHP + 6, 60 * this.health, 6, 2.0F, ColorUtil.getColorStyle(240), ColorUtil.getColorStyle(20), ColorUtil.getColorStyle(40), ColorUtil.getColorStyle(90));
}
RenderUtil.Render2D.drawGradientRound(xHP - 0.2f, yHP - 0.3f + 6, 55 * this.absorption - 2, 6.5f, 2.0F, ColorUtil.rgba(62, 71, 0, 250), ColorUtil.rgba(32, 32, 32, 250), ColorUtil.rgba(255, 255, 0, 250), ColorUtil.rgba(153, 153, 0, 250));
String targetName = this.target.getName().getString();
RenderUtil.SmartScissor.push();
RenderUtil.SmartScissor.setFromComponentCoordinates(x, y, width2 - 6.0f, height2);
Fonts.sf_medium[18].drawString(matrixStack, targetName, (double) xHP, (double) (yHP - 15.3f), new Color(255, 255, 255, 255).getRGB());
RenderUtil.SmartScissor.unset();
RenderUtil.SmartScissor.pop();
String BS = String.valueOf(this.target.getAbsorptionAmount());
String HP = String.valueOf(this.target.getHealth());
String abbs = BS.substring(0, Math.min(BS.length(), 4));
String StringHP = HP.substring(0, Math.min(HP.length(), 4));
String swagsoudzafake = target.getHealth() / target.getMaxHealth() * 100 + " ";
String swagsoudza = swagsoudzafake.substring(0, Math.min(HP.length(), 3));
if (this.target.getHealth() + this.target.getAbsorptionAmount() < 10.0f) {
StringHP = HP.substring(0, Math.min(HP.length(), 3));
}
Fonts.sf_medium[13].drawString(matrixStack, "HP: " + StringHP, (double) xHP, (double) (yHP - 0.7f), new Color(255, 255, 255, 255).getRGB());
this.drawItemStack(x, y - 12.0f, 10.5f);
GlStateManager.popMatrix();
this.targetHUD.setWidth(width2);
this.targetHUD.setHeight(height2);
}
private PlayerEntity getTarget(PlayerEntity nullTarget) {
PlayerEntity target = nullTarget;
if (Managment.FUNCTION_MANAGER.auraFunction.getTarget() instanceof PlayerEntity) {
target = (PlayerEntity) Managment.FUNCTION_MANAGER.auraFunction.getTarget();
tHudAnimation.setDirection(Direction.FORWARDS);
} else if (mc.currentScreen instanceof ChatScreen) {
target = mc.player;
tHudAnimation.setDirection(Direction.FORWARDS);
} else {
tHudAnimation.setDirection(Direction.BACKWARDS);
}
return target;
}
private int getColor(int index) {
return colors[index % colors.length];
}
}
SS
/del принимаеться