Initial commit
This commit is contained in:
72
src/main/java/ru/nevetime/cheat/module/render/TargetHUD.java
Normal file
72
src/main/java/ru/nevetime/cheat/module/render/TargetHUD.java
Normal file
@@ -0,0 +1,72 @@
|
||||
package ru.nevetime.cheat.module.render;
|
||||
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import ru.nevetime.cheat.module.Module;
|
||||
|
||||
public class TargetHUD extends Module {
|
||||
private Entity currentTarget;
|
||||
|
||||
public TargetHUD() {
|
||||
super("TargetHUD", Category.RENDER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTick() {
|
||||
if (mc.player == null || mc.world == null) {
|
||||
currentTarget = null;
|
||||
return;
|
||||
}
|
||||
|
||||
currentTarget = findTarget();
|
||||
}
|
||||
|
||||
private Entity findTarget() {
|
||||
Entity closest = null;
|
||||
double closestDistance = 20.0;
|
||||
|
||||
for (Entity entity : mc.world.getEntities()) {
|
||||
if (entity == mc.player) continue;
|
||||
if (!(entity instanceof LivingEntity)) continue;
|
||||
if (!entity.isAlive()) continue;
|
||||
|
||||
double distance = mc.player.distanceTo(entity);
|
||||
if (distance < closestDistance) {
|
||||
closest = entity;
|
||||
closestDistance = distance;
|
||||
}
|
||||
}
|
||||
|
||||
return closest;
|
||||
}
|
||||
|
||||
public void render(DrawContext context, int screenWidth, int screenHeight) {
|
||||
if (!isEnabled() || currentTarget == null) return;
|
||||
if (!(currentTarget instanceof LivingEntity living)) return;
|
||||
|
||||
int x = 10;
|
||||
int y = 10;
|
||||
|
||||
String name = currentTarget.getName().getString();
|
||||
float health = living.getHealth();
|
||||
float maxHealth = living.getMaxHealth();
|
||||
float distance = mc.player.distanceTo(currentTarget);
|
||||
|
||||
context.fill(x, y, x + 150, y + 50, 0x80000000);
|
||||
|
||||
context.drawText(mc.textRenderer, name, x + 5, y + 5, 0xFFFFFF, true);
|
||||
context.drawText(mc.textRenderer, String.format("HP: %.1f/%.1f", health, maxHealth), x + 5, y + 20, 0xFF0000, true);
|
||||
context.drawText(mc.textRenderer, String.format("Distance: %.1f", distance), x + 5, y + 35, 0xFFFFFF, true);
|
||||
|
||||
int barWidth = 140;
|
||||
int healthBarWidth = (int) ((health / maxHealth) * barWidth);
|
||||
context.fill(x + 5, y + 48, x + 5 + barWidth, y + 52, 0xFF333333);
|
||||
context.fill(x + 5, y + 48, x + 5 + healthBarWidth, y + 52, 0xFF00FF00);
|
||||
}
|
||||
|
||||
public Entity getCurrentTarget() {
|
||||
return currentTarget;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user