Advertisement
TerrificTable55

Untitled

Nov 13th, 2022
1,056
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.83 KB | None | 0 0
  1. package com.arsenicclient.module.impl.render;
  2.  
  3. import com.arsenicclient.event.impl.render.EventRender3D;
  4. import com.arsenicclient.font.impl.FontUtil;
  5. import com.arsenicclient.module.Category;
  6. import com.arsenicclient.module.Module;
  7. import com.arsenicclient.utils.render.RenderUtil;
  8. import com.google.common.eventbus.Subscribe;
  9. import net.minecraft.client.Minecraft;
  10. import net.minecraft.client.entity.AbstractClientPlayer;
  11. import net.minecraft.client.gui.Gui;
  12. import net.minecraft.client.renderer.GlStateManager;
  13. import net.minecraft.entity.Entity;
  14. import net.minecraft.entity.EntityLivingBase;
  15. import org.lwjgl.opengl.GL11;
  16.  
  17. import java.awt.*;
  18.  
  19. public class ESP2D extends Module {
  20.  
  21.     public ESP2D() {
  22.         super("2D ESP", "A WIP 2D ESP", Category.RENDER);
  23.     }
  24.  
  25.     @Subscribe
  26.     public void onRender3D(EventRender3D event) {
  27.         Minecraft mc = Minecraft.getMinecraft();
  28.  
  29.         if (!isEnabled() || mc.thePlayer == null || mc.theWorld == null) return;
  30.  
  31.         for (Entity entity : mc.theWorld.loadedEntityList) {
  32.             if (entity instanceof AbstractClientPlayer && entity != mc.thePlayer) {
  33.                 esp((EntityLivingBase) entity);
  34.             }
  35.         }
  36.     }
  37.  
  38.  
  39.  
  40.     private void esp(EntityLivingBase e) {
  41.         if (mc.thePlayer.getDistanceToEntity(e) < 0.75)
  42.             return;
  43.  
  44.  
  45.         double x = e.lastTickPosX + (e.posX - e.lastTickPosX) * mc.timer.renderPartialTicks - mc.getRenderManager().viewerPosX;
  46.         double y = e.lastTickPosY + (e.posY - e.lastTickPosY) * mc.timer.renderPartialTicks - mc.getRenderManager().viewerPosY;
  47.         double z = e.lastTickPosZ + (e.posZ - e.lastTickPosZ) * mc.timer.renderPartialTicks - mc.getRenderManager().viewerPosZ;
  48.         GlStateManager.pushMatrix();
  49.  
  50.         // health ratio
  51.         double r = (e.getHealth() / e.getMaxHealth());
  52.         double b = (73 * r);
  53.  
  54.         // health color
  55.         int c =
  56.             (r < 0.3)
  57.                     ? Color.red.getRGB()
  58.             : (r < 0.5)
  59.                     ? Color.orange.getRGB()
  60.             : (r < 0.7)
  61.                     ? Color.yellow.getRGB()
  62.             : Color.green.getRGB(); // rgb for health
  63.  
  64.  
  65.  
  66.         GL11.glTranslated(x, y - 0.2, z);
  67.         GL11.glRotated(-mc.getRenderManager().playerViewY, 0.0, 1.0, 0.0);
  68.         GlStateManager.disableDepth();
  69.         GL11.glScalef(0.03f, 0.03f, 0.03f);
  70.         // HEALTH BAR
  71.         RenderUtil.drawRoundedRect(21.0, -1.0, 5.0, 75.0, 3.0, Color.black); // background
  72.         RenderUtil.drawRoundedRect(22.0, 0, 3.0, 73.0, 3.0, Color.darkGray); // health bg
  73.         RenderUtil.drawRoundedRect(22.0, 0.0, 3.0, b, 3.0, new Color(c)); // health
  74.         // HEALTH BAR
  75.  
  76.  
  77.         // ESP BOX
  78.         RenderUtil.drawRoundedRectOutline(
  79.             -15.0f,
  80.             -0.2f,
  81.             30.0f,
  82.             74.0f,
  83.             2,
  84.             Color.black,
  85.             (int) (20.0f / ((mc.thePlayer.getDistanceToEntity(e) < 2) ? 2.0f : mc.thePlayer.getDistanceToEntity(e)))
  86.         );
  87.         // ESP BOX
  88.  
  89.  
  90.         GlStateManager.enableDepth();
  91.         GlStateManager.popMatrix();
  92.  
  93.         GL11.glPushMatrix();
  94.         GL11.glTranslated(x, y + 2.5D, z);
  95.         GL11.glScalef(-0.03f, -0.03f, -0.03f);
  96.  
  97.         GL11.glRotated(-this.mc.getRenderManager().playerViewY, 0.0d, 1.0d, 0.0d);
  98.         GL11.glRotated(this.mc.getRenderManager().playerViewX, 1.0d, 0.0d, 0.0d);
  99.         GlStateManager.disableDepth();
  100.         float width = (float) FontUtil.two.getStringWidth(e.getName());
  101.  
  102.         Gui.drawRect(-width / 2 - 5, 5, width / 2 + 5, FontUtil.two.getHeight() + 7, new Color(0, 0, 0, 80).getRGB());
  103.         FontUtil.two.drawCenteredString(e.getName(), 0, 7, 0xFFFFFFFF);
  104.         GL11.glTranslated(-x, -(y + 2.5D), -z);
  105.         GL11.glScalef(1.0f,1.0f,1.0f);
  106.         GlStateManager.enableDepth();
  107.         GL11.glPopMatrix();
  108.  
  109.  
  110.     }
  111.  
  112. }
  113.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement