Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

LiquidBounce Forum

  1. Home
  2. Kotlin/Java
  3. A SelfInfo as Akrien Client

A SelfInfo as Akrien Client

Scheduled Pinned Locked Moved Kotlin/Java
6 Posts 4 Posters 2.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • YounKooY Offline
    YounKooY Offline
    YounKoo
    wrote on last edited by
    #1

    I'm using novoline's font system, you can use LiquidBounce instead, note that novoline's font size is twice as large as Liquidbounce's

    Effect image:2022-11-24_22.53.11.png

    Code:

    @ElementInfo(name = "SelfInfo")
    public class SelfInfo extends Element {
        //code by younkoo(littledye or 情染)
        public static IntegerValue rRed = new IntegerValue("Red", 0, 0, 255);
        public static IntegerValue rGreen = new IntegerValue("Green", 0, 0, 255);
        public static IntegerValue rBlue = new IntegerValue("Blue", 0, 0, 255);
    
        //fix jitter
        public IntegerValue indx = new IntegerValue("noting",120,0,1000);
        public IntegerValue indy = new IntegerValue("noting2",80,0,1000);
    
        public static Color mainColor() {
            return new Color(rRed.get(), rGreen.get(), rBlue.get());
        }
    
        private double armorBarWidth;
    
        private double hurttimeBarWidth;
    
        private double bpsBarWidth;
    
        private double healthBarWidth;
    
        public int x2 = indx.get(), y3 = indy.get();
    
        TimerUtil timerHelper = new TimerUtil();
    
        ScaledResolution sr = new ScaledResolution(mc);
        final float scaledWidth = sr.getScaledWidth();
        final float scaledHeight = sr.getScaledHeight();
    
        //code by younkoo(littledye or 情染)
        //code by younkoo(littledye or 情染)
        //code by younkoo(littledye or 情染)
    
        @Override
        public Border drawElement(float partialTicks) {
            double prevZ = mc.thePlayer.posZ - mc.thePlayer.prevPosZ;
            double prevX = mc.thePlayer.posX - mc.thePlayer.prevPosX;
            double lastDist = Math.sqrt(prevX * prevX + prevZ * prevZ);
            double currSpeed = lastDist * 15.3571428571D / 4;
    
            final float xX = scaledWidth / 2.0f -x2;
            final float yX = scaledHeight / 2.0f + y3;
            VisualBase.drawNewRect(xX + 4.5, yX  + 196.5 - 405, xX + 100.5, yX + 246.5 - 408, new Color(11, 11, 11, 255).getRGB());
            VisualBase.drawNewRect(xX + 5, yX + 198 - 405, xX + 100, yX + 246 - 408, new Color(28, 28, 28, 255).getRGB());
            VisualBase.drawNewRect(xX + 5, yX  + 198 - 405, xX + 100, yX + 208 - 408, new Color(21, 19, 20, 255).getRGB());
            VisualBase.drawNewRect(xX + 44, yX + 210 - 406, xX + 95, yX + 213.5 - 406, new Color(41, 41, 41, 255).getRGB());
            VisualBase.drawNewRect(xX + 44, yX + 219 - 406, xX + 95, yX + 222.5 - 406, new Color(41, 41, 41, 255).getRGB());
            VisualBase.drawNewRect(xX + 44, yX + 228 - 406, xX + 95, yX + 231.5 - 406, new Color(41, 41, 41, 255).getRGB());
            VisualBase.drawNewRect(xX + 44, yX + 237 - 406, xX + 95, yX + 240.5 - 406, new Color(41, 41, 41, 255).getRGB());
            VisualBase.drawNewRect(xX + 5, yX + 197 - 405, xX + 100, yX + 198 - 405, mainColor().getRGB());
    
            Fonts.SF.SF_14.SF_14.drawString("Indicators", xX + 37, yX + 202 - 406, -1);
    
            // armor
            final float armorValue = mc.thePlayer.getTotalArmorValue();
            double armorPercentage = armorValue / 20;
            armorPercentage = MathHelper.clamp_double(armorPercentage, 0.0, 1.0);
    
            final double armorWidth = 51 * armorPercentage;
            this.armorBarWidth = AnimationHelper.animate(armorWidth, this.armorBarWidth, 0.0229999852180481);
            VisualUtils.drawRect(xX + 44, yX + 210 - 406, xX + 44 + this.armorBarWidth, yX + 213.5 - 406, mainColor().getRGB());
    
            Fonts.SF.SF_14.SF_14.drawString("Armor", xX + 8, yX + 211 - 406, -1);
    
            // HurtTime
            double hurttimePercentage = MathHelper.clamp_double(mc.thePlayer.hurtTime, 0.0, 0.6);
            final double hurttimeWidth = 51.0 * hurttimePercentage;
            this.hurttimeBarWidth = AnimationHelper.animate(hurttimeWidth, this.hurttimeBarWidth, 0.0429999852180481);
            VisualUtils.drawRect(xX + 44, yX + 219 - 406, xX + 44 + this.hurttimeBarWidth, yX + 222.5 - 406, mainColor().getRGB());
    
            Fonts.SF.SF_14.SF_14.drawString("HurtTime", xX + 8, yX + 220 - 406, -1);
    
            // HurtTime
            double bpsPercentage = MathHelper.clamp_double(currSpeed, 0.0, 1.0);
            final double bpsBarWidth = 51.0 * bpsPercentage;
            this.bpsBarWidth = AnimationHelper.animate(bpsBarWidth, this.bpsBarWidth, 0.0329999852180481);
    
            VisualUtils.drawRect(xX + 44, yX + 228 - 406, xX + 44 + this.bpsBarWidth, yX + 231.5 - 406, mainColor().getRGB());
    
            Fonts.SF.SF_14.SF_14.drawString("BPS", xX + 8, yX + 229 - 406, -1);
    
            // HurtTime
            final float health = mc.thePlayer.getHealth();
            double hpPercentage = health / mc.thePlayer.getMaxHealth();
            hpPercentage = MathHelper.clamp_double(hpPercentage, 0.0, 1.0);
            final double hpWidth = 51.0 * hpPercentage;
            final String healthStr = String.valueOf((int) mc.thePlayer.getHealth() / 2.0f);
    
            if (timerHelper.hasReached(15L)) {
                this.healthBarWidth = AnimationHelper.animate(hpWidth, this.healthBarWidth, 0.2029999852180481);
                timerHelper.reset();
            }
    
            VisualUtils.drawRect(xX + 44, yX + 237 - 406, xX + 44 + this.healthBarWidth, yX + 240.5 - 406, mainColor().getRGB());
    
            Fonts.SF.SF_14.SF_14.drawString("HP", xX + 8, yX + 238 - 406, -1);
            return new Border(98,-8,194,39);
        }
    
    }
    

    DrawNewRect

    public static void drawNewRect(double left, double top, double right, double bottom, int color) {
            if (left < right) {
                double i = left;
                left = right;
                right = i;
            }
            if (top < bottom) {
                double j = top;
                top = bottom;
                bottom = j;
            }
            float f3 = (float)(color >> 24 & 0xFF) / 255.0f;
            float f = (float)(color >> 16 & 0xFF) / 255.0f;
            float f1 = (float)(color >> 8 & 0xFF) / 255.0f;
            float f2 = (float)(color & 0xFF) / 255.0f;
            Tessellator tessellator = Tessellator.getInstance();
            WorldRenderer vertexbuffer = tessellator.getWorldRenderer();
            GlStateManager.enableBlend();
            GlStateManager.disableTexture2D();
            GlStateManager.tryBlendFuncSeparate(770, 771, 0, 1);
            GlStateManager.color(f, f1, f2, f3);
            vertexbuffer.begin(7, DefaultVertexFormats.POSITION);
            vertexbuffer.pos(left, bottom, 0.0).endVertex();
            vertexbuffer.pos(right, bottom, 0.0).endVertex();
            vertexbuffer.pos(right, top, 0.0).endVertex();
            vertexbuffer.pos(left, top, 0.0).endVertex();
            tessellator.draw();
            GlStateManager.enableTexture2D();
            GlStateManager.disableBlend();
        }
    

    Animate

    public static double animate(double target, double current, double speed) {
            boolean larger;
            boolean bl = larger = target > current;
            if (speed < 0.0) {
                speed = 0.0;
            } else if (speed > 1.0) {
                speed = 1.0;
            }
            double dif = Math.max(target, current) - Math.min(target, current);
            double factor = dif * speed;
            if (factor < 0.1) {
                factor = 0.1;
            }
            current = larger ? (current += factor) : (current -= factor);
            return current;
        }
    
    P G 2 Replies Last reply
    0
    • YounKooY YounKoo

      I'm using novoline's font system, you can use LiquidBounce instead, note that novoline's font size is twice as large as Liquidbounce's

      Effect image:2022-11-24_22.53.11.png

      Code:

      @ElementInfo(name = "SelfInfo")
      public class SelfInfo extends Element {
          //code by younkoo(littledye or 情染)
          public static IntegerValue rRed = new IntegerValue("Red", 0, 0, 255);
          public static IntegerValue rGreen = new IntegerValue("Green", 0, 0, 255);
          public static IntegerValue rBlue = new IntegerValue("Blue", 0, 0, 255);
      
          //fix jitter
          public IntegerValue indx = new IntegerValue("noting",120,0,1000);
          public IntegerValue indy = new IntegerValue("noting2",80,0,1000);
      
          public static Color mainColor() {
              return new Color(rRed.get(), rGreen.get(), rBlue.get());
          }
      
          private double armorBarWidth;
      
          private double hurttimeBarWidth;
      
          private double bpsBarWidth;
      
          private double healthBarWidth;
      
          public int x2 = indx.get(), y3 = indy.get();
      
          TimerUtil timerHelper = new TimerUtil();
      
          ScaledResolution sr = new ScaledResolution(mc);
          final float scaledWidth = sr.getScaledWidth();
          final float scaledHeight = sr.getScaledHeight();
      
          //code by younkoo(littledye or 情染)
          //code by younkoo(littledye or 情染)
          //code by younkoo(littledye or 情染)
      
          @Override
          public Border drawElement(float partialTicks) {
              double prevZ = mc.thePlayer.posZ - mc.thePlayer.prevPosZ;
              double prevX = mc.thePlayer.posX - mc.thePlayer.prevPosX;
              double lastDist = Math.sqrt(prevX * prevX + prevZ * prevZ);
              double currSpeed = lastDist * 15.3571428571D / 4;
      
              final float xX = scaledWidth / 2.0f -x2;
              final float yX = scaledHeight / 2.0f + y3;
              VisualBase.drawNewRect(xX + 4.5, yX  + 196.5 - 405, xX + 100.5, yX + 246.5 - 408, new Color(11, 11, 11, 255).getRGB());
              VisualBase.drawNewRect(xX + 5, yX + 198 - 405, xX + 100, yX + 246 - 408, new Color(28, 28, 28, 255).getRGB());
              VisualBase.drawNewRect(xX + 5, yX  + 198 - 405, xX + 100, yX + 208 - 408, new Color(21, 19, 20, 255).getRGB());
              VisualBase.drawNewRect(xX + 44, yX + 210 - 406, xX + 95, yX + 213.5 - 406, new Color(41, 41, 41, 255).getRGB());
              VisualBase.drawNewRect(xX + 44, yX + 219 - 406, xX + 95, yX + 222.5 - 406, new Color(41, 41, 41, 255).getRGB());
              VisualBase.drawNewRect(xX + 44, yX + 228 - 406, xX + 95, yX + 231.5 - 406, new Color(41, 41, 41, 255).getRGB());
              VisualBase.drawNewRect(xX + 44, yX + 237 - 406, xX + 95, yX + 240.5 - 406, new Color(41, 41, 41, 255).getRGB());
              VisualBase.drawNewRect(xX + 5, yX + 197 - 405, xX + 100, yX + 198 - 405, mainColor().getRGB());
      
              Fonts.SF.SF_14.SF_14.drawString("Indicators", xX + 37, yX + 202 - 406, -1);
      
              // armor
              final float armorValue = mc.thePlayer.getTotalArmorValue();
              double armorPercentage = armorValue / 20;
              armorPercentage = MathHelper.clamp_double(armorPercentage, 0.0, 1.0);
      
              final double armorWidth = 51 * armorPercentage;
              this.armorBarWidth = AnimationHelper.animate(armorWidth, this.armorBarWidth, 0.0229999852180481);
              VisualUtils.drawRect(xX + 44, yX + 210 - 406, xX + 44 + this.armorBarWidth, yX + 213.5 - 406, mainColor().getRGB());
      
              Fonts.SF.SF_14.SF_14.drawString("Armor", xX + 8, yX + 211 - 406, -1);
      
              // HurtTime
              double hurttimePercentage = MathHelper.clamp_double(mc.thePlayer.hurtTime, 0.0, 0.6);
              final double hurttimeWidth = 51.0 * hurttimePercentage;
              this.hurttimeBarWidth = AnimationHelper.animate(hurttimeWidth, this.hurttimeBarWidth, 0.0429999852180481);
              VisualUtils.drawRect(xX + 44, yX + 219 - 406, xX + 44 + this.hurttimeBarWidth, yX + 222.5 - 406, mainColor().getRGB());
      
              Fonts.SF.SF_14.SF_14.drawString("HurtTime", xX + 8, yX + 220 - 406, -1);
      
              // HurtTime
              double bpsPercentage = MathHelper.clamp_double(currSpeed, 0.0, 1.0);
              final double bpsBarWidth = 51.0 * bpsPercentage;
              this.bpsBarWidth = AnimationHelper.animate(bpsBarWidth, this.bpsBarWidth, 0.0329999852180481);
      
              VisualUtils.drawRect(xX + 44, yX + 228 - 406, xX + 44 + this.bpsBarWidth, yX + 231.5 - 406, mainColor().getRGB());
      
              Fonts.SF.SF_14.SF_14.drawString("BPS", xX + 8, yX + 229 - 406, -1);
      
              // HurtTime
              final float health = mc.thePlayer.getHealth();
              double hpPercentage = health / mc.thePlayer.getMaxHealth();
              hpPercentage = MathHelper.clamp_double(hpPercentage, 0.0, 1.0);
              final double hpWidth = 51.0 * hpPercentage;
              final String healthStr = String.valueOf((int) mc.thePlayer.getHealth() / 2.0f);
      
              if (timerHelper.hasReached(15L)) {
                  this.healthBarWidth = AnimationHelper.animate(hpWidth, this.healthBarWidth, 0.2029999852180481);
                  timerHelper.reset();
              }
      
              VisualUtils.drawRect(xX + 44, yX + 237 - 406, xX + 44 + this.healthBarWidth, yX + 240.5 - 406, mainColor().getRGB());
      
              Fonts.SF.SF_14.SF_14.drawString("HP", xX + 8, yX + 238 - 406, -1);
              return new Border(98,-8,194,39);
          }
      
      }
      

      DrawNewRect

      public static void drawNewRect(double left, double top, double right, double bottom, int color) {
              if (left < right) {
                  double i = left;
                  left = right;
                  right = i;
              }
              if (top < bottom) {
                  double j = top;
                  top = bottom;
                  bottom = j;
              }
              float f3 = (float)(color >> 24 & 0xFF) / 255.0f;
              float f = (float)(color >> 16 & 0xFF) / 255.0f;
              float f1 = (float)(color >> 8 & 0xFF) / 255.0f;
              float f2 = (float)(color & 0xFF) / 255.0f;
              Tessellator tessellator = Tessellator.getInstance();
              WorldRenderer vertexbuffer = tessellator.getWorldRenderer();
              GlStateManager.enableBlend();
              GlStateManager.disableTexture2D();
              GlStateManager.tryBlendFuncSeparate(770, 771, 0, 1);
              GlStateManager.color(f, f1, f2, f3);
              vertexbuffer.begin(7, DefaultVertexFormats.POSITION);
              vertexbuffer.pos(left, bottom, 0.0).endVertex();
              vertexbuffer.pos(right, bottom, 0.0).endVertex();
              vertexbuffer.pos(right, top, 0.0).endVertex();
              vertexbuffer.pos(left, top, 0.0).endVertex();
              tessellator.draw();
              GlStateManager.enableTexture2D();
              GlStateManager.disableBlend();
          }
      

      Animate

      public static double animate(double target, double current, double speed) {
              boolean larger;
              boolean bl = larger = target > current;
              if (speed < 0.0) {
                  speed = 0.0;
              } else if (speed > 1.0) {
                  speed = 1.0;
              }
              double dif = Math.max(target, current) - Math.min(target, current);
              double factor = dif * speed;
              if (factor < 0.1) {
                  factor = 0.1;
              }
              current = larger ? (current += factor) : (current -= factor);
              return current;
          }
      
      P Offline
      P Offline
      P1ayerLk_ 0
      wrote on last edited by
      #2

      very sexy indicators, copied

      YounKooY 1 Reply Last reply
      0
      • P P1ayerLk_ 0

        very sexy indicators, copied

        YounKooY Offline
        YounKooY Offline
        YounKoo
        wrote on last edited by
        #3

        @P1ayerLk_-0 thx

        1 Reply Last reply
        0
        • ukvaporwavesU Offline
          ukvaporwavesU Offline
          ukvaporwaves
          wrote on last edited by
          #4

          nice information ver useful

          YounKooY 1 Reply Last reply
          0
          • ukvaporwavesU ukvaporwaves

            nice information ver useful

            YounKooY Offline
            YounKooY Offline
            YounKoo
            wrote on last edited by
            #5

            @ukvaporwaves thx

            1 Reply Last reply
            0
            • YounKooY YounKoo

              I'm using novoline's font system, you can use LiquidBounce instead, note that novoline's font size is twice as large as Liquidbounce's

              Effect image:2022-11-24_22.53.11.png

              Code:

              @ElementInfo(name = "SelfInfo")
              public class SelfInfo extends Element {
                  //code by younkoo(littledye or 情染)
                  public static IntegerValue rRed = new IntegerValue("Red", 0, 0, 255);
                  public static IntegerValue rGreen = new IntegerValue("Green", 0, 0, 255);
                  public static IntegerValue rBlue = new IntegerValue("Blue", 0, 0, 255);
              
                  //fix jitter
                  public IntegerValue indx = new IntegerValue("noting",120,0,1000);
                  public IntegerValue indy = new IntegerValue("noting2",80,0,1000);
              
                  public static Color mainColor() {
                      return new Color(rRed.get(), rGreen.get(), rBlue.get());
                  }
              
                  private double armorBarWidth;
              
                  private double hurttimeBarWidth;
              
                  private double bpsBarWidth;
              
                  private double healthBarWidth;
              
                  public int x2 = indx.get(), y3 = indy.get();
              
                  TimerUtil timerHelper = new TimerUtil();
              
                  ScaledResolution sr = new ScaledResolution(mc);
                  final float scaledWidth = sr.getScaledWidth();
                  final float scaledHeight = sr.getScaledHeight();
              
                  //code by younkoo(littledye or 情染)
                  //code by younkoo(littledye or 情染)
                  //code by younkoo(littledye or 情染)
              
                  @Override
                  public Border drawElement(float partialTicks) {
                      double prevZ = mc.thePlayer.posZ - mc.thePlayer.prevPosZ;
                      double prevX = mc.thePlayer.posX - mc.thePlayer.prevPosX;
                      double lastDist = Math.sqrt(prevX * prevX + prevZ * prevZ);
                      double currSpeed = lastDist * 15.3571428571D / 4;
              
                      final float xX = scaledWidth / 2.0f -x2;
                      final float yX = scaledHeight / 2.0f + y3;
                      VisualBase.drawNewRect(xX + 4.5, yX  + 196.5 - 405, xX + 100.5, yX + 246.5 - 408, new Color(11, 11, 11, 255).getRGB());
                      VisualBase.drawNewRect(xX + 5, yX + 198 - 405, xX + 100, yX + 246 - 408, new Color(28, 28, 28, 255).getRGB());
                      VisualBase.drawNewRect(xX + 5, yX  + 198 - 405, xX + 100, yX + 208 - 408, new Color(21, 19, 20, 255).getRGB());
                      VisualBase.drawNewRect(xX + 44, yX + 210 - 406, xX + 95, yX + 213.5 - 406, new Color(41, 41, 41, 255).getRGB());
                      VisualBase.drawNewRect(xX + 44, yX + 219 - 406, xX + 95, yX + 222.5 - 406, new Color(41, 41, 41, 255).getRGB());
                      VisualBase.drawNewRect(xX + 44, yX + 228 - 406, xX + 95, yX + 231.5 - 406, new Color(41, 41, 41, 255).getRGB());
                      VisualBase.drawNewRect(xX + 44, yX + 237 - 406, xX + 95, yX + 240.5 - 406, new Color(41, 41, 41, 255).getRGB());
                      VisualBase.drawNewRect(xX + 5, yX + 197 - 405, xX + 100, yX + 198 - 405, mainColor().getRGB());
              
                      Fonts.SF.SF_14.SF_14.drawString("Indicators", xX + 37, yX + 202 - 406, -1);
              
                      // armor
                      final float armorValue = mc.thePlayer.getTotalArmorValue();
                      double armorPercentage = armorValue / 20;
                      armorPercentage = MathHelper.clamp_double(armorPercentage, 0.0, 1.0);
              
                      final double armorWidth = 51 * armorPercentage;
                      this.armorBarWidth = AnimationHelper.animate(armorWidth, this.armorBarWidth, 0.0229999852180481);
                      VisualUtils.drawRect(xX + 44, yX + 210 - 406, xX + 44 + this.armorBarWidth, yX + 213.5 - 406, mainColor().getRGB());
              
                      Fonts.SF.SF_14.SF_14.drawString("Armor", xX + 8, yX + 211 - 406, -1);
              
                      // HurtTime
                      double hurttimePercentage = MathHelper.clamp_double(mc.thePlayer.hurtTime, 0.0, 0.6);
                      final double hurttimeWidth = 51.0 * hurttimePercentage;
                      this.hurttimeBarWidth = AnimationHelper.animate(hurttimeWidth, this.hurttimeBarWidth, 0.0429999852180481);
                      VisualUtils.drawRect(xX + 44, yX + 219 - 406, xX + 44 + this.hurttimeBarWidth, yX + 222.5 - 406, mainColor().getRGB());
              
                      Fonts.SF.SF_14.SF_14.drawString("HurtTime", xX + 8, yX + 220 - 406, -1);
              
                      // HurtTime
                      double bpsPercentage = MathHelper.clamp_double(currSpeed, 0.0, 1.0);
                      final double bpsBarWidth = 51.0 * bpsPercentage;
                      this.bpsBarWidth = AnimationHelper.animate(bpsBarWidth, this.bpsBarWidth, 0.0329999852180481);
              
                      VisualUtils.drawRect(xX + 44, yX + 228 - 406, xX + 44 + this.bpsBarWidth, yX + 231.5 - 406, mainColor().getRGB());
              
                      Fonts.SF.SF_14.SF_14.drawString("BPS", xX + 8, yX + 229 - 406, -1);
              
                      // HurtTime
                      final float health = mc.thePlayer.getHealth();
                      double hpPercentage = health / mc.thePlayer.getMaxHealth();
                      hpPercentage = MathHelper.clamp_double(hpPercentage, 0.0, 1.0);
                      final double hpWidth = 51.0 * hpPercentage;
                      final String healthStr = String.valueOf((int) mc.thePlayer.getHealth() / 2.0f);
              
                      if (timerHelper.hasReached(15L)) {
                          this.healthBarWidth = AnimationHelper.animate(hpWidth, this.healthBarWidth, 0.2029999852180481);
                          timerHelper.reset();
                      }
              
                      VisualUtils.drawRect(xX + 44, yX + 237 - 406, xX + 44 + this.healthBarWidth, yX + 240.5 - 406, mainColor().getRGB());
              
                      Fonts.SF.SF_14.SF_14.drawString("HP", xX + 8, yX + 238 - 406, -1);
                      return new Border(98,-8,194,39);
                  }
              
              }
              

              DrawNewRect

              public static void drawNewRect(double left, double top, double right, double bottom, int color) {
                      if (left < right) {
                          double i = left;
                          left = right;
                          right = i;
                      }
                      if (top < bottom) {
                          double j = top;
                          top = bottom;
                          bottom = j;
                      }
                      float f3 = (float)(color >> 24 & 0xFF) / 255.0f;
                      float f = (float)(color >> 16 & 0xFF) / 255.0f;
                      float f1 = (float)(color >> 8 & 0xFF) / 255.0f;
                      float f2 = (float)(color & 0xFF) / 255.0f;
                      Tessellator tessellator = Tessellator.getInstance();
                      WorldRenderer vertexbuffer = tessellator.getWorldRenderer();
                      GlStateManager.enableBlend();
                      GlStateManager.disableTexture2D();
                      GlStateManager.tryBlendFuncSeparate(770, 771, 0, 1);
                      GlStateManager.color(f, f1, f2, f3);
                      vertexbuffer.begin(7, DefaultVertexFormats.POSITION);
                      vertexbuffer.pos(left, bottom, 0.0).endVertex();
                      vertexbuffer.pos(right, bottom, 0.0).endVertex();
                      vertexbuffer.pos(right, top, 0.0).endVertex();
                      vertexbuffer.pos(left, top, 0.0).endVertex();
                      tessellator.draw();
                      GlStateManager.enableTexture2D();
                      GlStateManager.disableBlend();
                  }
              

              Animate

              public static double animate(double target, double current, double speed) {
                      boolean larger;
                      boolean bl = larger = target > current;
                      if (speed < 0.0) {
                          speed = 0.0;
                      } else if (speed > 1.0) {
                          speed = 1.0;
                      }
                      double dif = Math.max(target, current) - Math.min(target, current);
                      double factor = dif * speed;
                      if (factor < 0.1) {
                          factor = 0.1;
                      }
                      current = larger ? (current += factor) : (current -= factor);
                      return current;
                  }
              
              G Offline
              G Offline
              Gabriel
              wrote on last edited by
              #6

              @YounKoo I am aware that this is a necropost, but I have a question. Can you give me the Novoline font renderer code (the one you ported to LiquidBounce)? It looks way better.

              1 Reply Last reply
              0

              Hello! It looks like you're interested in this conversation, but you don't have an account yet.

              Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

              With your input, this post could be even better 💗

              Register Login
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              About
              • Terms of Service
              • Privacy Policy
              • Status
              • Contact Us
              Downloads
              • Releases
              • Source code
              • License
              Docs
              • Tutorials
              • CustomHUD
              • AutoSettings
              • ScriptAPI
              Community
              • Forum
              • Guilded
              • YouTube
              • Twitter
              • D.Tube
              • Login

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups