Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Визуальная часть CoordsRender 3.1

Такое вроде еще не сливали тогда я солью

Код:
Expand Collapse Copy
package im.expensive.ui.display.impl;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
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 lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;

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

    @Subscribe
    public void update(EventUpdate e) {}

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        float fontSize = 7.0f;
        float padding = 5f;
        float elementHeight = 16f;
        float spacing = 3f;

        // Очко
        String coordsText = (int) mc.player.getPosX() + ", " + (int) mc.player.getPosY() + ", " + (int) mc.player.getPosZ();
        String bpsText = String.format("%.2f", Math.hypot(mc.player.getPosX() - mc.player.prevPosX, mc.player.getPosZ() - mc.player.prevPosZ) * 20);

        String fullText = "XYZ: " + coordsText + " | BPS: " + bpsText;

        float textWidth = Fonts.sfbold.getWidth(fullText, fontSize);
        float width = textWidth + padding * 2;
        float radius = 3f;

        // Расположение эаэаэа этой фигн
        float posX = 5f;
        float posY = window.getScaledHeight() - elementHeight - 5f;

        // Шрифты
        drawFullRect(posX, posY, width, elementHeight, radius);
       
        float textPosX = posX + padding;
        float textPosY = posY + (elementHeight - fontSize) / 2f + 1f;

        Fonts.sfbold.drawTextWithOutline(ms, "XYZ: ", textPosX, textPosY, style.getSecondColor().getRGB(), fontSize, 0.05f);
        textPosX += Fonts.sfbold.getWidth("XYZ: ", fontSize);

        Fonts.sfbold.drawTextWithOutline(ms, coordsText, textPosX, textPosY, ColorUtils.rgb(158, 255, 185), fontSize, 0.05f);
        textPosX += Fonts.sfbold.getWidth(coordsText, fontSize) + Fonts.sfbold.getWidth(" | ", fontSize);

        Fonts.sfbold.drawTextWithOutline(ms, "BPS: ", textPosX, textPosY, style.getSecondColor().getRGB(), fontSize, 0.05f);
        textPosX += Fonts.sfbold.getWidth("BPS: ", fontSize);

        Fonts.sfbold.drawTextWithOutline(ms, bpsText, textPosX, textPosY, ColorUtils.rgb(158, 255, 185), fontSize, 0.05f);
    }

    private void drawFullRect(float x, float y, float width, float height, float radius) {
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgb(10, 15, 13));
        DisplayUtils.drawShadow(x + 3, y + 3, width, height, 4, ColorUtils.rgba(0, 0, 0, 90));
    }
}

SSПосмотреть вложение 321905
Хватит прошу
 
Такое вроде еще не сливали тогда я солью

Код:
Expand Collapse Copy
package im.expensive.ui.display.impl;

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
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 lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;

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

    @Subscribe
    public void update(EventUpdate e) {}

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        float fontSize = 7.0f;
        float padding = 5f;
        float elementHeight = 16f;
        float spacing = 3f;

        // Очко
        String coordsText = (int) mc.player.getPosX() + ", " + (int) mc.player.getPosY() + ", " + (int) mc.player.getPosZ();
        String bpsText = String.format("%.2f", Math.hypot(mc.player.getPosX() - mc.player.prevPosX, mc.player.getPosZ() - mc.player.prevPosZ) * 20);

        String fullText = "XYZ: " + coordsText + " | BPS: " + bpsText;

        float textWidth = Fonts.sfbold.getWidth(fullText, fontSize);
        float width = textWidth + padding * 2;
        float radius = 3f;

        // Расположение эаэаэа этой фигн
        float posX = 5f;
        float posY = window.getScaledHeight() - elementHeight - 5f;

        // Шрифты
        drawFullRect(posX, posY, width, elementHeight, radius);
       
        float textPosX = posX + padding;
        float textPosY = posY + (elementHeight - fontSize) / 2f + 1f;

        Fonts.sfbold.drawTextWithOutline(ms, "XYZ: ", textPosX, textPosY, style.getSecondColor().getRGB(), fontSize, 0.05f);
        textPosX += Fonts.sfbold.getWidth("XYZ: ", fontSize);

        Fonts.sfbold.drawTextWithOutline(ms, coordsText, textPosX, textPosY, ColorUtils.rgb(158, 255, 185), fontSize, 0.05f);
        textPosX += Fonts.sfbold.getWidth(coordsText, fontSize) + Fonts.sfbold.getWidth(" | ", fontSize);

        Fonts.sfbold.drawTextWithOutline(ms, "BPS: ", textPosX, textPosY, style.getSecondColor().getRGB(), fontSize, 0.05f);
        textPosX += Fonts.sfbold.getWidth("BPS: ", fontSize);

        Fonts.sfbold.drawTextWithOutline(ms, bpsText, textPosX, textPosY, ColorUtils.rgb(158, 255, 185), fontSize, 0.05f);
    }

    private void drawFullRect(float x, float y, float width, float height, float radius) {
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgb(10, 15, 13));
        DisplayUtils.drawShadow(x + 3, y + 3, width, height, 4, ColorUtils.rgba(0, 0, 0, 90));
    }
}

SSПосмотреть вложение 321905
а что тут поменялось? /del
 
Назад
Сверху Снизу