Исходник Hud Wonderful Client [IntellIj ready, expa 3.1 ready]

Начинающий
Статус
Оффлайн
Регистрация
11 Дек 2023
Сообщения
23
Реакции[?]
0
Поинты[?]
1K

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

кодер полный ишак, хз кому эта параша нужна держите:

Пожалуйста, авторизуйтесь для просмотра ссылки.


TargetHud:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.animations.Animation;
import im.veron.utils.animations.Direction;
import im.veron.utils.animations.impl.EaseBackIn;
import im.veron.utils.drag.Dragging;
import im.veron.utils.math.MathUtil;
import im.veron.utils.math.StopWatch;
import im.veron.utils.math.Vector4i;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.Scissor;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

public class TargetInfoRenderer implements ElementRenderer {
   private final StopWatch stopWatch = new StopWatch();
   private final Dragging drag;
   private LivingEntity entity = null;
   private boolean allow;
   private final Animation animation = new EaseBackIn(132, 1.0D, 1.0F);
   private float healthAnimation = 0.0F;
   private float absorptionAnimation = 0.0F;
   private float hurtAnimation = 0.0F;
   private float second = 0.0F;
   private float third = 0.0F;

   public void render(EventDisplay eventDisplay) {
      this.entity = this.getTarget(this.entity);
      float rounding = 6.0F;
      boolean out = !this.allow || this.stopWatch.isReached(420L);
      this.animation.setDuration(out ? 400 : 300);
      this.animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);
      if (this.animation.getOutput() == 0.0D) {
         this.entity = null;
      }

      if (this.entity != null) {
         String name = this.entity.getName().getString();
         float posX = this.drag.getX();
         float posY = this.drag.getY();
         float headSize = 28.0F;
         float spacing = 5.0F;
         float width = 90.0F;
         float height = 28.0F;
         this.drag.setWidth(width);
         this.drag.setHeight(height);
         float shrinking = 1.5F;
         Score score = mc.world.getScoreboard().getOrCreateScore(this.entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
         float hp = this.entity.getHealth();
         float maxHp = this.entity.getMaxHealth();
         String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         this.healthAnimation = MathUtil.fast(this.healthAnimation, MathHelper.clamp(hp / maxHp, 0.0F, 1.0F), 10.0F);
         this.absorptionAnimation = MathUtil.fast(this.absorptionAnimation, MathHelper.clamp(this.entity.getAbsorptionAmount() / maxHp, 0.0F, 1.0F), 10.0F);
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         float animationValue = (float)this.animation.getOutput();
         this.hurtAnimation = MathUtil.fast(this.hurtAnimation, this.entity.hurtTime > 0 ? 208.0F : 0.0F, 15.0F);
         this.second = MathUtil.fast(this.second, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         this.third = MathUtil.fast(this.third, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         float halfAnimationValueRest = (1.0F - animationValue) / 2.0F;
         GlStateManager.pushMatrix();
         Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
         sizeAnimation((double)(posX + width / 2.0F), (double)(posY + height / 2.0F), this.animation.getOutput());
         DisplayUtils.drawRoundedRect(posX, posY, width, height / 2.0F, new Vector4f(4.0F, 0.0F, 4.0F, 0.0F), (new Color(12, 13, 13, 140)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY + height / 2.0F, width, height / 2.0F, new Vector4f(0.0F, 4.0F, 0.0F, 4.0F), (new Color(25, 25, 25, 180)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, width - 10.0F, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(21, 21, 21, 121)).getRGB());
         DisplayUtils.drawShadow(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, 6, (new Color(0, 0, 0, 116)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.absorptionAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(255, 205, 0, 197)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY, 16.0F, height / 2.0F, new Vector4f(4.0F, 0.0F, 0.0F, 0.0F), (new Color(18, 18, 18)).getRGB());
         Scissor.push();
         Scissor.setFromComponentCoordinates((double)posX, (double)posY, (double)width, (double)height);
         Fonts.sfbold.drawText(eventDisplay.getMatrixStack(), this.entity.getName().getString(), posX + 19.0F, posY + height / 4.0F - 4.0F, -1, 8.0F);
         Scissor.pop();
         int anim = (int)this.hurtAnimation;
         int anim2 = (int)this.second;
         int anim3 = (int)this.third;
         DisplayUtils.drawImage(new ResourceLocation("wonderful/images/hud/user.png"), posX + 8.0F - 5.0F, posY + 7.0F - 5.0F, 10.0F, 10.0F, this.entity.hurtTime > 0 ? (new Color(anim, anim2, anim3)).getRGB() : (new Color(255, 255, 255)).getRGB());
         GlStateManager.popMatrix();
      }

   }

   private LivingEntity getTarget(LivingEntity nullTarget) {
      LivingEntity auraTarget = Veron.getInstance().getFunctionRegistry().getKillAura().getTarget();
      LivingEntity target = nullTarget;
      if (auraTarget != null) {
         this.stopWatch.reset();
         this.allow = true;
         target = auraTarget;
      } else if (mc.currentScreen instanceof ChatScreen) {
         this.stopWatch.reset();
         this.allow = true;
         target = mc.player;
      } else {
         this.allow = false;
      }

      return (LivingEntity)target;
   }

   public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
      if (entity != null) {
         EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
         this.drawFace(rendererManager.getEntityTexture(entity), x, y, 8.0F, 8.0F, 8.0F, 8.0F, width, height, 64.0F, 64.0F, entity);
      }

   }

   public static void sizeAnimation(double width, double height, double scale) {
      GlStateManager.translated(width, height, 0.0D);
      GlStateManager.scaled(scale, scale, scale);
      GlStateManager.translated(-width, -height, 0.0D);
   }

   public void drawFace(ResourceLocation res, float d, float y, float u, float v, float uWidth, float vHeight, float width, float height, float tileWidth, float tileHeight, LivingEntity target) {
      GL11.glPushMatrix();
      GL11.glEnable(3042);
      mc.getTextureManager().bindTexture(res);
      float hurtPercent = ((float)target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0F)) / 10.0F;
      GL11.glColor4f(1.0F, 1.0F - hurtPercent, 1.0F - hurtPercent, 1.0F);
      AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glPopMatrix();
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius, int alpha) {
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(18, 18, 18, alpha));
   }

   public TargetInfoRenderer(Dragging drag) {
      this.drag = drag;
   }
}
ArrayList:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.events.EventUpdate;
import im.veron.functions.api.Function;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.display.ElementUpdater;
import im.veron.utils.math.StopWatch;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
   private int lastIndex;
   List<Function> list;
   StopWatch stopWatch = new StopWatch();

   public void update(EventUpdate e) {
      if (this.stopWatch.isReached(1000L)) {
         this.list = Veron.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
         this.stopWatch.reset();
      }

   }

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float rounding = 6.0F;
      float padding = 3.5F;
      Minecraft mc = Minecraft.getInstance();
      int screenWidth = mc.getMainWindow().getScaledWidth();
      float posY = 0.0F;
      int index = 0;
      if (this.list != null) {
         Iterator var9 = this.list.iterator();

         Function f;
         float fontSize;
         Animation anim;
         float value;
         String text;
         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            value = (float)anim.getValue();
            text = f.getName();
            Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               posY += (fontSize + padding * 2.0F) * value;
               ++index;
            }
         }

         index = 0;
         posY = 5.0F;
         var9 = this.list.iterator();

         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            anim.update();
            value = (float)anim.getValue();
            text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               float localFontSize = fontSize * value;
               float localTextWidth = textWidth * value;
               float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
               boolean isFirst = index == 0;
               boolean isLast = index == this.lastIndex;
               float topLeftRadius = isFirst ? rounding : 0.0F;
               float bottomLeftRadius = isLast ? rounding : 0.0F;
               DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, (new Color(1644167169, true)).getRGB());
               DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, (new Color(1644167169, true)).getRGB());
               Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
               posY += (fontSize + padding * 2.0F - 1.0F) * value;
               ++index;
            }
         }

         this.lastIndex = index - 1;
      }

   }
}
Watermark:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import im.veron.utils.text.GradientUtil;
import java.awt.Color;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

public class WatermarkRenderer implements ElementRenderer {
   private final ResourceLocation logo = new ResourceLocation("wonderful/images/hud/logo.png");
   private final ResourceLocation user = new ResourceLocation("wonderful/images/hud/user.png");

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float posX = -17.0F;
      float posY = 4.0F;
      float padding = 5.0F;
      float fontSize = 6.5F;
      float iconSize = 10.0F;
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      ITextComponent text = GradientUtil.gradient("WonderFul.tech");
      float textWidth = Fonts.sfui.getWidth(text, fontSize);
      float localPosX = posX + iconSize + padding * 3.0F;
      this.drawStyledRect(localPosX, posY, iconSize + padding * 2.5F + textWidth, iconSize + padding * 2.0F, 4.0F);
      DisplayUtils.drawImage(this.user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));
      Fonts.sfui.drawText(ms, text, localPosX + iconSize + padding * 1.5F - 1.0F, posY + iconSize / 2.0F + 1.5F, fontSize, 255);
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius) {
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, (new Color(1644167169, true)).getRGB());
   }
}
 
Начинающий
Статус
Оффлайн
Регистрация
16 Июн 2024
Сообщения
37
Реакции[?]
0
Поинты[?]
0
кодер полный ишак, хз кому эта параша нужна держите:

Пожалуйста, авторизуйтесь для просмотра ссылки.


TargetHud:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.animations.Animation;
import im.veron.utils.animations.Direction;
import im.veron.utils.animations.impl.EaseBackIn;
import im.veron.utils.drag.Dragging;
import im.veron.utils.math.MathUtil;
import im.veron.utils.math.StopWatch;
import im.veron.utils.math.Vector4i;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.Scissor;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

public class TargetInfoRenderer implements ElementRenderer {
   private final StopWatch stopWatch = new StopWatch();
   private final Dragging drag;
   private LivingEntity entity = null;
   private boolean allow;
   private final Animation animation = new EaseBackIn(132, 1.0D, 1.0F);
   private float healthAnimation = 0.0F;
   private float absorptionAnimation = 0.0F;
   private float hurtAnimation = 0.0F;
   private float second = 0.0F;
   private float third = 0.0F;

   public void render(EventDisplay eventDisplay) {
      this.entity = this.getTarget(this.entity);
      float rounding = 6.0F;
      boolean out = !this.allow || this.stopWatch.isReached(420L);
      this.animation.setDuration(out ? 400 : 300);
      this.animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);
      if (this.animation.getOutput() == 0.0D) {
         this.entity = null;
      }

      if (this.entity != null) {
         String name = this.entity.getName().getString();
         float posX = this.drag.getX();
         float posY = this.drag.getY();
         float headSize = 28.0F;
         float spacing = 5.0F;
         float width = 90.0F;
         float height = 28.0F;
         this.drag.setWidth(width);
         this.drag.setHeight(height);
         float shrinking = 1.5F;
         Score score = mc.world.getScoreboard().getOrCreateScore(this.entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
         float hp = this.entity.getHealth();
         float maxHp = this.entity.getMaxHealth();
         String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         this.healthAnimation = MathUtil.fast(this.healthAnimation, MathHelper.clamp(hp / maxHp, 0.0F, 1.0F), 10.0F);
         this.absorptionAnimation = MathUtil.fast(this.absorptionAnimation, MathHelper.clamp(this.entity.getAbsorptionAmount() / maxHp, 0.0F, 1.0F), 10.0F);
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         float animationValue = (float)this.animation.getOutput();
         this.hurtAnimation = MathUtil.fast(this.hurtAnimation, this.entity.hurtTime > 0 ? 208.0F : 0.0F, 15.0F);
         this.second = MathUtil.fast(this.second, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         this.third = MathUtil.fast(this.third, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         float halfAnimationValueRest = (1.0F - animationValue) / 2.0F;
         GlStateManager.pushMatrix();
         Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
         sizeAnimation((double)(posX + width / 2.0F), (double)(posY + height / 2.0F), this.animation.getOutput());
         DisplayUtils.drawRoundedRect(posX, posY, width, height / 2.0F, new Vector4f(4.0F, 0.0F, 4.0F, 0.0F), (new Color(12, 13, 13, 140)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY + height / 2.0F, width, height / 2.0F, new Vector4f(0.0F, 4.0F, 0.0F, 4.0F), (new Color(25, 25, 25, 180)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, width - 10.0F, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(21, 21, 21, 121)).getRGB());
         DisplayUtils.drawShadow(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, 6, (new Color(0, 0, 0, 116)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.absorptionAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(255, 205, 0, 197)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY, 16.0F, height / 2.0F, new Vector4f(4.0F, 0.0F, 0.0F, 0.0F), (new Color(18, 18, 18)).getRGB());
         Scissor.push();
         Scissor.setFromComponentCoordinates((double)posX, (double)posY, (double)width, (double)height);
         Fonts.sfbold.drawText(eventDisplay.getMatrixStack(), this.entity.getName().getString(), posX + 19.0F, posY + height / 4.0F - 4.0F, -1, 8.0F);
         Scissor.pop();
         int anim = (int)this.hurtAnimation;
         int anim2 = (int)this.second;
         int anim3 = (int)this.third;
         DisplayUtils.drawImage(new ResourceLocation("wonderful/images/hud/user.png"), posX + 8.0F - 5.0F, posY + 7.0F - 5.0F, 10.0F, 10.0F, this.entity.hurtTime > 0 ? (new Color(anim, anim2, anim3)).getRGB() : (new Color(255, 255, 255)).getRGB());
         GlStateManager.popMatrix();
      }

   }

   private LivingEntity getTarget(LivingEntity nullTarget) {
      LivingEntity auraTarget = Veron.getInstance().getFunctionRegistry().getKillAura().getTarget();
      LivingEntity target = nullTarget;
      if (auraTarget != null) {
         this.stopWatch.reset();
         this.allow = true;
         target = auraTarget;
      } else if (mc.currentScreen instanceof ChatScreen) {
         this.stopWatch.reset();
         this.allow = true;
         target = mc.player;
      } else {
         this.allow = false;
      }

      return (LivingEntity)target;
   }

   public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
      if (entity != null) {
         EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
         this.drawFace(rendererManager.getEntityTexture(entity), x, y, 8.0F, 8.0F, 8.0F, 8.0F, width, height, 64.0F, 64.0F, entity);
      }

   }

   public static void sizeAnimation(double width, double height, double scale) {
      GlStateManager.translated(width, height, 0.0D);
      GlStateManager.scaled(scale, scale, scale);
      GlStateManager.translated(-width, -height, 0.0D);
   }

   public void drawFace(ResourceLocation res, float d, float y, float u, float v, float uWidth, float vHeight, float width, float height, float tileWidth, float tileHeight, LivingEntity target) {
      GL11.glPushMatrix();
      GL11.glEnable(3042);
      mc.getTextureManager().bindTexture(res);
      float hurtPercent = ((float)target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0F)) / 10.0F;
      GL11.glColor4f(1.0F, 1.0F - hurtPercent, 1.0F - hurtPercent, 1.0F);
      AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glPopMatrix();
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius, int alpha) {
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(18, 18, 18, alpha));
   }

   public TargetInfoRenderer(Dragging drag) {
      this.drag = drag;
   }
}
ArrayList:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.events.EventUpdate;
import im.veron.functions.api.Function;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.display.ElementUpdater;
import im.veron.utils.math.StopWatch;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
   private int lastIndex;
   List<Function> list;
   StopWatch stopWatch = new StopWatch();

   public void update(EventUpdate e) {
      if (this.stopWatch.isReached(1000L)) {
         this.list = Veron.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
         this.stopWatch.reset();
      }

   }

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float rounding = 6.0F;
      float padding = 3.5F;
      Minecraft mc = Minecraft.getInstance();
      int screenWidth = mc.getMainWindow().getScaledWidth();
      float posY = 0.0F;
      int index = 0;
      if (this.list != null) {
         Iterator var9 = this.list.iterator();

         Function f;
         float fontSize;
         Animation anim;
         float value;
         String text;
         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            value = (float)anim.getValue();
            text = f.getName();
            Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               posY += (fontSize + padding * 2.0F) * value;
               ++index;
            }
         }

         index = 0;
         posY = 5.0F;
         var9 = this.list.iterator();

         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            anim.update();
            value = (float)anim.getValue();
            text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               float localFontSize = fontSize * value;
               float localTextWidth = textWidth * value;
               float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
               boolean isFirst = index == 0;
               boolean isLast = index == this.lastIndex;
               float topLeftRadius = isFirst ? rounding : 0.0F;
               float bottomLeftRadius = isLast ? rounding : 0.0F;
               DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, (new Color(1644167169, true)).getRGB());
               DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, (new Color(1644167169, true)).getRGB());
               Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
               posY += (fontSize + padding * 2.0F - 1.0F) * value;
               ++index;
            }
         }

         this.lastIndex = index - 1;
      }

   }
}
Watermark:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import im.veron.utils.text.GradientUtil;
import java.awt.Color;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

public class WatermarkRenderer implements ElementRenderer {
   private final ResourceLocation logo = new ResourceLocation("wonderful/images/hud/logo.png");
   private final ResourceLocation user = new ResourceLocation("wonderful/images/hud/user.png");

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float posX = -17.0F;
      float posY = 4.0F;
      float padding = 5.0F;
      float fontSize = 6.5F;
      float iconSize = 10.0F;
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      ITextComponent text = GradientUtil.gradient("WonderFul.tech");
      float textWidth = Fonts.sfui.getWidth(text, fontSize);
      float localPosX = posX + iconSize + padding * 3.0F;
      this.drawStyledRect(localPosX, posY, iconSize + padding * 2.5F + textWidth, iconSize + padding * 2.0F, 4.0F);
      DisplayUtils.drawImage(this.user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));
      Fonts.sfui.drawText(ms, text, localPosX + iconSize + padding * 1.5F - 1.0F, posY + iconSize / 2.0F + 1.5F, fontSize, 255);
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius) {
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, (new Color(1644167169, true)).getRGB());
   }
}
Бро что после бана слил худ я тебя поздравляю :seemsgood:
кодер полный ишак, хз кому эта параша нужна держите:

Пожалуйста, авторизуйтесь для просмотра ссылки.


TargetHud:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.animations.Animation;
import im.veron.utils.animations.Direction;
import im.veron.utils.animations.impl.EaseBackIn;
import im.veron.utils.drag.Dragging;
import im.veron.utils.math.MathUtil;
import im.veron.utils.math.StopWatch;
import im.veron.utils.math.Vector4i;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.Scissor;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

public class TargetInfoRenderer implements ElementRenderer {
   private final StopWatch stopWatch = new StopWatch();
   private final Dragging drag;
   private LivingEntity entity = null;
   private boolean allow;
   private final Animation animation = new EaseBackIn(132, 1.0D, 1.0F);
   private float healthAnimation = 0.0F;
   private float absorptionAnimation = 0.0F;
   private float hurtAnimation = 0.0F;
   private float second = 0.0F;
   private float third = 0.0F;

   public void render(EventDisplay eventDisplay) {
      this.entity = this.getTarget(this.entity);
      float rounding = 6.0F;
      boolean out = !this.allow || this.stopWatch.isReached(420L);
      this.animation.setDuration(out ? 400 : 300);
      this.animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);
      if (this.animation.getOutput() == 0.0D) {
         this.entity = null;
      }

      if (this.entity != null) {
         String name = this.entity.getName().getString();
         float posX = this.drag.getX();
         float posY = this.drag.getY();
         float headSize = 28.0F;
         float spacing = 5.0F;
         float width = 90.0F;
         float height = 28.0F;
         this.drag.setWidth(width);
         this.drag.setHeight(height);
         float shrinking = 1.5F;
         Score score = mc.world.getScoreboard().getOrCreateScore(this.entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
         float hp = this.entity.getHealth();
         float maxHp = this.entity.getMaxHealth();
         String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         this.healthAnimation = MathUtil.fast(this.healthAnimation, MathHelper.clamp(hp / maxHp, 0.0F, 1.0F), 10.0F);
         this.absorptionAnimation = MathUtil.fast(this.absorptionAnimation, MathHelper.clamp(this.entity.getAbsorptionAmount() / maxHp, 0.0F, 1.0F), 10.0F);
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         float animationValue = (float)this.animation.getOutput();
         this.hurtAnimation = MathUtil.fast(this.hurtAnimation, this.entity.hurtTime > 0 ? 208.0F : 0.0F, 15.0F);
         this.second = MathUtil.fast(this.second, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         this.third = MathUtil.fast(this.third, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         float halfAnimationValueRest = (1.0F - animationValue) / 2.0F;
         GlStateManager.pushMatrix();
         Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
         sizeAnimation((double)(posX + width / 2.0F), (double)(posY + height / 2.0F), this.animation.getOutput());
         DisplayUtils.drawRoundedRect(posX, posY, width, height / 2.0F, new Vector4f(4.0F, 0.0F, 4.0F, 0.0F), (new Color(12, 13, 13, 140)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY + height / 2.0F, width, height / 2.0F, new Vector4f(0.0F, 4.0F, 0.0F, 4.0F), (new Color(25, 25, 25, 180)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, width - 10.0F, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(21, 21, 21, 121)).getRGB());
         DisplayUtils.drawShadow(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, 6, (new Color(0, 0, 0, 116)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.absorptionAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(255, 205, 0, 197)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY, 16.0F, height / 2.0F, new Vector4f(4.0F, 0.0F, 0.0F, 0.0F), (new Color(18, 18, 18)).getRGB());
         Scissor.push();
         Scissor.setFromComponentCoordinates((double)posX, (double)posY, (double)width, (double)height);
         Fonts.sfbold.drawText(eventDisplay.getMatrixStack(), this.entity.getName().getString(), posX + 19.0F, posY + height / 4.0F - 4.0F, -1, 8.0F);
         Scissor.pop();
         int anim = (int)this.hurtAnimation;
         int anim2 = (int)this.second;
         int anim3 = (int)this.third;
         DisplayUtils.drawImage(new ResourceLocation("wonderful/images/hud/user.png"), posX + 8.0F - 5.0F, posY + 7.0F - 5.0F, 10.0F, 10.0F, this.entity.hurtTime > 0 ? (new Color(anim, anim2, anim3)).getRGB() : (new Color(255, 255, 255)).getRGB());
         GlStateManager.popMatrix();
      }

   }

   private LivingEntity getTarget(LivingEntity nullTarget) {
      LivingEntity auraTarget = Veron.getInstance().getFunctionRegistry().getKillAura().getTarget();
      LivingEntity target = nullTarget;
      if (auraTarget != null) {
         this.stopWatch.reset();
         this.allow = true;
         target = auraTarget;
      } else if (mc.currentScreen instanceof ChatScreen) {
         this.stopWatch.reset();
         this.allow = true;
         target = mc.player;
      } else {
         this.allow = false;
      }

      return (LivingEntity)target;
   }

   public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
      if (entity != null) {
         EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
         this.drawFace(rendererManager.getEntityTexture(entity), x, y, 8.0F, 8.0F, 8.0F, 8.0F, width, height, 64.0F, 64.0F, entity);
      }

   }

   public static void sizeAnimation(double width, double height, double scale) {
      GlStateManager.translated(width, height, 0.0D);
      GlStateManager.scaled(scale, scale, scale);
      GlStateManager.translated(-width, -height, 0.0D);
   }

   public void drawFace(ResourceLocation res, float d, float y, float u, float v, float uWidth, float vHeight, float width, float height, float tileWidth, float tileHeight, LivingEntity target) {
      GL11.glPushMatrix();
      GL11.glEnable(3042);
      mc.getTextureManager().bindTexture(res);
      float hurtPercent = ((float)target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0F)) / 10.0F;
      GL11.glColor4f(1.0F, 1.0F - hurtPercent, 1.0F - hurtPercent, 1.0F);
      AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glPopMatrix();
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius, int alpha) {
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(18, 18, 18, alpha));
   }

   public TargetInfoRenderer(Dragging drag) {
      this.drag = drag;
   }
}
ArrayList:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.events.EventUpdate;
import im.veron.functions.api.Function;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.display.ElementUpdater;
import im.veron.utils.math.StopWatch;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
   private int lastIndex;
   List<Function> list;
   StopWatch stopWatch = new StopWatch();

   public void update(EventUpdate e) {
      if (this.stopWatch.isReached(1000L)) {
         this.list = Veron.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
         this.stopWatch.reset();
      }

   }

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float rounding = 6.0F;
      float padding = 3.5F;
      Minecraft mc = Minecraft.getInstance();
      int screenWidth = mc.getMainWindow().getScaledWidth();
      float posY = 0.0F;
      int index = 0;
      if (this.list != null) {
         Iterator var9 = this.list.iterator();

         Function f;
         float fontSize;
         Animation anim;
         float value;
         String text;
         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            value = (float)anim.getValue();
            text = f.getName();
            Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               posY += (fontSize + padding * 2.0F) * value;
               ++index;
            }
         }

         index = 0;
         posY = 5.0F;
         var9 = this.list.iterator();

         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            anim.update();
            value = (float)anim.getValue();
            text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               float localFontSize = fontSize * value;
               float localTextWidth = textWidth * value;
               float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
               boolean isFirst = index == 0;
               boolean isLast = index == this.lastIndex;
               float topLeftRadius = isFirst ? rounding : 0.0F;
               float bottomLeftRadius = isLast ? rounding : 0.0F;
               DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, (new Color(1644167169, true)).getRGB());
               DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, (new Color(1644167169, true)).getRGB());
               Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
               posY += (fontSize + padding * 2.0F - 1.0F) * value;
               ++index;
            }
         }

         this.lastIndex = index - 1;
      }

   }
}
Watermark:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import im.veron.utils.text.GradientUtil;
import java.awt.Color;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

public class WatermarkRenderer implements ElementRenderer {
   private final ResourceLocation logo = new ResourceLocation("wonderful/images/hud/logo.png");
   private final ResourceLocation user = new ResourceLocation("wonderful/images/hud/user.png");

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float posX = -17.0F;
      float posY = 4.0F;
      float padding = 5.0F;
      float fontSize = 6.5F;
      float iconSize = 10.0F;
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      ITextComponent text = GradientUtil.gradient("WonderFul.tech");
      float textWidth = Fonts.sfui.getWidth(text, fontSize);
      float localPosX = posX + iconSize + padding * 3.0F;
      this.drawStyledRect(localPosX, posY, iconSize + padding * 2.5F + textWidth, iconSize + padding * 2.0F, 4.0F);
      DisplayUtils.drawImage(this.user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));
      Fonts.sfui.drawText(ms, text, localPosX + iconSize + padding * 1.5F - 1.0F, posY + iconSize / 2.0F + 1.5F, fontSize, 255);
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius) {
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, (new Color(1644167169, true)).getRGB());
   }
}
/del хуета. Цвет только меняется на полу чёрный
 
Read Only
Статус
Оффлайн
Регистрация
29 Апр 2023
Сообщения
843
Реакции[?]
4
Поинты[?]
5K
кодер полный ишак, хз кому эта параша нужна держите:

Пожалуйста, авторизуйтесь для просмотра ссылки.


TargetHud:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.animations.Animation;
import im.veron.utils.animations.Direction;
import im.veron.utils.animations.impl.EaseBackIn;
import im.veron.utils.drag.Dragging;
import im.veron.utils.math.MathUtil;
import im.veron.utils.math.StopWatch;
import im.veron.utils.math.Vector4i;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.Scissor;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

public class TargetInfoRenderer implements ElementRenderer {
   private final StopWatch stopWatch = new StopWatch();
   private final Dragging drag;
   private LivingEntity entity = null;
   private boolean allow;
   private final Animation animation = new EaseBackIn(132, 1.0D, 1.0F);
   private float healthAnimation = 0.0F;
   private float absorptionAnimation = 0.0F;
   private float hurtAnimation = 0.0F;
   private float second = 0.0F;
   private float third = 0.0F;

   public void render(EventDisplay eventDisplay) {
      this.entity = this.getTarget(this.entity);
      float rounding = 6.0F;
      boolean out = !this.allow || this.stopWatch.isReached(420L);
      this.animation.setDuration(out ? 400 : 300);
      this.animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);
      if (this.animation.getOutput() == 0.0D) {
         this.entity = null;
      }

      if (this.entity != null) {
         String name = this.entity.getName().getString();
         float posX = this.drag.getX();
         float posY = this.drag.getY();
         float headSize = 28.0F;
         float spacing = 5.0F;
         float width = 90.0F;
         float height = 28.0F;
         this.drag.setWidth(width);
         this.drag.setHeight(height);
         float shrinking = 1.5F;
         Score score = mc.world.getScoreboard().getOrCreateScore(this.entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
         float hp = this.entity.getHealth();
         float maxHp = this.entity.getMaxHealth();
         String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         this.healthAnimation = MathUtil.fast(this.healthAnimation, MathHelper.clamp(hp / maxHp, 0.0F, 1.0F), 10.0F);
         this.absorptionAnimation = MathUtil.fast(this.absorptionAnimation, MathHelper.clamp(this.entity.getAbsorptionAmount() / maxHp, 0.0F, 1.0F), 10.0F);
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         float animationValue = (float)this.animation.getOutput();
         this.hurtAnimation = MathUtil.fast(this.hurtAnimation, this.entity.hurtTime > 0 ? 208.0F : 0.0F, 15.0F);
         this.second = MathUtil.fast(this.second, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         this.third = MathUtil.fast(this.third, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         float halfAnimationValueRest = (1.0F - animationValue) / 2.0F;
         GlStateManager.pushMatrix();
         Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
         sizeAnimation((double)(posX + width / 2.0F), (double)(posY + height / 2.0F), this.animation.getOutput());
         DisplayUtils.drawRoundedRect(posX, posY, width, height / 2.0F, new Vector4f(4.0F, 0.0F, 4.0F, 0.0F), (new Color(12, 13, 13, 140)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY + height / 2.0F, width, height / 2.0F, new Vector4f(0.0F, 4.0F, 0.0F, 4.0F), (new Color(25, 25, 25, 180)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, width - 10.0F, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(21, 21, 21, 121)).getRGB());
         DisplayUtils.drawShadow(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, 6, (new Color(0, 0, 0, 116)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.absorptionAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(255, 205, 0, 197)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY, 16.0F, height / 2.0F, new Vector4f(4.0F, 0.0F, 0.0F, 0.0F), (new Color(18, 18, 18)).getRGB());
         Scissor.push();
         Scissor.setFromComponentCoordinates((double)posX, (double)posY, (double)width, (double)height);
         Fonts.sfbold.drawText(eventDisplay.getMatrixStack(), this.entity.getName().getString(), posX + 19.0F, posY + height / 4.0F - 4.0F, -1, 8.0F);
         Scissor.pop();
         int anim = (int)this.hurtAnimation;
         int anim2 = (int)this.second;
         int anim3 = (int)this.third;
         DisplayUtils.drawImage(new ResourceLocation("wonderful/images/hud/user.png"), posX + 8.0F - 5.0F, posY + 7.0F - 5.0F, 10.0F, 10.0F, this.entity.hurtTime > 0 ? (new Color(anim, anim2, anim3)).getRGB() : (new Color(255, 255, 255)).getRGB());
         GlStateManager.popMatrix();
      }

   }

   private LivingEntity getTarget(LivingEntity nullTarget) {
      LivingEntity auraTarget = Veron.getInstance().getFunctionRegistry().getKillAura().getTarget();
      LivingEntity target = nullTarget;
      if (auraTarget != null) {
         this.stopWatch.reset();
         this.allow = true;
         target = auraTarget;
      } else if (mc.currentScreen instanceof ChatScreen) {
         this.stopWatch.reset();
         this.allow = true;
         target = mc.player;
      } else {
         this.allow = false;
      }

      return (LivingEntity)target;
   }

   public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
      if (entity != null) {
         EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
         this.drawFace(rendererManager.getEntityTexture(entity), x, y, 8.0F, 8.0F, 8.0F, 8.0F, width, height, 64.0F, 64.0F, entity);
      }

   }

   public static void sizeAnimation(double width, double height, double scale) {
      GlStateManager.translated(width, height, 0.0D);
      GlStateManager.scaled(scale, scale, scale);
      GlStateManager.translated(-width, -height, 0.0D);
   }

   public void drawFace(ResourceLocation res, float d, float y, float u, float v, float uWidth, float vHeight, float width, float height, float tileWidth, float tileHeight, LivingEntity target) {
      GL11.glPushMatrix();
      GL11.glEnable(3042);
      mc.getTextureManager().bindTexture(res);
      float hurtPercent = ((float)target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0F)) / 10.0F;
      GL11.glColor4f(1.0F, 1.0F - hurtPercent, 1.0F - hurtPercent, 1.0F);
      AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glPopMatrix();
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius, int alpha) {
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(18, 18, 18, alpha));
   }

   public TargetInfoRenderer(Dragging drag) {
      this.drag = drag;
   }
}
ArrayList:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.events.EventUpdate;
import im.veron.functions.api.Function;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.display.ElementUpdater;
import im.veron.utils.math.StopWatch;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
   private int lastIndex;
   List<Function> list;
   StopWatch stopWatch = new StopWatch();

   public void update(EventUpdate e) {
      if (this.stopWatch.isReached(1000L)) {
         this.list = Veron.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
         this.stopWatch.reset();
      }

   }

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float rounding = 6.0F;
      float padding = 3.5F;
      Minecraft mc = Minecraft.getInstance();
      int screenWidth = mc.getMainWindow().getScaledWidth();
      float posY = 0.0F;
      int index = 0;
      if (this.list != null) {
         Iterator var9 = this.list.iterator();

         Function f;
         float fontSize;
         Animation anim;
         float value;
         String text;
         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            value = (float)anim.getValue();
            text = f.getName();
            Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               posY += (fontSize + padding * 2.0F) * value;
               ++index;
            }
         }

         index = 0;
         posY = 5.0F;
         var9 = this.list.iterator();

         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            anim.update();
            value = (float)anim.getValue();
            text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               float localFontSize = fontSize * value;
               float localTextWidth = textWidth * value;
               float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
               boolean isFirst = index == 0;
               boolean isLast = index == this.lastIndex;
               float topLeftRadius = isFirst ? rounding : 0.0F;
               float bottomLeftRadius = isLast ? rounding : 0.0F;
               DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, (new Color(1644167169, true)).getRGB());
               DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, (new Color(1644167169, true)).getRGB());
               Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
               posY += (fontSize + padding * 2.0F - 1.0F) * value;
               ++index;
            }
         }

         this.lastIndex = index - 1;
      }

   }
}
Watermark:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import im.veron.utils.text.GradientUtil;
import java.awt.Color;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

public class WatermarkRenderer implements ElementRenderer {
   private final ResourceLocation logo = new ResourceLocation("wonderful/images/hud/logo.png");
   private final ResourceLocation user = new ResourceLocation("wonderful/images/hud/user.png");

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float posX = -17.0F;
      float posY = 4.0F;
      float padding = 5.0F;
      float fontSize = 6.5F;
      float iconSize = 10.0F;
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      ITextComponent text = GradientUtil.gradient("WonderFul.tech");
      float textWidth = Fonts.sfui.getWidth(text, fontSize);
      float localPosX = posX + iconSize + padding * 3.0F;
      this.drawStyledRect(localPosX, posY, iconSize + padding * 2.5F + textWidth, iconSize + padding * 2.0F, 4.0F);
      DisplayUtils.drawImage(this.user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));
      Fonts.sfui.drawText(ms, text, localPosX + iconSize + padding * 1.5F - 1.0F, posY + iconSize / 2.0F + 1.5F, fontSize, 255);
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius) {
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, (new Color(1644167169, true)).getRGB());
   }
}
/del деф худ экспенсива
 
Начинающий
Статус
Онлайн
Регистрация
8 Сен 2023
Сообщения
297
Реакции[?]
5
Поинты[?]
0
кодер полный ишак, хз кому эта параша нужна держите:

Пожалуйста, авторизуйтесь для просмотра ссылки.


TargetHud:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.animations.Animation;
import im.veron.utils.animations.Direction;
import im.veron.utils.animations.impl.EaseBackIn;
import im.veron.utils.drag.Dragging;
import im.veron.utils.math.MathUtil;
import im.veron.utils.math.StopWatch;
import im.veron.utils.math.Vector4i;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.Scissor;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

public class TargetInfoRenderer implements ElementRenderer {
   private final StopWatch stopWatch = new StopWatch();
   private final Dragging drag;
   private LivingEntity entity = null;
   private boolean allow;
   private final Animation animation = new EaseBackIn(132, 1.0D, 1.0F);
   private float healthAnimation = 0.0F;
   private float absorptionAnimation = 0.0F;
   private float hurtAnimation = 0.0F;
   private float second = 0.0F;
   private float third = 0.0F;

   public void render(EventDisplay eventDisplay) {
      this.entity = this.getTarget(this.entity);
      float rounding = 6.0F;
      boolean out = !this.allow || this.stopWatch.isReached(420L);
      this.animation.setDuration(out ? 400 : 300);
      this.animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);
      if (this.animation.getOutput() == 0.0D) {
         this.entity = null;
      }

      if (this.entity != null) {
         String name = this.entity.getName().getString();
         float posX = this.drag.getX();
         float posY = this.drag.getY();
         float headSize = 28.0F;
         float spacing = 5.0F;
         float width = 90.0F;
         float height = 28.0F;
         this.drag.setWidth(width);
         this.drag.setHeight(height);
         float shrinking = 1.5F;
         Score score = mc.world.getScoreboard().getOrCreateScore(this.entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
         float hp = this.entity.getHealth();
         float maxHp = this.entity.getMaxHealth();
         String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         this.healthAnimation = MathUtil.fast(this.healthAnimation, MathHelper.clamp(hp / maxHp, 0.0F, 1.0F), 10.0F);
         this.absorptionAnimation = MathUtil.fast(this.absorptionAnimation, MathHelper.clamp(this.entity.getAbsorptionAmount() / maxHp, 0.0F, 1.0F), 10.0F);
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         float animationValue = (float)this.animation.getOutput();
         this.hurtAnimation = MathUtil.fast(this.hurtAnimation, this.entity.hurtTime > 0 ? 208.0F : 0.0F, 15.0F);
         this.second = MathUtil.fast(this.second, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         this.third = MathUtil.fast(this.third, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         float halfAnimationValueRest = (1.0F - animationValue) / 2.0F;
         GlStateManager.pushMatrix();
         Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
         sizeAnimation((double)(posX + width / 2.0F), (double)(posY + height / 2.0F), this.animation.getOutput());
         DisplayUtils.drawRoundedRect(posX, posY, width, height / 2.0F, new Vector4f(4.0F, 0.0F, 4.0F, 0.0F), (new Color(12, 13, 13, 140)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY + height / 2.0F, width, height / 2.0F, new Vector4f(0.0F, 4.0F, 0.0F, 4.0F), (new Color(25, 25, 25, 180)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, width - 10.0F, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(21, 21, 21, 121)).getRGB());
         DisplayUtils.drawShadow(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, 6, (new Color(0, 0, 0, 116)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.absorptionAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(255, 205, 0, 197)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY, 16.0F, height / 2.0F, new Vector4f(4.0F, 0.0F, 0.0F, 0.0F), (new Color(18, 18, 18)).getRGB());
         Scissor.push();
         Scissor.setFromComponentCoordinates((double)posX, (double)posY, (double)width, (double)height);
         Fonts.sfbold.drawText(eventDisplay.getMatrixStack(), this.entity.getName().getString(), posX + 19.0F, posY + height / 4.0F - 4.0F, -1, 8.0F);
         Scissor.pop();
         int anim = (int)this.hurtAnimation;
         int anim2 = (int)this.second;
         int anim3 = (int)this.third;
         DisplayUtils.drawImage(new ResourceLocation("wonderful/images/hud/user.png"), posX + 8.0F - 5.0F, posY + 7.0F - 5.0F, 10.0F, 10.0F, this.entity.hurtTime > 0 ? (new Color(anim, anim2, anim3)).getRGB() : (new Color(255, 255, 255)).getRGB());
         GlStateManager.popMatrix();
      }

   }

   private LivingEntity getTarget(LivingEntity nullTarget) {
      LivingEntity auraTarget = Veron.getInstance().getFunctionRegistry().getKillAura().getTarget();
      LivingEntity target = nullTarget;
      if (auraTarget != null) {
         this.stopWatch.reset();
         this.allow = true;
         target = auraTarget;
      } else if (mc.currentScreen instanceof ChatScreen) {
         this.stopWatch.reset();
         this.allow = true;
         target = mc.player;
      } else {
         this.allow = false;
      }

      return (LivingEntity)target;
   }

   public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
      if (entity != null) {
         EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
         this.drawFace(rendererManager.getEntityTexture(entity), x, y, 8.0F, 8.0F, 8.0F, 8.0F, width, height, 64.0F, 64.0F, entity);
      }

   }

   public static void sizeAnimation(double width, double height, double scale) {
      GlStateManager.translated(width, height, 0.0D);
      GlStateManager.scaled(scale, scale, scale);
      GlStateManager.translated(-width, -height, 0.0D);
   }

   public void drawFace(ResourceLocation res, float d, float y, float u, float v, float uWidth, float vHeight, float width, float height, float tileWidth, float tileHeight, LivingEntity target) {
      GL11.glPushMatrix();
      GL11.glEnable(3042);
      mc.getTextureManager().bindTexture(res);
      float hurtPercent = ((float)target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0F)) / 10.0F;
      GL11.glColor4f(1.0F, 1.0F - hurtPercent, 1.0F - hurtPercent, 1.0F);
      AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glPopMatrix();
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius, int alpha) {
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(18, 18, 18, alpha));
   }

   public TargetInfoRenderer(Dragging drag) {
      this.drag = drag;
   }
}
ArrayList:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.events.EventUpdate;
import im.veron.functions.api.Function;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.display.ElementUpdater;
import im.veron.utils.math.StopWatch;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
   private int lastIndex;
   List<Function> list;
   StopWatch stopWatch = new StopWatch();

   public void update(EventUpdate e) {
      if (this.stopWatch.isReached(1000L)) {
         this.list = Veron.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
         this.stopWatch.reset();
      }

   }

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float rounding = 6.0F;
      float padding = 3.5F;
      Minecraft mc = Minecraft.getInstance();
      int screenWidth = mc.getMainWindow().getScaledWidth();
      float posY = 0.0F;
      int index = 0;
      if (this.list != null) {
         Iterator var9 = this.list.iterator();

         Function f;
         float fontSize;
         Animation anim;
         float value;
         String text;
         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            value = (float)anim.getValue();
            text = f.getName();
            Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               posY += (fontSize + padding * 2.0F) * value;
               ++index;
            }
         }

         index = 0;
         posY = 5.0F;
         var9 = this.list.iterator();

         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            anim.update();
            value = (float)anim.getValue();
            text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               float localFontSize = fontSize * value;
               float localTextWidth = textWidth * value;
               float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
               boolean isFirst = index == 0;
               boolean isLast = index == this.lastIndex;
               float topLeftRadius = isFirst ? rounding : 0.0F;
               float bottomLeftRadius = isLast ? rounding : 0.0F;
               DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, (new Color(1644167169, true)).getRGB());
               DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, (new Color(1644167169, true)).getRGB());
               Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
               posY += (fontSize + padding * 2.0F - 1.0F) * value;
               ++index;
            }
         }

         this.lastIndex = index - 1;
      }

   }
}
Watermark:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import im.veron.utils.text.GradientUtil;
import java.awt.Color;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

public class WatermarkRenderer implements ElementRenderer {
   private final ResourceLocation logo = new ResourceLocation("wonderful/images/hud/logo.png");
   private final ResourceLocation user = new ResourceLocation("wonderful/images/hud/user.png");

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float posX = -17.0F;
      float posY = 4.0F;
      float padding = 5.0F;
      float fontSize = 6.5F;
      float iconSize = 10.0F;
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      ITextComponent text = GradientUtil.gradient("WonderFul.tech");
      float textWidth = Fonts.sfui.getWidth(text, fontSize);
      float localPosX = posX + iconSize + padding * 3.0F;
      this.drawStyledRect(localPosX, posY, iconSize + padding * 2.5F + textWidth, iconSize + padding * 2.0F, 4.0F);
      DisplayUtils.drawImage(this.user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));
      Fonts.sfui.drawText(ms, text, localPosX + iconSize + padding * 1.5F - 1.0F, posY + iconSize / 2.0F + 1.5F, fontSize, 255);
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius) {
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, (new Color(1644167169, true)).getRGB());
   }
}
/del дефолт Худ экспы 3.1
 
Начинающий
Статус
Оффлайн
Регистрация
10 Ноя 2023
Сообщения
146
Реакции[?]
0
Поинты[?]
0
кодер полный ишак, хз кому эта параша нужна держите:

Пожалуйста, авторизуйтесь для просмотра ссылки.


TargetHud:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.animations.Animation;
import im.veron.utils.animations.Direction;
import im.veron.utils.animations.impl.EaseBackIn;
import im.veron.utils.drag.Dragging;
import im.veron.utils.math.MathUtil;
import im.veron.utils.math.StopWatch;
import im.veron.utils.math.Vector4i;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.Scissor;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

public class TargetInfoRenderer implements ElementRenderer {
   private final StopWatch stopWatch = new StopWatch();
   private final Dragging drag;
   private LivingEntity entity = null;
   private boolean allow;
   private final Animation animation = new EaseBackIn(132, 1.0D, 1.0F);
   private float healthAnimation = 0.0F;
   private float absorptionAnimation = 0.0F;
   private float hurtAnimation = 0.0F;
   private float second = 0.0F;
   private float third = 0.0F;

   public void render(EventDisplay eventDisplay) {
      this.entity = this.getTarget(this.entity);
      float rounding = 6.0F;
      boolean out = !this.allow || this.stopWatch.isReached(420L);
      this.animation.setDuration(out ? 400 : 300);
      this.animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);
      if (this.animation.getOutput() == 0.0D) {
         this.entity = null;
      }

      if (this.entity != null) {
         String name = this.entity.getName().getString();
         float posX = this.drag.getX();
         float posY = this.drag.getY();
         float headSize = 28.0F;
         float spacing = 5.0F;
         float width = 90.0F;
         float height = 28.0F;
         this.drag.setWidth(width);
         this.drag.setHeight(height);
         float shrinking = 1.5F;
         Score score = mc.world.getScoreboard().getOrCreateScore(this.entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
         float hp = this.entity.getHealth();
         float maxHp = this.entity.getMaxHealth();
         String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         this.healthAnimation = MathUtil.fast(this.healthAnimation, MathHelper.clamp(hp / maxHp, 0.0F, 1.0F), 10.0F);
         this.absorptionAnimation = MathUtil.fast(this.absorptionAnimation, MathHelper.clamp(this.entity.getAbsorptionAmount() / maxHp, 0.0F, 1.0F), 10.0F);
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         float animationValue = (float)this.animation.getOutput();
         this.hurtAnimation = MathUtil.fast(this.hurtAnimation, this.entity.hurtTime > 0 ? 208.0F : 0.0F, 15.0F);
         this.second = MathUtil.fast(this.second, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         this.third = MathUtil.fast(this.third, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         float halfAnimationValueRest = (1.0F - animationValue) / 2.0F;
         GlStateManager.pushMatrix();
         Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
         sizeAnimation((double)(posX + width / 2.0F), (double)(posY + height / 2.0F), this.animation.getOutput());
         DisplayUtils.drawRoundedRect(posX, posY, width, height / 2.0F, new Vector4f(4.0F, 0.0F, 4.0F, 0.0F), (new Color(12, 13, 13, 140)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY + height / 2.0F, width, height / 2.0F, new Vector4f(0.0F, 4.0F, 0.0F, 4.0F), (new Color(25, 25, 25, 180)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, width - 10.0F, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(21, 21, 21, 121)).getRGB());
         DisplayUtils.drawShadow(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, 6, (new Color(0, 0, 0, 116)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.absorptionAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(255, 205, 0, 197)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY, 16.0F, height / 2.0F, new Vector4f(4.0F, 0.0F, 0.0F, 0.0F), (new Color(18, 18, 18)).getRGB());
         Scissor.push();
         Scissor.setFromComponentCoordinates((double)posX, (double)posY, (double)width, (double)height);
         Fonts.sfbold.drawText(eventDisplay.getMatrixStack(), this.entity.getName().getString(), posX + 19.0F, posY + height / 4.0F - 4.0F, -1, 8.0F);
         Scissor.pop();
         int anim = (int)this.hurtAnimation;
         int anim2 = (int)this.second;
         int anim3 = (int)this.third;
         DisplayUtils.drawImage(new ResourceLocation("wonderful/images/hud/user.png"), posX + 8.0F - 5.0F, posY + 7.0F - 5.0F, 10.0F, 10.0F, this.entity.hurtTime > 0 ? (new Color(anim, anim2, anim3)).getRGB() : (new Color(255, 255, 255)).getRGB());
         GlStateManager.popMatrix();
      }

   }

   private LivingEntity getTarget(LivingEntity nullTarget) {
      LivingEntity auraTarget = Veron.getInstance().getFunctionRegistry().getKillAura().getTarget();
      LivingEntity target = nullTarget;
      if (auraTarget != null) {
         this.stopWatch.reset();
         this.allow = true;
         target = auraTarget;
      } else if (mc.currentScreen instanceof ChatScreen) {
         this.stopWatch.reset();
         this.allow = true;
         target = mc.player;
      } else {
         this.allow = false;
      }

      return (LivingEntity)target;
   }

   public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
      if (entity != null) {
         EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
         this.drawFace(rendererManager.getEntityTexture(entity), x, y, 8.0F, 8.0F, 8.0F, 8.0F, width, height, 64.0F, 64.0F, entity);
      }

   }

   public static void sizeAnimation(double width, double height, double scale) {
      GlStateManager.translated(width, height, 0.0D);
      GlStateManager.scaled(scale, scale, scale);
      GlStateManager.translated(-width, -height, 0.0D);
   }

   public void drawFace(ResourceLocation res, float d, float y, float u, float v, float uWidth, float vHeight, float width, float height, float tileWidth, float tileHeight, LivingEntity target) {
      GL11.glPushMatrix();
      GL11.glEnable(3042);
      mc.getTextureManager().bindTexture(res);
      float hurtPercent = ((float)target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0F)) / 10.0F;
      GL11.glColor4f(1.0F, 1.0F - hurtPercent, 1.0F - hurtPercent, 1.0F);
      AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glPopMatrix();
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius, int alpha) {
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(18, 18, 18, alpha));
   }

   public TargetInfoRenderer(Dragging drag) {
      this.drag = drag;
   }
}
ArrayList:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.events.EventUpdate;
import im.veron.functions.api.Function;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.display.ElementUpdater;
import im.veron.utils.math.StopWatch;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
   private int lastIndex;
   List<Function> list;
   StopWatch stopWatch = new StopWatch();

   public void update(EventUpdate e) {
      if (this.stopWatch.isReached(1000L)) {
         this.list = Veron.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
         this.stopWatch.reset();
      }

   }

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float rounding = 6.0F;
      float padding = 3.5F;
      Minecraft mc = Minecraft.getInstance();
      int screenWidth = mc.getMainWindow().getScaledWidth();
      float posY = 0.0F;
      int index = 0;
      if (this.list != null) {
         Iterator var9 = this.list.iterator();

         Function f;
         float fontSize;
         Animation anim;
         float value;
         String text;
         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            value = (float)anim.getValue();
            text = f.getName();
            Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               posY += (fontSize + padding * 2.0F) * value;
               ++index;
            }
         }

         index = 0;
         posY = 5.0F;
         var9 = this.list.iterator();

         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            anim.update();
            value = (float)anim.getValue();
            text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               float localFontSize = fontSize * value;
               float localTextWidth = textWidth * value;
               float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
               boolean isFirst = index == 0;
               boolean isLast = index == this.lastIndex;
               float topLeftRadius = isFirst ? rounding : 0.0F;
               float bottomLeftRadius = isLast ? rounding : 0.0F;
               DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, (new Color(1644167169, true)).getRGB());
               DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, (new Color(1644167169, true)).getRGB());
               Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
               posY += (fontSize + padding * 2.0F - 1.0F) * value;
               ++index;
            }
         }

         this.lastIndex = index - 1;
      }

   }
}
Watermark:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import im.veron.utils.text.GradientUtil;
import java.awt.Color;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

public class WatermarkRenderer implements ElementRenderer {
   private final ResourceLocation logo = new ResourceLocation("wonderful/images/hud/logo.png");
   private final ResourceLocation user = new ResourceLocation("wonderful/images/hud/user.png");

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float posX = -17.0F;
      float posY = 4.0F;
      float padding = 5.0F;
      float fontSize = 6.5F;
      float iconSize = 10.0F;
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      ITextComponent text = GradientUtil.gradient("WonderFul.tech");
      float textWidth = Fonts.sfui.getWidth(text, fontSize);
      float localPosX = posX + iconSize + padding * 3.0F;
      this.drawStyledRect(localPosX, posY, iconSize + padding * 2.5F + textWidth, iconSize + padding * 2.0F, 4.0F);
      DisplayUtils.drawImage(this.user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));
      Fonts.sfui.drawText(ms, text, localPosX + iconSize + padding * 1.5F - 1.0F, posY + iconSize / 2.0F + 1.5F, fontSize, 255);
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius) {
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, (new Color(1644167169, true)).getRGB());
   }
}
ооо ебой мой арей лист (кодер человек хороший)
кодер полный ишак, хз кому эта параша нужна держите:

Пожалуйста, авторизуйтесь для просмотра ссылки.


TargetHud:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.animations.Animation;
import im.veron.utils.animations.Direction;
import im.veron.utils.animations.impl.EaseBackIn;
import im.veron.utils.drag.Dragging;
import im.veron.utils.math.MathUtil;
import im.veron.utils.math.StopWatch;
import im.veron.utils.math.Vector4i;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.Scissor;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

public class TargetInfoRenderer implements ElementRenderer {
   private final StopWatch stopWatch = new StopWatch();
   private final Dragging drag;
   private LivingEntity entity = null;
   private boolean allow;
   private final Animation animation = new EaseBackIn(132, 1.0D, 1.0F);
   private float healthAnimation = 0.0F;
   private float absorptionAnimation = 0.0F;
   private float hurtAnimation = 0.0F;
   private float second = 0.0F;
   private float third = 0.0F;

   public void render(EventDisplay eventDisplay) {
      this.entity = this.getTarget(this.entity);
      float rounding = 6.0F;
      boolean out = !this.allow || this.stopWatch.isReached(420L);
      this.animation.setDuration(out ? 400 : 300);
      this.animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);
      if (this.animation.getOutput() == 0.0D) {
         this.entity = null;
      }

