Начинающий
- Статус
- Оффлайн
- Регистрация
- 22 Сен 2024
- Сообщения
- 138
- Реакции
- 0
вот код комогите пожалуйста
Код:
package im.expensive.functions.impl.render;
import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.systems.RenderSystem;
import im.expensive.events.TickEvent;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
@FunctionRegister(name = "Tags", type = Category.Render)
public class Tags extends Function {
private static final Minecraft mc = Minecraft.getInstance();
private static boolean isEnabled = true;
@Subscribe
public static void onRenderTick(TickEvent event) {
if (mc.player != null && mc.world != null) {
for (PlayerEntity player : mc.world.getPlayers()) {
renderPlayerInfo(player);
}
}
}
private static void renderPlayerInfo(PlayerEntity player) {
double x = player.getPosX();
double y = player.getPosY() + player.getHeight() + 0.5;
double z = player.getPosZ();
String name = player.getName().getString();
String health = String.format("%.1f / %.1f", player.getHealth(), player.getMaxHealth());
renderBackground(x, y);
Fonts.sfMedium.drawString(name, (float) x, (float) y, 0xFFFFFF);
Fonts.sfMedium.drawString(health, (float) x, (float) y + 10, 0xFF0000);
}
private static void renderBackground(double x, double y) {
float width = 100; // ширина фона
float height = 30; // высота фона
RenderSystem.color4f(0f, 0f, 0f, 0.5f);
Tessellator tessellator = Tessellator.getInstance();
BufferBuilder buffer = tessellator.getBuffer();
buffer.begin(7, DefaultVertexFormats.POSITION);
buffer.pos(x - width / 2, y + height, 0).endVertex();
buffer.pos(x + width / 2, y + height, 0).endVertex();
buffer.pos(x + width / 2, y, 0).endVertex();
buffer.pos(x - width / 2, y, 0).endVertex();
}
}
