Вопрос Как добавить в ватермарк фпс экспа 3 1

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
5 Янв 2025
Сообщения
36
Реакции
0
вот код (и если можно как добавить время туда или ник игрока)
разверни:
Expand Collapse Copy
package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.ui.styles.Style;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import im.expensive.utils.text.GradientUtil;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {

    final ResourceLocation logo = new ResourceLocation("expensive/images/hud/logo.png");
    private final ResourceLocation user = new ResourceLocation("expensive/images/hud/user.png");

    [USER=1367676]@override[/USER]
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = 4;
        float posY = 4;
        float padding = 5;
        float fontSize = 8f; // Увеличение размера шрифта
        float iconSize = 12f; // Увеличение размера иконок
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();
        int backgroundColor = ColorUtils.rgba(21, 21, 21, 200);

        DisplayUtils.drawShadow(posX, posY, iconSize + padding * 2, iconSize + padding * 2, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
        drawStyledRect(posX, posY, iconSize + padding * 2, iconSize + padding * 2, 4, backgroundColor);
        DisplayUtils.drawImage(logo, posX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));

        ITextComponent text = GradientUtil.gradient("mountains beta // uid : 228 ");

        float textWidth = Fonts.sfui.getWidth(text, fontSize);

        float localPosX = posX + iconSize + padding * 3;

        // Увеличиваем отступ для текста
        float textXOffset = iconSize + padding * 1.5f - 1;

        DisplayUtils.drawShadow(localPosX, posY, iconSize + padding * 2.5f + textWidth, iconSize + padding * 2, 10, style.getFirstColor().getRGB(), style.getSecondColor().getRGB());
        drawStyledRect(localPosX, posY, iconSize + padding * 2.5f + textWidth, iconSize + padding * 2, 4, backgroundColor);
        DisplayUtils.drawImage(user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));

        Fonts.sfui.drawText(ms, text, localPosX + textXOffset, posY + iconSize / 2 + 1.5f, fontSize, ColorUtils.rgb(255, 255, 255));
    }


    private void drawStyledRect(float x,
                                float y,
                                float width,
                                float height,
                                float radius,
                                int color) {
        DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.getColor(0));
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, color);
    }
}
 
mc.getDebugFPS()
 
String fpsText = mc.getDebugFPS() + " fps";

Fonts.sfMedium.drawText(ms, fpsText, fpsX + padding * 2, lowerPosY + (rectHeight - fontSize) / 2, ColorUtils.rgb(255, 255, 255), fontSize);
просто пример использования
 
String fps = mc.debugFPS + " FPS";

Fonts.sfsemi.drawText(ms, fps, корды по оси X, корды по оси Y, ColorUtils.rgb(255, 255, 255), 7, 0.05f);
 
Назад
Сверху Снизу