Исходник Watermark expensive 3.1 ping + fps

Начинающий
Статус
Оффлайн
Регистрация
25 Янв 2024
Сообщения
338
Реакции[?]
0
Поинты[?]
1K
впрочем тут даже нечего сказать, сс
Посмотреть вложение 274716
WatermarkRenderer:
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.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.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

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

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

    @Override
    public void render(EventDisplay eventDisplay) {
        MatrixStack ms = eventDisplay.getMatrixStack();
        float posX = 4;
        float posY = 4;
        float padding = 5;
        float fontSize = 6.5f;
        float iconSize = 10;
        Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();

        drawStyledRect(posX, posY, iconSize + padding * 2, iconSize + padding * 2, 4);
        DisplayUtils.drawImage(logo, posX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));

        int fps = mc.getDebugFPS();
        int ping = PingUtil.calculatePing();

        ITextComponent text = GradientUtil.gradient("паста | Фпс " + fps + " | Пинг " + ping + "мс");

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

        float localPosX = posX + iconSize + padding * 3;

        drawStyledRect(localPosX, posY, iconSize + padding * 2.5f + textWidth, iconSize + padding * 2, 4);
        DisplayUtils.drawImage(user, localPosX + padding, posY + padding, iconSize, iconSize, ColorUtils.rgb(255, 255, 255));

        Fonts.sfui.drawText(ms, text, localPosX + iconSize + padding * 1.5f - 1, posY + iconSize / 2 + 1.5f, fontSize, 255);
    }

    private void drawStyledRect(float x,
                                float y,
                                float width,
                                float height,
                                float radius) {

        DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 0.5f, ColorUtils.getColor(0)); // outline
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(21, 21, 21, 255));
    }
}
и вот вам пинг утилка

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 : "";
    }

}
тока ненадо меня убивать пжжпжжпжпж
думаю тута всё понятно вам так что дерзайте, и не надо говном обмазываться
1. Под пивас пойдет, запасщю в свою пасту
2. Немного изменить и будет👍
 
Начинающий
Статус
Оффлайн
Регистрация
14 Окт 2022
Сообщения
38
Реакции[?]
0
Поинты[?]
0
я скоро залью новее версию с иконками, ато чё то эту обосрали за утилку пинга
Молодец, ну ващё на тех кто как то обсирает и примитивно критику обьяснить не могут надо класть большой... большое внимание они же такие крутые! имеют свое мнение
 
Начинающий
Статус
Оффлайн
Регистрация
25 Янв 2024
Сообщения
338
Реакции[?]
0
Поинты[?]
1K
Молодец, ну ващё на тех кто как то обсирает и примитивно критику обьяснить не могут надо класть большой... большое внимание они же такие крутые! имеют свое мнение
+
 
Сверху Снизу