Исходник CoordsRender | Expensive 3.1

Начинающий
Статус
Оффлайн
Регистрация
13 Апр 2024
Сообщения
15
Реакции[?]
0
Поинты[?]
0
Лично мне нравится надеюсь вам тоже понравится
Делал 3 минуты
Пожалуйста, авторизуйтесь для просмотра ссылки.


code:
package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.events.EventDisplay;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.client.Minecraft;
import net.minecraft.client.MainWindow;
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public class CoordsRenderer implements ElementRenderer {

    private final Minecraft mc = Minecraft.getInstance();

    @Override
    public void render(EventDisplay eventDisplay) {
        MainWindow window = mc.getMainWindow();
        if (window == null) {
            return;
        }

        MatrixStack ms = eventDisplay.getMatrixStack();
        float offset = 3;
        float fontSize = 7;
        float fontHeight = Fonts.sfui.getHeight(fontSize);

        float posX = offset;
        float posY = window.getScaledHeight() - offset - fontHeight - 24;

        String xyzText = "XYZ: " + (int) mc.player.getPosX() + ", " + (int) mc.player.getPosY() + ", " + (int) mc.player.getPosZ();
        float xyzWidth = Fonts.sfui.getWidth(xyzText, fontSize) + offset * 2;
        float boxHeight = fontHeight + offset * 2;
        drawStyledRectWithShadow(posX, posY, xyzWidth, boxHeight, 4);

        Fonts.sfui.drawTextWithOutline(ms, "XYZ: ", posX + offset, posY + offset, -1, fontSize, 0.05f);
        Fonts.sfui.drawTextWithOutline(ms, (int) mc.player.getPosX() + ", " + (int) mc.player.getPosY() + ", " + (int) mc.player.getPosZ(), posX + offset + Fonts.sfui.getWidth("XYZ: ", fontSize), posY + offset, ColorUtils.rgb(158, 255, 185), fontSize, 0.05f);

        posY += boxHeight + offset;
        String bpsText = "BPS: " + String.format("%.2f", Math.hypot(mc.player.prevPosX - mc.player.getPosX(), mc.player.prevPosZ - mc.player.getPosZ()) * 20);
        float bpsWidth = Fonts.sfui.getWidth(bpsText, fontSize) + offset * 2;
        drawStyledRectWithShadow(posX, posY, bpsWidth, boxHeight, 4);

        Fonts.sfui.drawTextWithOutline(ms, "BPS: ", posX + offset, posY + offset, -1, fontSize, 0.05f);
        Fonts.sfui.drawTextWithOutline(ms, String.format("%.2f", Math.hypot(mc.player.prevPosX - mc.player.getPosX(), mc.player.prevPosZ - mc.player.getPosZ()) * 20), posX + offset + Fonts.sfui.getWidth("BPS: ", fontSize), posY + offset, ColorUtils.rgb(158, 255, 185), fontSize, 0.05f);
    }

    private void drawStyledRectWithShadow(float x, float y, float width, float height, float radius) {
        DisplayUtils.drawShadow(x, y, width, height, 10, ColorUtils.rgba(0, 0, 0, 100), ColorUtils.rgba(0, 0, 0, 0));
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
26 Фев 2024
Сообщения
353
Реакции[?]
0
Поинты[?]
0
Лично мне нравится надеюсь вам тоже понравится
Делал 3 минуты
Пожалуйста, авторизуйтесь для просмотра ссылки.


code:
package im.expensive.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.events.EventDisplay;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.client.Minecraft;
import net.minecraft.client.MainWindow;
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public class CoordsRenderer implements ElementRenderer {

    private final Minecraft mc = Minecraft.getInstance();

    @Override
    public void render(EventDisplay eventDisplay) {
        MainWindow window = mc.getMainWindow();
        if (window == null) {
            return;
        }

        MatrixStack ms = eventDisplay.getMatrixStack();
        float offset = 3;
        float fontSize = 7;
        float fontHeight = Fonts.sfui.getHeight(fontSize);

        float posX = offset;
        float posY = window.getScaledHeight() - offset - fontHeight - 24;

        String xyzText = "XYZ: " + (int) mc.player.getPosX() + ", " + (int) mc.player.getPosY() + ", " + (int) mc.player.getPosZ();
        float xyzWidth = Fonts.sfui.getWidth(xyzText, fontSize) + offset * 2;
        float boxHeight = fontHeight + offset * 2;
        drawStyledRectWithShadow(posX, posY, xyzWidth, boxHeight, 4);

        Fonts.sfui.drawTextWithOutline(ms, "XYZ: ", posX + offset, posY + offset, -1, fontSize, 0.05f);
        Fonts.sfui.drawTextWithOutline(ms, (int) mc.player.getPosX() + ", " + (int) mc.player.getPosY() + ", " + (int) mc.player.getPosZ(), posX + offset + Fonts.sfui.getWidth("XYZ: ", fontSize), posY + offset, ColorUtils.rgb(158, 255, 185), fontSize, 0.05f);

        posY += boxHeight + offset;
        String bpsText = "BPS: " + String.format("%.2f", Math.hypot(mc.player.prevPosX - mc.player.getPosX(), mc.player.prevPosZ - mc.player.getPosZ()) * 20);
        float bpsWidth = Fonts.sfui.getWidth(bpsText, fontSize) + offset * 2;
        drawStyledRectWithShadow(posX, posY, bpsWidth, boxHeight, 4);

        Fonts.sfui.drawTextWithOutline(ms, "BPS: ", posX + offset, posY + offset, -1, fontSize, 0.05f);
        Fonts.sfui.drawTextWithOutline(ms, String.format("%.2f", Math.hypot(mc.player.prevPosX - mc.player.getPosX(), mc.player.prevPosZ - mc.player.getPosZ()) * 20), posX + offset + Fonts.sfui.getWidth("BPS: ", fontSize), posY + offset, ColorUtils.rgb(158, 255, 185), fontSize, 0.05f);
    }

    private void drawStyledRectWithShadow(float x, float y, float width, float height, float radius) {
        DisplayUtils.drawShadow(x, y, width, height, 10, ColorUtils.rgba(0, 0, 0, 100), ColorUtils.rgba(0, 0, 0, 0));
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
    }
}
норм.
 
Сверху Снизу