Исходник Skid celestial premium watermark | expensive 3.1

1
Пользователь
Статус
Онлайн
Регистрация
22 Авг 2021
Сообщения
472
Реакции[?]
44
Поинты[?]
6K
Начинающий
Статус
Оффлайн
Регистрация
18 Июн 2024
Сообщения
11
Реакции[?]
0
Поинты[?]
0
Я надеюсь глаза в очередной раз вам возвращать не надо будет, мой первый скид, постарался сделать максимально похожим.
Вроде не прям и хуйня, выглядит достойно.
watermark:
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.client.PingUtil;
import im.expensive.utils.math.Vector4i;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;

import static imgui.ImColor.rgba;


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

    private float posX;
    private float posY;

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();

        //x,y
        float positionX = 5;
        float positionY = 3;
        // pingutil move
        int ping = PingUtil.calculatePing();

        //sizes
        float width = 240;
        float height = 15;

        float font_size = 8.5F;

        float width_icon = 16;
        float height_icon = 16;
        //style move
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();
        //background
        DisplayUtils.drawRoundedRect(positionX, positionY, width, height, 1, rgba(21, 21, 21, 160));
        //line
        DisplayUtils.drawRoundedRect(posX + 6.0F, posY + height / 5.0F + height / 5.0F - 4.0F, (width - 1.0F), 3.0F, new net.minecraft.util.math.vector.Vector4f(6.0F, 6.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));
        //shdow line
        DisplayUtils.drawRoundedRect(posX + 6.0F, posY + height / 5.0F + height / 5.0F - 4.0F, (width - 1.0F), 3.0F, new net.minecraft.util.math.vector.Vector4f(6.0F, 6.0F, 2.0F, 2.0F), new Vector4i(style.getFirstColor().getRGB(), style.getFirstColor().getRGB(), style.getSecondColor().getRGB(), style.getSecondColor().getRGB()));

        //name
        String name = "Celestial ";

        Fonts.montserrat.drawCenteredText(ms, name, positionX + 26, positionY + 3, rgba(255, 255, 255, 255), font_size);

        //build

        String build = "| build 8.2.1 ";


        Fonts.montserrat.drawCenteredText(ms, build, positionX + 79, positionY + 3, rgba(255, 255, 255, 255), font_size);

        //UID

        String uid = "| UID - null ";

        Fonts.montserrat.drawCenteredText(ms, uid, positionX + 135, positionY + 3, rgba(255, 255, 255, 255), font_size);


        //fps
        String fps = "| FPS: " + mc.debugFPS;


        Fonts.montserrat.drawCenteredText(ms, fps, positionX + 183, positionY + 3, rgba(255, 255, 255, 255), font_size);

        //ping
        String ring = "| " + ping + "ms";


        Fonts.montserrat.drawCenteredText(ms, ring, positionX + 222, positionY + 3, rgba(255, 255, 255, 255), font_size);
        // gradient line

    }}
PingUtil:
package im.expensive.utils.client;

import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.item.ItemStack;
import org.lwjgl.opengl.GL11;
public class PingUtil implements IMinecraft {

    public static String calculateBPS() {
        return String.format("%.2f", Math.hypot(mc.player.getPosX() - mc.player.prevPosX, mc.player.getPosZ() - mc.player.prevPosZ) * (double) mc.timer.timerSpeed * 20.0D);
    }

    public static void drawItemStack(ItemStack stack, float x, float y, boolean withoutOverlay, boolean scale, float scaleValue) {
        RenderSystem.pushMatrix();
        RenderSystem.translatef(x, y, 0);
        if (scale) GL11.glScaled(scaleValue, scaleValue, scaleValue);
        mc.getItemRenderer().renderItemAndEffectIntoGUI(stack, 0, 0);
        if (withoutOverlay) mc.getItemRenderer().renderItemOverlays(mc.fontRenderer, stack, 0, 0);
        RenderSystem.popMatrix();
    }

    public static int calculatePing() {
        return mc.player.connection.getPlayerInfo(mc.player.getUniqueID()) != null ?
                mc.player.connection.getPlayerInfo(mc.player.getUniqueID()).getResponseTime() : 0;
    }

    public static String serverIP() {
        return mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP != null && !mc.isSingleplayer() ? mc.getCurrentServerData().serverIP : "";
    }

}
да как и просили ренеймеры cntrl c + cntrl v ready
Криво но нормально
 
Сверху Снизу