      if (this.entity != null) {
         String name = this.entity.getName().getString();
         float posX = this.drag.getX();
         float posY = this.drag.getY();
         float headSize = 28.0F;
         float spacing = 5.0F;
         float width = 90.0F;
         float height = 28.0F;
         this.drag.setWidth(width);
         this.drag.setHeight(height);
         float shrinking = 1.5F;
         Score score = mc.world.getScoreboard().getOrCreateScore(this.entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
         float hp = this.entity.getHealth();
         float maxHp = this.entity.getMaxHealth();
         String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         this.healthAnimation = MathUtil.fast(this.healthAnimation, MathHelper.clamp(hp / maxHp, 0.0F, 1.0F), 10.0F);
         this.absorptionAnimation = MathUtil.fast(this.absorptionAnimation, MathHelper.clamp(this.entity.getAbsorptionAmount() / maxHp, 0.0F, 1.0F), 10.0F);
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         float animationValue = (float)this.animation.getOutput();
         this.hurtAnimation = MathUtil.fast(this.hurtAnimation, this.entity.hurtTime > 0 ? 208.0F : 0.0F, 15.0F);
         this.second = MathUtil.fast(this.second, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         this.third = MathUtil.fast(this.third, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         float halfAnimationValueRest = (1.0F - animationValue) / 2.0F;
         GlStateManager.pushMatrix();
         Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
         sizeAnimation((double)(posX + width / 2.0F), (double)(posY + height / 2.0F), this.animation.getOutput());
         DisplayUtils.drawRoundedRect(posX, posY, width, height / 2.0F, new Vector4f(4.0F, 0.0F, 4.0F, 0.0F), (new Color(12, 13, 13, 140)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY + height / 2.0F, width, height / 2.0F, new Vector4f(0.0F, 4.0F, 0.0F, 4.0F), (new Color(25, 25, 25, 180)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, width - 10.0F, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(21, 21, 21, 121)).getRGB());
         DisplayUtils.drawShadow(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, 6, (new Color(0, 0, 0, 116)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.absorptionAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(255, 205, 0, 197)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY, 16.0F, height / 2.0F, new Vector4f(4.0F, 0.0F, 0.0F, 0.0F), (new Color(18, 18, 18)).getRGB());
         Scissor.push();
         Scissor.setFromComponentCoordinates((double)posX, (double)posY, (double)width, (double)height);
         Fonts.sfbold.drawText(eventDisplay.getMatrixStack(), this.entity.getName().getString(), posX + 19.0F, posY + height / 4.0F - 4.0F, -1, 8.0F);
         Scissor.pop();
         int anim = (int)this.hurtAnimation;
         int anim2 = (int)this.second;
         int anim3 = (int)this.third;
         DisplayUtils.drawImage(new ResourceLocation("wonderful/images/hud/user.png"), posX + 8.0F - 5.0F, posY + 7.0F - 5.0F, 10.0F, 10.0F, this.entity.hurtTime > 0 ? (new Color(anim, anim2, anim3)).getRGB() : (new Color(255, 255, 255)).getRGB());
         GlStateManager.popMatrix();
      }

   }

   private LivingEntity getTarget(LivingEntity nullTarget) {
      LivingEntity auraTarget = Veron.getInstance().getFunctionRegistry().getKillAura().getTarget();
      LivingEntity target = nullTarget;
      if (auraTarget != null) {
         this.stopWatch.reset();
         this.allow = true;
         target = auraTarget;
      } else if (mc.currentScreen instanceof ChatScreen) {
         this.stopWatch.reset();
         this.allow = true;
         target = mc.player;
      } else {
         this.allow = false;
      }

      return (LivingEntity)target;
   }

   public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
      if (entity != null) {
         EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
         this.drawFace(rendererManager.getEntityTexture(entity), x, y, 8.0F, 8.0F, 8.0F, 8.0F, width, height, 64.0F, 64.0F, entity);
      }

   }

   public static void sizeAnimation(double width, double height, double scale) {
      GlStateManager.translated(width, height, 0.0D);
      GlStateManager.scaled(scale, scale, scale);
      GlStateManager.translated(-width, -height, 0.0D);
   }

   public void drawFace(ResourceLocation res, float d, float y, float u, float v, float uWidth, float vHeight, float width, float height, float tileWidth, float tileHeight, LivingEntity target) {
      GL11.glPushMatrix();
      GL11.glEnable(3042);
      mc.getTextureManager().bindTexture(res);
      float hurtPercent = ((float)target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0F)) / 10.0F;
      GL11.glColor4f(1.0F, 1.0F - hurtPercent, 1.0F - hurtPercent, 1.0F);
      AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glPopMatrix();
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius, int alpha) {
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(18, 18, 18, alpha));
   }

   public TargetInfoRenderer(Dragging drag) {
      this.drag = drag;
   }
}
ArrayList:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.events.EventUpdate;
import im.veron.functions.api.Function;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.display.ElementUpdater;
import im.veron.utils.math.StopWatch;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
   private int lastIndex;
   List<Function> list;
   StopWatch stopWatch = new StopWatch();

   public void update(EventUpdate e) {
      if (this.stopWatch.isReached(1000L)) {
         this.list = Veron.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
         this.stopWatch.reset();
      }

   }

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float rounding = 6.0F;
      float padding = 3.5F;
      Minecraft mc = Minecraft.getInstance();
      int screenWidth = mc.getMainWindow().getScaledWidth();
      float posY = 0.0F;
      int index = 0;
      if (this.list != null) {
         Iterator var9 = this.list.iterator();

         Function f;
         float fontSize;
         Animation anim;
         float value;
         String text;
         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            value = (float)anim.getValue();
            text = f.getName();
            Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               posY += (fontSize + padding * 2.0F) * value;
               ++index;
            }
         }

         index = 0;
         posY = 5.0F;
         var9 = this.list.iterator();

         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            anim.update();
            value = (float)anim.getValue();
            text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               float localFontSize = fontSize * value;
               float localTextWidth = textWidth * value;
               float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
               boolean isFirst = index == 0;
               boolean isLast = index == this.lastIndex;
               float topLeftRadius = isFirst ? rounding : 0.0F;
               float bottomLeftRadius = isLast ? rounding : 0.0F;
               DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, (new Color(1644167169, true)).getRGB());
               DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, (new Color(1644167169, true)).getRGB());
               Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
               posY += (fontSize + padding * 2.0F - 1.0F) * value;
               ++index;
            }
         }

         this.lastIndex = index - 1;
      }

   }
}
Watermark:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import im.veron.utils.text.GradientUtil;
import java.awt.Color;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

public class WatermarkRenderer implements ElementRenderer {
   private final ResourceLocation logo = new ResourceLocation("wonderful/images/hud/logo.png");
   private final ResourceLocation user = new ResourceLocation("wonderful/images/hud/user.png");

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float posX = -17.0F;
      float posY = 4.0F;
      float padding = 5.0F;
      float fontSize = 6.5F;
      float iconSize = 10.0F;
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      ITextComponent text = GradientUtil.gradient("WonderFul.tech");
      float textWidth = Fonts.sfui.getWidth(text, fontSize);
      float localPosX = posX + iconSize + padding * 3.0F;
      this.drawStyledRect(localPosX, posY, iconSize + padding * 2.5F + textWidth, iconSize + padding * 2.0F, 4.0F);
      DisplayUtils.drawImage(this.user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));
      Fonts.sfui.drawText(ms, text, localPosX + iconSize + padding * 1.5F - 1.0F, posY + iconSize / 2.0F + 1.5F, fontSize, 255);
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius) {
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, (new Color(1644167169, true)).getRGB());
   }
}
вопрос зачем сливать опен сурс код?
 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
10 Май 2023
Сообщения
825
Реакции[?]
9
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
кодер полный ишак, хз кому эта параша нужна держите:

Пожалуйста, авторизуйтесь для просмотра ссылки.


TargetHud:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.animations.Animation;
import im.veron.utils.animations.Direction;
import im.veron.utils.animations.impl.EaseBackIn;
import im.veron.utils.drag.Dragging;
import im.veron.utils.math.MathUtil;
import im.veron.utils.math.StopWatch;
import im.veron.utils.math.Vector4i;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.Scissor;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

public class TargetInfoRenderer implements ElementRenderer {
   private final StopWatch stopWatch = new StopWatch();
   private final Dragging drag;
   private LivingEntity entity = null;
   private boolean allow;
   private final Animation animation = new EaseBackIn(132, 1.0D, 1.0F);
   private float healthAnimation = 0.0F;
   private float absorptionAnimation = 0.0F;
   private float hurtAnimation = 0.0F;
   private float second = 0.0F;
   private float third = 0.0F;

   public void render(EventDisplay eventDisplay) {
      this.entity = this.getTarget(this.entity);
      float rounding = 6.0F;
      boolean out = !this.allow || this.stopWatch.isReached(420L);
      this.animation.setDuration(out ? 400 : 300);
      this.animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);
      if (this.animation.getOutput() == 0.0D) {
         this.entity = null;
      }

      if (this.entity != null) {
         String name = this.entity.getName().getString();
         float posX = this.drag.getX();
         float posY = this.drag.getY();
         float headSize = 28.0F;
         float spacing = 5.0F;
         float width = 90.0F;
         float height = 28.0F;
         this.drag.setWidth(width);
         this.drag.setHeight(height);
         float shrinking = 1.5F;
         Score score = mc.world.getScoreboard().getOrCreateScore(this.entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
         float hp = this.entity.getHealth();
         float maxHp = this.entity.getMaxHealth();
         String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         this.healthAnimation = MathUtil.fast(this.healthAnimation, MathHelper.clamp(hp / maxHp, 0.0F, 1.0F), 10.0F);
         this.absorptionAnimation = MathUtil.fast(this.absorptionAnimation, MathHelper.clamp(this.entity.getAbsorptionAmount() / maxHp, 0.0F, 1.0F), 10.0F);
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         float animationValue = (float)this.animation.getOutput();
         this.hurtAnimation = MathUtil.fast(this.hurtAnimation, this.entity.hurtTime > 0 ? 208.0F : 0.0F, 15.0F);
         this.second = MathUtil.fast(this.second, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         this.third = MathUtil.fast(this.third, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         float halfAnimationValueRest = (1.0F - animationValue) / 2.0F;
         GlStateManager.pushMatrix();
         Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
         sizeAnimation((double)(posX + width / 2.0F), (double)(posY + height / 2.0F), this.animation.getOutput());
         DisplayUtils.drawRoundedRect(posX, posY, width, height / 2.0F, new Vector4f(4.0F, 0.0F, 4.0F, 0.0F), (new Color(12, 13, 13, 140)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY + height / 2.0F, width, height / 2.0F, new Vector4f(0.0F, 4.0F, 0.0F, 4.0F), (new Color(25, 25, 25, 180)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, width - 10.0F, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(21, 21, 21, 121)).getRGB());
         DisplayUtils.drawShadow(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, 6, (new Color(0, 0, 0, 116)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.absorptionAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(255, 205, 0, 197)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY, 16.0F, height / 2.0F, new Vector4f(4.0F, 0.0F, 0.0F, 0.0F), (new Color(18, 18, 18)).getRGB());
         Scissor.push();
         Scissor.setFromComponentCoordinates((double)posX, (double)posY, (double)width, (double)height);
         Fonts.sfbold.drawText(eventDisplay.getMatrixStack(), this.entity.getName().getString(), posX + 19.0F, posY + height / 4.0F - 4.0F, -1, 8.0F);
         Scissor.pop();
         int anim = (int)this.hurtAnimation;
         int anim2 = (int)this.second;
         int anim3 = (int)this.third;
         DisplayUtils.drawImage(new ResourceLocation("wonderful/images/hud/user.png"), posX + 8.0F - 5.0F, posY + 7.0F - 5.0F, 10.0F, 10.0F, this.entity.hurtTime > 0 ? (new Color(anim, anim2, anim3)).getRGB() : (new Color(255, 255, 255)).getRGB());
         GlStateManager.popMatrix();
      }

   }

   private LivingEntity getTarget(LivingEntity nullTarget) {
      LivingEntity auraTarget = Veron.getInstance().getFunctionRegistry().getKillAura().getTarget();
      LivingEntity target = nullTarget;
      if (auraTarget != null) {
         this.stopWatch.reset();
         this.allow = true;
         target = auraTarget;
      } else if (mc.currentScreen instanceof ChatScreen) {
         this.stopWatch.reset();
         this.allow = true;
         target = mc.player;
      } else {
         this.allow = false;
      }

      return (LivingEntity)target;
   }

   public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
      if (entity != null) {
         EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
         this.drawFace(rendererManager.getEntityTexture(entity), x, y, 8.0F, 8.0F, 8.0F, 8.0F, width, height, 64.0F, 64.0F, entity);
      }

   }

   public static void sizeAnimation(double width, double height, double scale) {
      GlStateManager.translated(width, height, 0.0D);
      GlStateManager.scaled(scale, scale, scale);
      GlStateManager.translated(-width, -height, 0.0D);
   }

   public void drawFace(ResourceLocation res, float d, float y, float u, float v, float uWidth, float vHeight, float width, float height, float tileWidth, float tileHeight, LivingEntity target) {
      GL11.glPushMatrix();
      GL11.glEnable(3042);
      mc.getTextureManager().bindTexture(res);
      float hurtPercent = ((float)target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0F)) / 10.0F;
      GL11.glColor4f(1.0F, 1.0F - hurtPercent, 1.0F - hurtPercent, 1.0F);
      AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glPopMatrix();
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius, int alpha) {
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(18, 18, 18, alpha));
   }

   public TargetInfoRenderer(Dragging drag) {
      this.drag = drag;
   }
}
ArrayList:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.events.EventUpdate;
import im.veron.functions.api.Function;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.display.ElementUpdater;
import im.veron.utils.math.StopWatch;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
   private int lastIndex;
   List<Function> list;
   StopWatch stopWatch = new StopWatch();

   public void update(EventUpdate e) {
      if (this.stopWatch.isReached(1000L)) {
         this.list = Veron.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
         this.stopWatch.reset();
      }

   }

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float rounding = 6.0F;
      float padding = 3.5F;
      Minecraft mc = Minecraft.getInstance();
      int screenWidth = mc.getMainWindow().getScaledWidth();
      float posY = 0.0F;
      int index = 0;
      if (this.list != null) {
         Iterator var9 = this.list.iterator();

         Function f;
         float fontSize;
         Animation anim;
         float value;
         String text;
         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            value = (float)anim.getValue();
            text = f.getName();
            Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               posY += (fontSize + padding * 2.0F) * value;
               ++index;
            }
         }

         index = 0;
         posY = 5.0F;
         var9 = this.list.iterator();

         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            anim.update();
            value = (float)anim.getValue();
            text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               float localFontSize = fontSize * value;
               float localTextWidth = textWidth * value;
               float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
               boolean isFirst = index == 0;
               boolean isLast = index == this.lastIndex;
               float topLeftRadius = isFirst ? rounding : 0.0F;
               float bottomLeftRadius = isLast ? rounding : 0.0F;
               DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, (new Color(1644167169, true)).getRGB());
               DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, (new Color(1644167169, true)).getRGB());
               Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
               posY += (fontSize + padding * 2.0F - 1.0F) * value;
               ++index;
            }
         }

         this.lastIndex = index - 1;
      }

   }
}
Watermark:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import im.veron.utils.text.GradientUtil;
import java.awt.Color;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

public class WatermarkRenderer implements ElementRenderer {
   private final ResourceLocation logo = new ResourceLocation("wonderful/images/hud/logo.png");
   private final ResourceLocation user = new ResourceLocation("wonderful/images/hud/user.png");

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float posX = -17.0F;
      float posY = 4.0F;
      float padding = 5.0F;
      float fontSize = 6.5F;
      float iconSize = 10.0F;
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      ITextComponent text = GradientUtil.gradient("WonderFul.tech");
      float textWidth = Fonts.sfui.getWidth(text, fontSize);
      float localPosX = posX + iconSize + padding * 3.0F;
      this.drawStyledRect(localPosX, posY, iconSize + padding * 2.5F + textWidth, iconSize + padding * 2.0F, 4.0F);
      DisplayUtils.drawImage(this.user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));
      Fonts.sfui.drawText(ms, text, localPosX + iconSize + padding * 1.5F - 1.0F, posY + iconSize / 2.0F + 1.5F, fontSize, 255);
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius) {
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, (new Color(1644167169, true)).getRGB());
   }
}
Зачем нам деф худ экспы 3.1?
 
Начинающий
Статус
Оффлайн
Регистрация
29 Мар 2024
Сообщения
165
Реакции[?]
2
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
5 Май 2024
Сообщения
33
Реакции[?]
0
Поинты[?]
0
кодер полный ишак, хз кому эта параша нужна держите:

Пожалуйста, авторизуйтесь для просмотра ссылки.


TargetHud:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.animations.Animation;
import im.veron.utils.animations.Direction;
import im.veron.utils.animations.impl.EaseBackIn;
import im.veron.utils.drag.Dragging;
import im.veron.utils.math.MathUtil;
import im.veron.utils.math.StopWatch;
import im.veron.utils.math.Vector4i;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.Scissor;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

public class TargetInfoRenderer implements ElementRenderer {
   private final StopWatch stopWatch = new StopWatch();
   private final Dragging drag;
   private LivingEntity entity = null;
   private boolean allow;
   private final Animation animation = new EaseBackIn(132, 1.0D, 1.0F);
   private float healthAnimation = 0.0F;
   private float absorptionAnimation = 0.0F;
   private float hurtAnimation = 0.0F;
   private float second = 0.0F;
   private float third = 0.0F;

   public void render(EventDisplay eventDisplay) {
      this.entity = this.getTarget(this.entity);
      float rounding = 6.0F;
      boolean out = !this.allow || this.stopWatch.isReached(420L);
      this.animation.setDuration(out ? 400 : 300);
      this.animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);
      if (this.animation.getOutput() == 0.0D) {
         this.entity = null;
      }

      if (this.entity != null) {
         String name = this.entity.getName().getString();
         float posX = this.drag.getX();
         float posY = this.drag.getY();
         float headSize = 28.0F;
         float spacing = 5.0F;
         float width = 90.0F;
         float height = 28.0F;
         this.drag.setWidth(width);
         this.drag.setHeight(height);
         float shrinking = 1.5F;
         Score score = mc.world.getScoreboard().getOrCreateScore(this.entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
         float hp = this.entity.getHealth();
         float maxHp = this.entity.getMaxHealth();
         String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         this.healthAnimation = MathUtil.fast(this.healthAnimation, MathHelper.clamp(hp / maxHp, 0.0F, 1.0F), 10.0F);
         this.absorptionAnimation = MathUtil.fast(this.absorptionAnimation, MathHelper.clamp(this.entity.getAbsorptionAmount() / maxHp, 0.0F, 1.0F), 10.0F);
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         float animationValue = (float)this.animation.getOutput();
         this.hurtAnimation = MathUtil.fast(this.hurtAnimation, this.entity.hurtTime > 0 ? 208.0F : 0.0F, 15.0F);
         this.second = MathUtil.fast(this.second, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         this.third = MathUtil.fast(this.third, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         float halfAnimationValueRest = (1.0F - animationValue) / 2.0F;
         GlStateManager.pushMatrix();
         Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
         sizeAnimation((double)(posX + width / 2.0F), (double)(posY + height / 2.0F), this.animation.getOutput());
         DisplayUtils.drawRoundedRect(posX, posY, width, height / 2.0F, new Vector4f(4.0F, 0.0F, 4.0F, 0.0F), (new Color(12, 13, 13, 140)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY + height / 2.0F, width, height / 2.0F, new Vector4f(0.0F, 4.0F, 0.0F, 4.0F), (new Color(25, 25, 25, 180)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, width - 10.0F, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(21, 21, 21, 121)).getRGB());
         DisplayUtils.drawShadow(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, 6, (new Color(0, 0, 0, 116)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.absorptionAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(255, 205, 0, 197)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY, 16.0F, height / 2.0F, new Vector4f(4.0F, 0.0F, 0.0F, 0.0F), (new Color(18, 18, 18)).getRGB());
         Scissor.push();
         Scissor.setFromComponentCoordinates((double)posX, (double)posY, (double)width, (double)height);
         Fonts.sfbold.drawText(eventDisplay.getMatrixStack(), this.entity.getName().getString(), posX + 19.0F, posY + height / 4.0F - 4.0F, -1, 8.0F);
         Scissor.pop();
         int anim = (int)this.hurtAnimation;
         int anim2 = (int)this.second;
         int anim3 = (int)this.third;
         DisplayUtils.drawImage(new ResourceLocation("wonderful/images/hud/user.png"), posX + 8.0F - 5.0F, posY + 7.0F - 5.0F, 10.0F, 10.0F, this.entity.hurtTime > 0 ? (new Color(anim, anim2, anim3)).getRGB() : (new Color(255, 255, 255)).getRGB());
         GlStateManager.popMatrix();
      }

   }

   private LivingEntity getTarget(LivingEntity nullTarget) {
      LivingEntity auraTarget = Veron.getInstance().getFunctionRegistry().getKillAura().getTarget();
      LivingEntity target = nullTarget;
      if (auraTarget != null) {
         this.stopWatch.reset();
         this.allow = true;
         target = auraTarget;
      } else if (mc.currentScreen instanceof ChatScreen) {
         this.stopWatch.reset();
         this.allow = true;
         target = mc.player;
      } else {
         this.allow = false;
      }

      return (LivingEntity)target;
   }

   public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
      if (entity != null) {
         EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
         this.drawFace(rendererManager.getEntityTexture(entity), x, y, 8.0F, 8.0F, 8.0F, 8.0F, width, height, 64.0F, 64.0F, entity);
      }

   }

   public static void sizeAnimation(double width, double height, double scale) {
      GlStateManager.translated(width, height, 0.0D);
      GlStateManager.scaled(scale, scale, scale);
      GlStateManager.translated(-width, -height, 0.0D);
   }

   public void drawFace(ResourceLocation res, float d, float y, float u, float v, float uWidth, float vHeight, float width, float height, float tileWidth, float tileHeight, LivingEntity target) {
      GL11.glPushMatrix();
      GL11.glEnable(3042);
      mc.getTextureManager().bindTexture(res);
      float hurtPercent = ((float)target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0F)) / 10.0F;
      GL11.glColor4f(1.0F, 1.0F - hurtPercent, 1.0F - hurtPercent, 1.0F);
      AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glPopMatrix();
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius, int alpha) {
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(18, 18, 18, alpha));
   }

   public TargetInfoRenderer(Dragging drag) {
      this.drag = drag;
   }
}
ArrayList:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.events.EventUpdate;
import im.veron.functions.api.Function;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.display.ElementUpdater;
import im.veron.utils.math.StopWatch;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
   private int lastIndex;
   List<Function> list;
   StopWatch stopWatch = new StopWatch();

   public void update(EventUpdate e) {
      if (this.stopWatch.isReached(1000L)) {
         this.list = Veron.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
         this.stopWatch.reset();
      }

   }

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float rounding = 6.0F;
      float padding = 3.5F;
      Minecraft mc = Minecraft.getInstance();
      int screenWidth = mc.getMainWindow().getScaledWidth();
      float posY = 0.0F;
      int index = 0;
      if (this.list != null) {
         Iterator var9 = this.list.iterator();

         Function f;
         float fontSize;
         Animation anim;
         float value;
         String text;
         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            value = (float)anim.getValue();
            text = f.getName();
            Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               posY += (fontSize + padding * 2.0F) * value;
               ++index;
            }
         }

         index = 0;
         posY = 5.0F;
         var9 = this.list.iterator();

         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            anim.update();
            value = (float)anim.getValue();
            text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               float localFontSize = fontSize * value;
               float localTextWidth = textWidth * value;
               float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
               boolean isFirst = index == 0;
               boolean isLast = index == this.lastIndex;
               float topLeftRadius = isFirst ? rounding : 0.0F;
               float bottomLeftRadius = isLast ? rounding : 0.0F;
               DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, (new Color(1644167169, true)).getRGB());
               DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, (new Color(1644167169, true)).getRGB());
               Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
               posY += (fontSize + padding * 2.0F - 1.0F) * value;
               ++index;
            }
         }

         this.lastIndex = index - 1;
      }

   }
}
Watermark:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import im.veron.utils.text.GradientUtil;
import java.awt.Color;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

public class WatermarkRenderer implements ElementRenderer {
   private final ResourceLocation logo = new ResourceLocation("wonderful/images/hud/logo.png");
   private final ResourceLocation user = new ResourceLocation("wonderful/images/hud/user.png");

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float posX = -17.0F;
      float posY = 4.0F;
      float padding = 5.0F;
      float fontSize = 6.5F;
      float iconSize = 10.0F;
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      ITextComponent text = GradientUtil.gradient("WonderFul.tech");
      float textWidth = Fonts.sfui.getWidth(text, fontSize);
      float localPosX = posX + iconSize + padding * 3.0F;
      this.drawStyledRect(localPosX, posY, iconSize + padding * 2.5F + textWidth, iconSize + padding * 2.0F, 4.0F);
      DisplayUtils.drawImage(this.user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));
      Fonts.sfui.drawText(ms, text, localPosX + iconSize + padding * 1.5F - 1.0F, posY + iconSize / 2.0F + 1.5F, fontSize, 255);
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius) {
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, (new Color(1644167169, true)).getRGB());
   }
}
/del
 
Начинающий
Статус
Оффлайн
Регистрация
16 Июн 2024
Сообщения
37
Реакции[?]
0
Поинты[?]
0
кодер полный ишак, хз кому эта параша нужна держите:

Пожалуйста, авторизуйтесь для просмотра ссылки.


TargetHud:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.animations.Animation;
import im.veron.utils.animations.Direction;
import im.veron.utils.animations.impl.EaseBackIn;
import im.veron.utils.drag.Dragging;
import im.veron.utils.math.MathUtil;
import im.veron.utils.math.StopWatch;
import im.veron.utils.math.Vector4i;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.Scissor;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

public class TargetInfoRenderer implements ElementRenderer {
   private final StopWatch stopWatch = new StopWatch();
   private final Dragging drag;
   private LivingEntity entity = null;
   private boolean allow;
   private final Animation animation = new EaseBackIn(132, 1.0D, 1.0F);
   private float healthAnimation = 0.0F;
   private float absorptionAnimation = 0.0F;
   private float hurtAnimation = 0.0F;
   private float second = 0.0F;
   private float third = 0.0F;

   public void render(EventDisplay eventDisplay) {
      this.entity = this.getTarget(this.entity);
      float rounding = 6.0F;
      boolean out = !this.allow || this.stopWatch.isReached(420L);
      this.animation.setDuration(out ? 400 : 300);
      this.animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);
      if (this.animation.getOutput() == 0.0D) {
         this.entity = null;
      }

      if (this.entity != null) {
         String name = this.entity.getName().getString();
         float posX = this.drag.getX();
         float posY = this.drag.getY();
         float headSize = 28.0F;
         float spacing = 5.0F;
         float width = 90.0F;
         float height = 28.0F;
         this.drag.setWidth(width);
         this.drag.setHeight(height);
         float shrinking = 1.5F;
         Score score = mc.world.getScoreboard().getOrCreateScore(this.entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
         float hp = this.entity.getHealth();
         float maxHp = this.entity.getMaxHealth();
         String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         this.healthAnimation = MathUtil.fast(this.healthAnimation, MathHelper.clamp(hp / maxHp, 0.0F, 1.0F), 10.0F);
         this.absorptionAnimation = MathUtil.fast(this.absorptionAnimation, MathHelper.clamp(this.entity.getAbsorptionAmount() / maxHp, 0.0F, 1.0F), 10.0F);
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         float animationValue = (float)this.animation.getOutput();
         this.hurtAnimation = MathUtil.fast(this.hurtAnimation, this.entity.hurtTime > 0 ? 208.0F : 0.0F, 15.0F);
         this.second = MathUtil.fast(this.second, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         this.third = MathUtil.fast(this.third, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         float halfAnimationValueRest = (1.0F - animationValue) / 2.0F;
         GlStateManager.pushMatrix();
         Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
         sizeAnimation((double)(posX + width / 2.0F), (double)(posY + height / 2.0F), this.animation.getOutput());
         DisplayUtils.drawRoundedRect(posX, posY, width, height / 2.0F, new Vector4f(4.0F, 0.0F, 4.0F, 0.0F), (new Color(12, 13, 13, 140)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY + height / 2.0F, width, height / 2.0F, new Vector4f(0.0F, 4.0F, 0.0F, 4.0F), (new Color(25, 25, 25, 180)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, width - 10.0F, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(21, 21, 21, 121)).getRGB());
         DisplayUtils.drawShadow(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, 6, (new Color(0, 0, 0, 116)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.absorptionAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(255, 205, 0, 197)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY, 16.0F, height / 2.0F, new Vector4f(4.0F, 0.0F, 0.0F, 0.0F), (new Color(18, 18, 18)).getRGB());
         Scissor.push();
         Scissor.setFromComponentCoordinates((double)posX, (double)posY, (double)width, (double)height);
         Fonts.sfbold.drawText(eventDisplay.getMatrixStack(), this.entity.getName().getString(), posX + 19.0F, posY + height / 4.0F - 4.0F, -1, 8.0F);
         Scissor.pop();
         int anim = (int)this.hurtAnimation;
         int anim2 = (int)this.second;
         int anim3 = (int)this.third;
         DisplayUtils.drawImage(new ResourceLocation("wonderful/images/hud/user.png"), posX + 8.0F - 5.0F, posY + 7.0F - 5.0F, 10.0F, 10.0F, this.entity.hurtTime > 0 ? (new Color(anim, anim2, anim3)).getRGB() : (new Color(255, 255, 255)).getRGB());
         GlStateManager.popMatrix();
      }

   }

   private LivingEntity getTarget(LivingEntity nullTarget) {
      LivingEntity auraTarget = Veron.getInstance().getFunctionRegistry().getKillAura().getTarget();
      LivingEntity target = nullTarget;
      if (auraTarget != null) {
         this.stopWatch.reset();
         this.allow = true;
         target = auraTarget;
      } else if (mc.currentScreen instanceof ChatScreen) {
         this.stopWatch.reset();
         this.allow = true;
         target = mc.player;
      } else {
         this.allow = false;
      }

      return (LivingEntity)target;
   }

   public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
      if (entity != null) {
         EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
         this.drawFace(rendererManager.getEntityTexture(entity), x, y, 8.0F, 8.0F, 8.0F, 8.0F, width, height, 64.0F, 64.0F, entity);
      }

   }

   public static void sizeAnimation(double width, double height, double scale) {
      GlStateManager.translated(width, height, 0.0D);
      GlStateManager.scaled(scale, scale, scale);
      GlStateManager.translated(-width, -height, 0.0D);
   }

   public void drawFace(ResourceLocation res, float d, float y, float u, float v, float uWidth, float vHeight, float width, float height, float tileWidth, float tileHeight, LivingEntity target) {
      GL11.glPushMatrix();
      GL11.glEnable(3042);
      mc.getTextureManager().bindTexture(res);
      float hurtPercent = ((float)target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0F)) / 10.0F;
      GL11.glColor4f(1.0F, 1.0F - hurtPercent, 1.0F - hurtPercent, 1.0F);
      AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glPopMatrix();
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius, int alpha) {
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(18, 18, 18, alpha));
   }

   public TargetInfoRenderer(Dragging drag) {
      this.drag = drag;
   }
}
ArrayList:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.events.EventUpdate;
import im.veron.functions.api.Function;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.display.ElementUpdater;
import im.veron.utils.math.StopWatch;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
   private int lastIndex;
   List<Function> list;
   StopWatch stopWatch = new StopWatch();

   public void update(EventUpdate e) {
      if (this.stopWatch.isReached(1000L)) {
         this.list = Veron.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
         this.stopWatch.reset();
      }

   }

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float rounding = 6.0F;
      float padding = 3.5F;
      Minecraft mc = Minecraft.getInstance();
      int screenWidth = mc.getMainWindow().getScaledWidth();
      float posY = 0.0F;
      int index = 0;
      if (this.list != null) {
         Iterator var9 = this.list.iterator();

         Function f;
         float fontSize;
         Animation anim;
         float value;
         String text;
         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            value = (float)anim.getValue();
            text = f.getName();
            Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               posY += (fontSize + padding * 2.0F) * value;
               ++index;
            }
         }

         index = 0;
         posY = 5.0F;
         var9 = this.list.iterator();

         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            anim.update();
            value = (float)anim.getValue();
            text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               float localFontSize = fontSize * value;
               float localTextWidth = textWidth * value;
               float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
               boolean isFirst = index == 0;
               boolean isLast = index == this.lastIndex;
               float topLeftRadius = isFirst ? rounding : 0.0F;
               float bottomLeftRadius = isLast ? rounding : 0.0F;
               DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, (new Color(1644167169, true)).getRGB());
               DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, (new Color(1644167169, true)).getRGB());
               Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
               posY += (fontSize + padding * 2.0F - 1.0F) * value;
               ++index;
            }
         }

         this.lastIndex = index - 1;
      }

   }
}
Watermark:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import im.veron.utils.text.GradientUtil;
import java.awt.Color;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

public class WatermarkRenderer implements ElementRenderer {
   private final ResourceLocation logo = new ResourceLocation("wonderful/images/hud/logo.png");
   private final ResourceLocation user = new ResourceLocation("wonderful/images/hud/user.png");

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float posX = -17.0F;
      float posY = 4.0F;
      float padding = 5.0F;
      float fontSize = 6.5F;
      float iconSize = 10.0F;
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      ITextComponent text = GradientUtil.gradient("WonderFul.tech");
      float textWidth = Fonts.sfui.getWidth(text, fontSize);
      float localPosX = posX + iconSize + padding * 3.0F;
      this.drawStyledRect(localPosX, posY, iconSize + padding * 2.5F + textWidth, iconSize + padding * 2.0F, 4.0F);
      DisplayUtils.drawImage(this.user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));
      Fonts.sfui.drawText(ms, text, localPosX + iconSize + padding * 1.5F - 1.0F, posY + iconSize / 2.0F + 1.5F, fontSize, 255);
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius) {
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, (new Color(1644167169, true)).getRGB());
   }
}
fun
 
Начинающий
Статус
Оффлайн
Регистрация
23 Ноя 2023
Сообщения
18
Реакции[?]
0
Поинты[?]
0
кодер полный ишак, хз кому эта параша нужна держите:

Пожалуйста, авторизуйтесь для просмотра ссылки.


TargetHud:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.animations.Animation;
import im.veron.utils.animations.Direction;
import im.veron.utils.animations.impl.EaseBackIn;
import im.veron.utils.drag.Dragging;
import im.veron.utils.math.MathUtil;
import im.veron.utils.math.StopWatch;
import im.veron.utils.math.Vector4i;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.Scissor;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

public class TargetInfoRenderer implements ElementRenderer {
   private final StopWatch stopWatch = new StopWatch();
   private final Dragging drag;
   private LivingEntity entity = null;
   private boolean allow;
   private final Animation animation = new EaseBackIn(132, 1.0D, 1.0F);
   private float healthAnimation = 0.0F;
   private float absorptionAnimation = 0.0F;
   private float hurtAnimation = 0.0F;
   private float second = 0.0F;
   private float third = 0.0F;

   public void render(EventDisplay eventDisplay) {
      this.entity = this.getTarget(this.entity);
      float rounding = 6.0F;
      boolean out = !this.allow || this.stopWatch.isReached(420L);
      this.animation.setDuration(out ? 400 : 300);
      this.animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);
      if (this.animation.getOutput() == 0.0D) {
         this.entity = null;
      }

      if (this.entity != null) {
         String name = this.entity.getName().getString();
         float posX = this.drag.getX();
         float posY = this.drag.getY();
         float headSize = 28.0F;
         float spacing = 5.0F;
         float width = 90.0F;
         float height = 28.0F;
         this.drag.setWidth(width);
         this.drag.setHeight(height);
         float shrinking = 1.5F;
         Score score = mc.world.getScoreboard().getOrCreateScore(this.entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
         float hp = this.entity.getHealth();
         float maxHp = this.entity.getMaxHealth();
         String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         this.healthAnimation = MathUtil.fast(this.healthAnimation, MathHelper.clamp(hp / maxHp, 0.0F, 1.0F), 10.0F);
         this.absorptionAnimation = MathUtil.fast(this.absorptionAnimation, MathHelper.clamp(this.entity.getAbsorptionAmount() / maxHp, 0.0F, 1.0F), 10.0F);
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         float animationValue = (float)this.animation.getOutput();
         this.hurtAnimation = MathUtil.fast(this.hurtAnimation, this.entity.hurtTime > 0 ? 208.0F : 0.0F, 15.0F);
         this.second = MathUtil.fast(this.second, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         this.third = MathUtil.fast(this.third, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         float halfAnimationValueRest = (1.0F - animationValue) / 2.0F;
         GlStateManager.pushMatrix();
         Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
         sizeAnimation((double)(posX + width / 2.0F), (double)(posY + height / 2.0F), this.animation.getOutput());
         DisplayUtils.drawRoundedRect(posX, posY, width, height / 2.0F, new Vector4f(4.0F, 0.0F, 4.0F, 0.0F), (new Color(12, 13, 13, 140)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY + height / 2.0F, width, height / 2.0F, new Vector4f(0.0F, 4.0F, 0.0F, 4.0F), (new Color(25, 25, 25, 180)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, width - 10.0F, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(21, 21, 21, 121)).getRGB());
         DisplayUtils.drawShadow(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, 6, (new Color(0, 0, 0, 116)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.absorptionAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(255, 205, 0, 197)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY, 16.0F, height / 2.0F, new Vector4f(4.0F, 0.0F, 0.0F, 0.0F), (new Color(18, 18, 18)).getRGB());
         Scissor.push();
         Scissor.setFromComponentCoordinates((double)posX, (double)posY, (double)width, (double)height);
         Fonts.sfbold.drawText(eventDisplay.getMatrixStack(), this.entity.getName().getString(), posX + 19.0F, posY + height / 4.0F - 4.0F, -1, 8.0F);
         Scissor.pop();
         int anim = (int)this.hurtAnimation;
         int anim2 = (int)this.second;
         int anim3 = (int)this.third;
         DisplayUtils.drawImage(new ResourceLocation("wonderful/images/hud/user.png"), posX + 8.0F - 5.0F, posY + 7.0F - 5.0F, 10.0F, 10.0F, this.entity.hurtTime > 0 ? (new Color(anim, anim2, anim3)).getRGB() : (new Color(255, 255, 255)).getRGB());
         GlStateManager.popMatrix();
      }

   }

   private LivingEntity getTarget(LivingEntity nullTarget) {
      LivingEntity auraTarget = Veron.getInstance().getFunctionRegistry().getKillAura().getTarget();
      LivingEntity target = nullTarget;
      if (auraTarget != null) {
         this.stopWatch.reset();
         this.allow = true;
         target = auraTarget;
      } else if (mc.currentScreen instanceof ChatScreen) {
         this.stopWatch.reset();
         this.allow = true;
         target = mc.player;
      } else {
         this.allow = false;
      }

      return (LivingEntity)target;
   }

   public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
      if (entity != null) {
         EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
         this.drawFace(rendererManager.getEntityTexture(entity), x, y, 8.0F, 8.0F, 8.0F, 8.0F, width, height, 64.0F, 64.0F, entity);
      }

   }

   public static void sizeAnimation(double width, double height, double scale) {
      GlStateManager.translated(width, height, 0.0D);
      GlStateManager.scaled(scale, scale, scale);
      GlStateManager.translated(-width, -height, 0.0D);
   }

   public void drawFace(ResourceLocation res, float d, float y, float u, float v, float uWidth, float vHeight, float width, float height, float tileWidth, float tileHeight, LivingEntity target) {
      GL11.glPushMatrix();
      GL11.glEnable(3042);
      mc.getTextureManager().bindTexture(res);
      float hurtPercent = ((float)target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0F)) / 10.0F;
      GL11.glColor4f(1.0F, 1.0F - hurtPercent, 1.0F - hurtPercent, 1.0F);
      AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glPopMatrix();
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius, int alpha) {
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(18, 18, 18, alpha));
   }

   public TargetInfoRenderer(Dragging drag) {
      this.drag = drag;
   }
}
ArrayList:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.events.EventUpdate;
import im.veron.functions.api.Function;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.display.ElementUpdater;
import im.veron.utils.math.StopWatch;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
   private int lastIndex;
   List<Function> list;
   StopWatch stopWatch = new StopWatch();

   public void update(EventUpdate e) {
      if (this.stopWatch.isReached(1000L)) {
         this.list = Veron.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
         this.stopWatch.reset();
      }

   }

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float rounding = 6.0F;
      float padding = 3.5F;
      Minecraft mc = Minecraft.getInstance();
      int screenWidth = mc.getMainWindow().getScaledWidth();
      float posY = 0.0F;
      int index = 0;
      if (this.list != null) {
         Iterator var9 = this.list.iterator();

         Function f;
         float fontSize;
         Animation anim;
         float value;
         String text;
         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            value = (float)anim.getValue();
            text = f.getName();
            Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               posY += (fontSize + padding * 2.0F) * value;
               ++index;
            }
         }

         index = 0;
         posY = 5.0F;
         var9 = this.list.iterator();

         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            anim.update();
            value = (float)anim.getValue();
            text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               float localFontSize = fontSize * value;
               float localTextWidth = textWidth * value;
               float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
               boolean isFirst = index == 0;
               boolean isLast = index == this.lastIndex;
               float topLeftRadius = isFirst ? rounding : 0.0F;
               float bottomLeftRadius = isLast ? rounding : 0.0F;
               DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, (new Color(1644167169, true)).getRGB());
               DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, (new Color(1644167169, true)).getRGB());
               Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
               posY += (fontSize + padding * 2.0F - 1.0F) * value;
               ++index;
            }
         }

         this.lastIndex = index - 1;
      }

   }
}
Watermark:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import im.veron.utils.text.GradientUtil;
import java.awt.Color;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

