Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.arsenicclient.module.impl.render;
- import com.arsenicclient.event.impl.render.EventRender3D;
- import com.arsenicclient.font.impl.FontUtil;
- import com.arsenicclient.module.Category;
- import com.arsenicclient.module.Module;
- import com.arsenicclient.utils.render.RenderUtil;
- import com.google.common.eventbus.Subscribe;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.entity.AbstractClientPlayer;
- import net.minecraft.client.gui.Gui;
- import net.minecraft.client.renderer.GlStateManager;
- import net.minecraft.entity.Entity;
- import net.minecraft.entity.EntityLivingBase;
- import org.lwjgl.opengl.GL11;
- import java.awt.*;
- public class ESP2D extends Module {
- public ESP2D() {
- super("2D ESP", "A WIP 2D ESP", Category.RENDER);
- }
- @Subscribe
- public void onRender3D(EventRender3D event) {
- Minecraft mc = Minecraft.getMinecraft();
- if (!isEnabled() || mc.thePlayer == null || mc.theWorld == null) return;
- for (Entity entity : mc.theWorld.loadedEntityList) {
- if (entity instanceof AbstractClientPlayer && entity != mc.thePlayer) {
- esp((EntityLivingBase) entity);
- }
- }
- }
- private void esp(EntityLivingBase e) {
- if (mc.thePlayer.getDistanceToEntity(e) < 0.75)
- return;
- double x = e.lastTickPosX + (e.posX - e.lastTickPosX) * mc.timer.renderPartialTicks - mc.getRenderManager().viewerPosX;
- double y = e.lastTickPosY + (e.posY - e.lastTickPosY) * mc.timer.renderPartialTicks - mc.getRenderManager().viewerPosY;
- double z = e.lastTickPosZ + (e.posZ - e.lastTickPosZ) * mc.timer.renderPartialTicks - mc.getRenderManager().viewerPosZ;
- GlStateManager.pushMatrix();
- // health ratio
- double r = (e.getHealth() / e.getMaxHealth());
- double b = (73 * r);
- // health color
- int c =
- (r < 0.3)
- ? Color.red.getRGB()
- : (r < 0.5)
- ? Color.orange.getRGB()
- : (r < 0.7)
- ? Color.yellow.getRGB()
- : Color.green.getRGB(); // rgb for health
- GL11.glTranslated(x, y - 0.2, z);
- GL11.glRotated(-mc.getRenderManager().playerViewY, 0.0, 1.0, 0.0);
- GlStateManager.disableDepth();
- GL11.glScalef(0.03f, 0.03f, 0.03f);
- // HEALTH BAR
- RenderUtil.drawRoundedRect(21.0, -1.0, 5.0, 75.0, 3.0, Color.black); // background
- RenderUtil.drawRoundedRect(22.0, 0, 3.0, 73.0, 3.0, Color.darkGray); // health bg
- RenderUtil.drawRoundedRect(22.0, 0.0, 3.0, b, 3.0, new Color(c)); // health
- // HEALTH BAR
- // ESP BOX
- RenderUtil.drawRoundedRectOutline(
- -15.0f,
- -0.2f,
- 30.0f,
- 74.0f,
- 2,
- Color.black,
- (int) (20.0f / ((mc.thePlayer.getDistanceToEntity(e) < 2) ? 2.0f : mc.thePlayer.getDistanceToEntity(e)))
- );
- // ESP BOX
- GlStateManager.enableDepth();
- GlStateManager.popMatrix();
- GL11.glPushMatrix();
- GL11.glTranslated(x, y + 2.5D, z);
- GL11.glScalef(-0.03f, -0.03f, -0.03f);
- GL11.glRotated(-this.mc.getRenderManager().playerViewY, 0.0d, 1.0d, 0.0d);
- GL11.glRotated(this.mc.getRenderManager().playerViewX, 1.0d, 0.0d, 0.0d);
- GlStateManager.disableDepth();
- float width = (float) FontUtil.two.getStringWidth(e.getName());
- Gui.drawRect(-width / 2 - 5, 5, width / 2 + 5, FontUtil.two.getHeight() + 7, new Color(0, 0, 0, 80).getRGB());
- FontUtil.two.drawCenteredString(e.getName(), 0, 7, 0xFFFFFFFF);
- GL11.glTranslated(-x, -(y + 2.5D), -z);
- GL11.glScalef(1.0f,1.0f,1.0f);
- GlStateManager.enableDepth();
- GL11.glPopMatrix();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement