A SelfInfo as Akrien Client
-
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:

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; } -
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:

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; }very sexy indicators, copied
-
very sexy indicators, copied
@P1ayerLk_-0 thx
-
nice information ver useful
-
nice information ver useful
@ukvaporwaves thx
-
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:

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; }
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