public class WatermarkRenderer implements ElementRenderer {
   private final ResourceLocation logo = new ResourceLocation("wonderful/images/hud/logo.png");
   private final ResourceLocation user = new ResourceLocation("wonderful/images/hud/user.png");

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float posX = -17.0F;
      float posY = 4.0F;
      float padding = 5.0F;
      float fontSize = 6.5F;
      float iconSize = 10.0F;
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      ITextComponent text = GradientUtil.gradient("WonderFul.tech");
      float textWidth = Fonts.sfui.getWidth(text, fontSize);
      float localPosX = posX + iconSize + padding * 3.0F;
      this.drawStyledRect(localPosX, posY, iconSize + padding * 2.5F + textWidth, iconSize + padding * 2.0F, 4.0F);
      DisplayUtils.drawImage(this.user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));
      Fonts.sfui.drawText(ms, text, localPosX + iconSize + padding * 1.5F - 1.0F, posY + iconSize / 2.0F + 1.5F, fontSize, 255);
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius) {
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, (new Color(1644167169, true)).getRGB());
   }
}
Где Кейбинды и прочий кал?
 
Начинающий
Статус
Оффлайн
Регистрация
25 Фев 2024
Сообщения
488
Реакции[?]
0
Поинты[?]
0
кодер полный ишак, хз кому эта параша нужна держите:

Пожалуйста, авторизуйтесь для просмотра ссылки.


TargetHud:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.platform.GlStateManager;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.animations.Animation;
import im.veron.utils.animations.Direction;
import im.veron.utils.animations.impl.EaseBackIn;
import im.veron.utils.drag.Dragging;
import im.veron.utils.math.MathUtil;
import im.veron.utils.math.StopWatch;
import im.veron.utils.math.Vector4i;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.Scissor;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.scoreboard.Score;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector4f;
import org.lwjgl.opengl.GL11;

public class TargetInfoRenderer implements ElementRenderer {
   private final StopWatch stopWatch = new StopWatch();
   private final Dragging drag;
   private LivingEntity entity = null;
   private boolean allow;
   private final Animation animation = new EaseBackIn(132, 1.0D, 1.0F);
   private float healthAnimation = 0.0F;
   private float absorptionAnimation = 0.0F;
   private float hurtAnimation = 0.0F;
   private float second = 0.0F;
   private float third = 0.0F;

   public void render(EventDisplay eventDisplay) {
      this.entity = this.getTarget(this.entity);
      float rounding = 6.0F;
      boolean out = !this.allow || this.stopWatch.isReached(420L);
      this.animation.setDuration(out ? 400 : 300);
      this.animation.setDirection(out ? Direction.BACKWARDS : Direction.FORWARDS);
      if (this.animation.getOutput() == 0.0D) {
         this.entity = null;
      }

      if (this.entity != null) {
         String name = this.entity.getName().getString();
         float posX = this.drag.getX();
         float posY = this.drag.getY();
         float headSize = 28.0F;
         float spacing = 5.0F;
         float width = 90.0F;
         float height = 28.0F;
         this.drag.setWidth(width);
         this.drag.setHeight(height);
         float shrinking = 1.5F;
         Score score = mc.world.getScoreboard().getOrCreateScore(this.entity.getScoreboardName(), mc.world.getScoreboard().getObjectiveInDisplaySlot(2));
         float hp = this.entity.getHealth();
         float maxHp = this.entity.getMaxHealth();
         String header = mc.ingameGUI.getTabList().header == null ? " " : mc.ingameGUI.getTabList().header.getString().toLowerCase();
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         this.healthAnimation = MathUtil.fast(this.healthAnimation, MathHelper.clamp(hp / maxHp, 0.0F, 1.0F), 10.0F);
         this.absorptionAnimation = MathUtil.fast(this.absorptionAnimation, MathHelper.clamp(this.entity.getAbsorptionAmount() / maxHp, 0.0F, 1.0F), 10.0F);
         if (mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP.contains("funtime") && (header.contains("анархия") || header.contains("гриферский")) && this.entity instanceof PlayerEntity) {
            hp = (float)score.getScorePoints();
            maxHp = 20.0F;
         }

         float animationValue = (float)this.animation.getOutput();
         this.hurtAnimation = MathUtil.fast(this.hurtAnimation, this.entity.hurtTime > 0 ? 208.0F : 0.0F, 15.0F);
         this.second = MathUtil.fast(this.second, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         this.third = MathUtil.fast(this.third, this.entity.hurtTime > 0 ? 77.0F : 0.0F, 15.0F);
         float halfAnimationValueRest = (1.0F - animationValue) / 2.0F;
         GlStateManager.pushMatrix();
         Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
         sizeAnimation((double)(posX + width / 2.0F), (double)(posY + height / 2.0F), this.animation.getOutput());
         DisplayUtils.drawRoundedRect(posX, posY, width, height / 2.0F, new Vector4f(4.0F, 0.0F, 4.0F, 0.0F), (new Color(12, 13, 13, 140)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY + height / 2.0F, width, height / 2.0F, new Vector4f(0.0F, 4.0F, 0.0F, 4.0F), (new Color(25, 25, 25, 180)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, width - 10.0F, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(21, 21, 21, 121)).getRGB());
         DisplayUtils.drawShadow(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, 6, (new Color(0, 0, 0, 116)).getRGB());
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.healthAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));
         DisplayUtils.drawRoundedRect(posX + 5.0F, posY + height / 2.0F + height / 4.0F - 2.0F, (width - 10.0F) * this.absorptionAnimation, 3.0F, new Vector4f(2.0F, 2.0F, 2.0F, 2.0F), (new Color(255, 205, 0, 197)).getRGB());
         DisplayUtils.drawRoundedRect(posX, posY, 16.0F, height / 2.0F, new Vector4f(4.0F, 0.0F, 0.0F, 0.0F), (new Color(18, 18, 18)).getRGB());
         Scissor.push();
         Scissor.setFromComponentCoordinates((double)posX, (double)posY, (double)width, (double)height);
         Fonts.sfbold.drawText(eventDisplay.getMatrixStack(), this.entity.getName().getString(), posX + 19.0F, posY + height / 4.0F - 4.0F, -1, 8.0F);
         Scissor.pop();
         int anim = (int)this.hurtAnimation;
         int anim2 = (int)this.second;
         int anim3 = (int)this.third;
         DisplayUtils.drawImage(new ResourceLocation("wonderful/images/hud/user.png"), posX + 8.0F - 5.0F, posY + 7.0F - 5.0F, 10.0F, 10.0F, this.entity.hurtTime > 0 ? (new Color(anim, anim2, anim3)).getRGB() : (new Color(255, 255, 255)).getRGB());
         GlStateManager.popMatrix();
      }

   }

   private LivingEntity getTarget(LivingEntity nullTarget) {
      LivingEntity auraTarget = Veron.getInstance().getFunctionRegistry().getKillAura().getTarget();
      LivingEntity target = nullTarget;
      if (auraTarget != null) {
         this.stopWatch.reset();
         this.allow = true;
         target = auraTarget;
      } else if (mc.currentScreen instanceof ChatScreen) {
         this.stopWatch.reset();
         this.allow = true;
         target = mc.player;
      } else {
         this.allow = false;
      }

      return (LivingEntity)target;
   }

   public void drawTargetHead(LivingEntity entity, float x, float y, float width, float height) {
      if (entity != null) {
         EntityRenderer<? super LivingEntity> rendererManager = mc.getRenderManager().getRenderer(entity);
         this.drawFace(rendererManager.getEntityTexture(entity), x, y, 8.0F, 8.0F, 8.0F, 8.0F, width, height, 64.0F, 64.0F, entity);
      }

   }

   public static void sizeAnimation(double width, double height, double scale) {
      GlStateManager.translated(width, height, 0.0D);
      GlStateManager.scaled(scale, scale, scale);
      GlStateManager.translated(-width, -height, 0.0D);
   }

   public void drawFace(ResourceLocation res, float d, float y, float u, float v, float uWidth, float vHeight, float width, float height, float tileWidth, float tileHeight, LivingEntity target) {
      GL11.glPushMatrix();
      GL11.glEnable(3042);
      mc.getTextureManager().bindTexture(res);
      float hurtPercent = ((float)target.hurtTime - (target.hurtTime != 0 ? mc.timer.renderPartialTicks : 0.0F)) / 10.0F;
      GL11.glColor4f(1.0F, 1.0F - hurtPercent, 1.0F - hurtPercent, 1.0F);
      AbstractGui.drawScaledCustomSizeModalRect(d, y, u, v, uWidth, vHeight, width, height, tileWidth, tileHeight);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glPopMatrix();
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius, int alpha) {
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(18, 18, 18, alpha));
   }

   public TargetInfoRenderer(Dragging drag) {
      this.drag = drag;
   }
}
ArrayList:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.events.EventUpdate;
import im.veron.functions.api.Function;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.display.ElementUpdater;
import im.veron.utils.math.StopWatch;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import java.awt.Color;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import ru.hogoshi.Animation;

public class ArrayListRenderer implements ElementRenderer, ElementUpdater {
   private int lastIndex;
   List<Function> list;
   StopWatch stopWatch = new StopWatch();

   public void update(EventUpdate e) {
      if (this.stopWatch.isReached(1000L)) {
         this.list = Veron.getInstance().getFunctionRegistry().getSorted(Fonts.sfui, 7.5F).stream().toList();
         this.stopWatch.reset();
      }

   }

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float rounding = 6.0F;
      float padding = 3.5F;
      Minecraft mc = Minecraft.getInstance();
      int screenWidth = mc.getMainWindow().getScaledWidth();
      float posY = 0.0F;
      int index = 0;
      if (this.list != null) {
         Iterator var9 = this.list.iterator();

         Function f;
         float fontSize;
         Animation anim;
         float value;
         String text;
         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            value = (float)anim.getValue();
            text = f.getName();
            Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               posY += (fontSize + padding * 2.0F) * value;
               ++index;
            }
         }

         index = 0;
         posY = 5.0F;
         var9 = this.list.iterator();

         while(var9.hasNext()) {
            f = (Function)var9.next();
            fontSize = 6.5F;
            anim = f.getAnimation();
            anim.update();
            value = (float)anim.getValue();
            text = f.getName();
            float textWidth = Fonts.sfui.getWidth(text, fontSize);
            if (value != 0.0F) {
               float localFontSize = fontSize * value;
               float localTextWidth = textWidth * value;
               float posX = (float)screenWidth - localTextWidth - padding * 2.0F - 4.0F;
               boolean isFirst = index == 0;
               boolean isLast = index == this.lastIndex;
               float topLeftRadius = isFirst ? rounding : 0.0F;
               float bottomLeftRadius = isLast ? rounding : 0.0F;
               DisplayUtils.drawRoundedRect(posX, posY, localTextWidth + padding * 2.0F, localFontSize + padding * 2.0F, value, (new Color(1644167169, true)).getRGB());
               DisplayUtils.drawShadow(posX, posY, localTextWidth + padding * 2.0F + 3.0F, localFontSize + padding * 2.0F + 3.0F, 6, (new Color(1644167169, true)).getRGB());
               Fonts.sfui.drawText(ms, f.getName(), posX + padding, posY + padding, ColorUtils.getColor(0), localFontSize);
               posY += (fontSize + padding * 2.0F - 1.0F) * value;
               ++index;
            }
         }

         this.lastIndex = index - 1;
      }

   }
}
Watermark:
package im.veron.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.veron.Veron;
import im.veron.events.EventDisplay;
import im.veron.ui.display.ElementRenderer;
import im.veron.ui.styles.Style;
import im.veron.utils.render.ColorUtils;
import im.veron.utils.render.DisplayUtils;
import im.veron.utils.render.font.Fonts;
import im.veron.utils.text.GradientUtil;
import java.awt.Color;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

public class WatermarkRenderer implements ElementRenderer {
   private final ResourceLocation logo = new ResourceLocation("wonderful/images/hud/logo.png");
   private final ResourceLocation user = new ResourceLocation("wonderful/images/hud/user.png");

   public void render(EventDisplay eventDisplay) {
      MatrixStack ms = eventDisplay.getMatrixStack();
      float posX = -17.0F;
      float posY = 4.0F;
      float padding = 5.0F;
      float fontSize = 6.5F;
      float iconSize = 10.0F;
      Style style = Veron.getInstance().getStyleManager().getCurrentStyle();
      ITextComponent text = GradientUtil.gradient("WonderFul.tech");
      float textWidth = Fonts.sfui.getWidth(text, fontSize);
      float localPosX = posX + iconSize + padding * 3.0F;
      this.drawStyledRect(localPosX, posY, iconSize + padding * 2.5F + textWidth, iconSize + padding * 2.0F, 4.0F);
      DisplayUtils.drawImage(this.user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));
      Fonts.sfui.drawText(ms, text, localPosX + iconSize + padding * 1.5F - 1.0F, posY + iconSize / 2.0F + 1.5F, fontSize, 255);
   }

   private void drawStyledRect(float x, float y, float width, float height, float radius) {
      DisplayUtils.drawRoundedRect(x, y, width, height, radius, (new Color(1644167169, true)).getRGB());
   }
}
/del худ экспы без оутлайна и глова
 
Сверху Снизу