Я не могу понять как написать худ для отображения прочности брони, можете кинуть открытый код для изучения?

Версия Minecraft
1.16.5
API
Forge
5
0
Я хочу написать пвп клиент по типу batter pvp, но знаю только основу джавы
 
76
3
5
У меня есть рабочий, но хз правильно ли написанный health bar, но главное работает.
Немного отредача его, можно выводить прочность брони и т.д и т.п.
P.s. только не бейте меня.

GuiHealthBar:
public class GuiHealthBar extends AbstractGui {
    private final static ResourceLocation overlayBar = new ResourceLocation(StalinRpg.MOD_ID + ":textures/gui/overlay/health_bar_alpha.png");
    private final static int TEX_WIDTH = 101;
    private final static int TEX_HEIGHT = 16;
    private Minecraft mc;

    public GuiHealthBar(Minecraft mc) {
        super();
        this.mc = mc;
    }

    public GuiHealthBar() {
        super();
        mc = Minecraft.getInstance();
    }

    public void GuiHealthBarRender(MatrixStack matrixStack, int screenWidth, int screenHeight) {
        PlayerEntity player = mc.player;
        FontRenderer fr = mc.font;
        mc.getTextureManager().bind(overlayBar);
        float oneUnit = (float) TEX_WIDTH / player.getMaxHealth();
        int currentWidth = (int) (oneUnit * player.getHealth());
        blit(matrixStack, 30, 0, 0, 0, TEX_WIDTH, TEX_HEIGHT);
        blit(matrixStack, 31, 0, 1, TEX_HEIGHT, currentWidth, TEX_HEIGHT);
    }
}

Рендер
Java:
@Mod.EventBusSubscriber(modid = StalinRpg.MOD_ID, bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT)
public final class ClientForgeEventSubscriber {
    private static GuiHealthBar guiHealthBar = new GuiHealthBar();
    @OnlyIn(Dist.CLIENT)
    @SubscribeEvent(priority = EventPriority.NORMAL)
    public static void onEvent(RenderGameOverlayEvent.Pre event) {
        if (event.getType() == RenderGameOverlayEvent.ElementType.HEALTH) {
            guiHealthBar.GuiHealthBarRender(event.getMatrixStack(), event.getWindow().getGuiScaledWidth(),
                    event.getWindow().getGuiScaledHeight());
            event.setCanceled(true);
        }
    }
}
 
Сверху