HotKeys | manloxx client

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Июл 2024
Сообщения
80
Реакции
0
Всем привет! это моя первая работа которую я выкладываю на форум
Вот код биндов
и png
gradline.png

JavaScript:
Expand Collapse Copy
package mq.bluekodi.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import mq.bluekodi.Bluekodi;
import mq.bluekodi.events.EventDisplay;
import mq.bluekodi.functions.api.Function;
import mq.bluekodi.functions.impl.render.HUD;
import mq.bluekodi.ui.display.ElementRenderer;
import mq.bluekodi.ui.styles.Style;
import mq.bluekodi.utils.client.KeyStorage;
import mq.bluekodi.utils.drag.Dragging;
import mq.bluekodi.utils.math.MathUtil;
import mq.bluekodi.utils.math.Vector4i;
import mq.bluekodi.utils.render.ColorUtils;
import mq.bluekodi.utils.render.DisplayUtils;
import mq.bluekodi.utils.render.Scissor;
import mq.bluekodi.utils.render.font.Fonts;
import mq.bluekodi.utils.text.GradientUtil;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

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

    final Dragging dragging;
    float iconSizeX = 10;
    float iconSizeY = 10;


    float width;
    float height;

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

        float posX = dragging.getX();
        float posY = dragging.getY();
        float fontSize = 7.5f;
        float padding = 4.3f;
        float textWidth = 75;

        ITextComponent name = GradientUtil.gradient("Hotkeys");
        String namemod = "              Hotkeys";
        final ResourceLocation logo = new ResourceLocation("bluekodi/images/hud/gradline.png");

        float finalPosY = posY;
        drawStyledRect(posX, finalPosY, width, height, 5);

        DisplayUtils.drawShadow(posX, posY, width, height, 15, ColorUtils.rgba(255,255,255,165));
        DisplayUtils.drawImage(logo, posX, posY + 14, textWidth+padding, 1, HUD.getColor(0));

        Scissor.push();
        Scissor.setFromComponentCoordinates(posX, posY, width, height);
        Fonts.expensive4.drawText(ms, namemod, posX + padding, posY + padding + 1, ColorUtils.rgb(0, 0, 0),fontSize);

        posY += fontSize + padding * 2;

        float maxWidth = Fonts.expensive4.getWidth(name, fontSize) + padding * 2;
        float localHeight = fontSize + padding * 2;

        for (Function f : Bluekodi.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (!(f.getAnimation().getValue() > 0) || f.getBind() == 0) continue;
            String nameText = f.getName();
            float nameWidth = Fonts.expensive4.getWidth(nameText, fontSize);

            String bindText = KeyStorage.getKey(f.getBind());
            float bindWidth = Fonts.expensive4.getWidth(bindText, fontSize);


            float localWidth = nameWidth + bindWidth + padding * 3;

            Fonts.expensive4.drawText(ms, nameText, posX + padding, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize);
            Fonts.expensive4.drawText(ms, bindText, posX + width - padding - bindWidth, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize);

            if (localWidth > maxWidth) {
                maxWidth = localWidth;
            }

            posY += (float) ((fontSize + padding) * f.getAnimation().getValue());
            localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
        }
        Scissor.unset();
        Scissor.pop();
        width = Math.max(maxWidth, 80);
        height = localHeight + 2.5f;
        dragging.setWidth(width);
        dragging.setHeight(height);
    }

    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.setAlpha(ColorUtils.rgb(18,16,16), 90));
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(255, 255, 255, 190));
    }
}
 
Всем привет! это моя первая работа которую я выкладываю на форум
Вот код биндов
и pngПосмотреть вложение 284746
JavaScript:
Expand Collapse Copy
package mq.bluekodi.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import mq.bluekodi.Bluekodi;
import mq.bluekodi.events.EventDisplay;
import mq.bluekodi.functions.api.Function;
import mq.bluekodi.functions.impl.render.HUD;
import mq.bluekodi.ui.display.ElementRenderer;
import mq.bluekodi.ui.styles.Style;
import mq.bluekodi.utils.client.KeyStorage;
import mq.bluekodi.utils.drag.Dragging;
import mq.bluekodi.utils.math.MathUtil;
import mq.bluekodi.utils.math.Vector4i;
import mq.bluekodi.utils.render.ColorUtils;
import mq.bluekodi.utils.render.DisplayUtils;
import mq.bluekodi.utils.render.Scissor;
import mq.bluekodi.utils.render.font.Fonts;
import mq.bluekodi.utils.text.GradientUtil;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

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

    final Dragging dragging;
    float iconSizeX = 10;
    float iconSizeY = 10;


    float width;
    float height;

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

        float posX = dragging.getX();
        float posY = dragging.getY();
        float fontSize = 7.5f;
        float padding = 4.3f;
        float textWidth = 75;

        ITextComponent name = GradientUtil.gradient("Hotkeys");
        String namemod = "              Hotkeys";
        final ResourceLocation logo = new ResourceLocation("bluekodi/images/hud/gradline.png");

        float finalPosY = posY;
        drawStyledRect(posX, finalPosY, width, height, 5);

        DisplayUtils.drawShadow(posX, posY, width, height, 15, ColorUtils.rgba(255,255,255,165));
        DisplayUtils.drawImage(logo, posX, posY + 14, textWidth+padding, 1, HUD.getColor(0));

        Scissor.push();
        Scissor.setFromComponentCoordinates(posX, posY, width, height);
        Fonts.expensive4.drawText(ms, namemod, posX + padding, posY + padding + 1, ColorUtils.rgb(0, 0, 0),fontSize);

        posY += fontSize + padding * 2;

        float maxWidth = Fonts.expensive4.getWidth(name, fontSize) + padding * 2;
        float localHeight = fontSize + padding * 2;

        for (Function f : Bluekodi.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (!(f.getAnimation().getValue() > 0) || f.getBind() == 0) continue;
            String nameText = f.getName();
            float nameWidth = Fonts.expensive4.getWidth(nameText, fontSize);

            String bindText = KeyStorage.getKey(f.getBind());
            float bindWidth = Fonts.expensive4.getWidth(bindText, fontSize);


            float localWidth = nameWidth + bindWidth + padding * 3;

            Fonts.expensive4.drawText(ms, nameText, posX + padding, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize);
            Fonts.expensive4.drawText(ms, bindText, posX + width - padding - bindWidth, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize);

            if (localWidth > maxWidth) {
                maxWidth = localWidth;
            }

            posY += (float) ((fontSize + padding) * f.getAnimation().getValue());
            localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
        }
        Scissor.unset();
        Scissor.pop();
        width = Math.max(maxWidth, 80);
        height = localHeight + 2.5f;
        dragging.setWidth(width);
        dragging.setHeight(height);
    }

    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.setAlpha(ColorUtils.rgb(18,16,16), 90));
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(255, 255, 255, 190));
    }
}
ss????


вот сс я решился это поставить
1725368499341.png
 
Последнее редактирование:
Всем привет! это моя первая работа которую я выкладываю на форум
Вот код биндов
и pngПосмотреть вложение 284746
JavaScript:
Expand Collapse Copy
package mq.bluekodi.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import mq.bluekodi.Bluekodi;
import mq.bluekodi.events.EventDisplay;
import mq.bluekodi.functions.api.Function;
import mq.bluekodi.functions.impl.render.HUD;
import mq.bluekodi.ui.display.ElementRenderer;
import mq.bluekodi.ui.styles.Style;
import mq.bluekodi.utils.client.KeyStorage;
import mq.bluekodi.utils.drag.Dragging;
import mq.bluekodi.utils.math.MathUtil;
import mq.bluekodi.utils.math.Vector4i;
import mq.bluekodi.utils.render.ColorUtils;
import mq.bluekodi.utils.render.DisplayUtils;
import mq.bluekodi.utils.render.Scissor;
import mq.bluekodi.utils.render.font.Fonts;
import mq.bluekodi.utils.text.GradientUtil;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

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

    final Dragging dragging;
    float iconSizeX = 10;
    float iconSizeY = 10;


    float width;
    float height;

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

        float posX = dragging.getX();
        float posY = dragging.getY();
        float fontSize = 7.5f;
        float padding = 4.3f;
        float textWidth = 75;

        ITextComponent name = GradientUtil.gradient("Hotkeys");
        String namemod = "              Hotkeys";
        final ResourceLocation logo = new ResourceLocation("bluekodi/images/hud/gradline.png");

        float finalPosY = posY;
        drawStyledRect(posX, finalPosY, width, height, 5);

        DisplayUtils.drawShadow(posX, posY, width, height, 15, ColorUtils.rgba(255,255,255,165));
        DisplayUtils.drawImage(logo, posX, posY + 14, textWidth+padding, 1, HUD.getColor(0));

        Scissor.push();
        Scissor.setFromComponentCoordinates(posX, posY, width, height);
        Fonts.expensive4.drawText(ms, namemod, posX + padding, posY + padding + 1, ColorUtils.rgb(0, 0, 0),fontSize);

        posY += fontSize + padding * 2;

        float maxWidth = Fonts.expensive4.getWidth(name, fontSize) + padding * 2;
        float localHeight = fontSize + padding * 2;

        for (Function f : Bluekodi.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (!(f.getAnimation().getValue() > 0) || f.getBind() == 0) continue;
            String nameText = f.getName();
            float nameWidth = Fonts.expensive4.getWidth(nameText, fontSize);

            String bindText = KeyStorage.getKey(f.getBind());
            float bindWidth = Fonts.expensive4.getWidth(bindText, fontSize);


            float localWidth = nameWidth + bindWidth + padding * 3;

            Fonts.expensive4.drawText(ms, nameText, posX + padding, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize);
            Fonts.expensive4.drawText(ms, bindText, posX + width - padding - bindWidth, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize);

            if (localWidth > maxWidth) {
                maxWidth = localWidth;
            }

            posY += (float) ((fontSize + padding) * f.getAnimation().getValue());
            localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
        }
        Scissor.unset();
        Scissor.pop();
        width = Math.max(maxWidth, 80);
        height = localHeight + 2.5f;
        dragging.setWidth(width);
        dragging.setHeight(height);
    }

    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.setAlpha(ColorUtils.rgb(18,16,16), 90));
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(255, 255, 255, 190));
    }
}
почему javascript?
 
Всем привет! это моя первая работа которую я выкладываю на форум
Вот код биндов
и pngПосмотреть вложение 284746
JavaScript:
Expand Collapse Copy
package mq.bluekodi.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import mq.bluekodi.Bluekodi;
import mq.bluekodi.events.EventDisplay;
import mq.bluekodi.functions.api.Function;
import mq.bluekodi.functions.impl.render.HUD;
import mq.bluekodi.ui.display.ElementRenderer;
import mq.bluekodi.ui.styles.Style;
import mq.bluekodi.utils.client.KeyStorage;
import mq.bluekodi.utils.drag.Dragging;
import mq.bluekodi.utils.math.MathUtil;
import mq.bluekodi.utils.math.Vector4i;
import mq.bluekodi.utils.render.ColorUtils;
import mq.bluekodi.utils.render.DisplayUtils;
import mq.bluekodi.utils.render.Scissor;
import mq.bluekodi.utils.render.font.Fonts;
import mq.bluekodi.utils.text.GradientUtil;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

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

    final Dragging dragging;
    float iconSizeX = 10;
    float iconSizeY = 10;


    float width;
    float height;

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

        float posX = dragging.getX();
        float posY = dragging.getY();
        float fontSize = 7.5f;
        float padding = 4.3f;
        float textWidth = 75;

        ITextComponent name = GradientUtil.gradient("Hotkeys");
        String namemod = "              Hotkeys";
        final ResourceLocation logo = new ResourceLocation("bluekodi/images/hud/gradline.png");

        float finalPosY = posY;
        drawStyledRect(posX, finalPosY, width, height, 5);

        DisplayUtils.drawShadow(posX, posY, width, height, 15, ColorUtils.rgba(255,255,255,165));
        DisplayUtils.drawImage(logo, posX, posY + 14, textWidth+padding, 1, HUD.getColor(0));

        Scissor.push();
        Scissor.setFromComponentCoordinates(posX, posY, width, height);
        Fonts.expensive4.drawText(ms, namemod, posX + padding, posY + padding + 1, ColorUtils.rgb(0, 0, 0),fontSize);

        posY += fontSize + padding * 2;

        float maxWidth = Fonts.expensive4.getWidth(name, fontSize) + padding * 2;
        float localHeight = fontSize + padding * 2;

        for (Function f : Bluekodi.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (!(f.getAnimation().getValue() > 0) || f.getBind() == 0) continue;
            String nameText = f.getName();
            float nameWidth = Fonts.expensive4.getWidth(nameText, fontSize);

            String bindText = KeyStorage.getKey(f.getBind());
            float bindWidth = Fonts.expensive4.getWidth(bindText, fontSize);


            float localWidth = nameWidth + bindWidth + padding * 3;

            Fonts.expensive4.drawText(ms, nameText, posX + padding, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize);
            Fonts.expensive4.drawText(ms, bindText, posX + width - padding - bindWidth, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize);

            if (localWidth > maxWidth) {
                maxWidth = localWidth;
            }

            posY += (float) ((fontSize + padding) * f.getAnimation().getValue());
            localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
        }
        Scissor.unset();
        Scissor.pop();
        width = Math.max(maxWidth, 80);
        height = localHeight + 2.5f;
        dragging.setWidth(width);
        dragging.setHeight(height);
    }

    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.setAlpha(ColorUtils.rgb(18,16,16), 90));
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(255, 255, 255, 190));
    }
}
SS??
 
Всем привет! это моя первая работа которую я выкладываю на форум
Вот код биндов
и pngПосмотреть вложение 284746
JavaScript:
Expand Collapse Copy
package mq.bluekodi.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import mq.bluekodi.Bluekodi;
import mq.bluekodi.events.EventDisplay;
import mq.bluekodi.functions.api.Function;
import mq.bluekodi.functions.impl.render.HUD;
import mq.bluekodi.ui.display.ElementRenderer;
import mq.bluekodi.ui.styles.Style;
import mq.bluekodi.utils.client.KeyStorage;
import mq.bluekodi.utils.drag.Dragging;
import mq.bluekodi.utils.math.MathUtil;
import mq.bluekodi.utils.math.Vector4i;
import mq.bluekodi.utils.render.ColorUtils;
import mq.bluekodi.utils.render.DisplayUtils;
import mq.bluekodi.utils.render.Scissor;
import mq.bluekodi.utils.render.font.Fonts;
import mq.bluekodi.utils.text.GradientUtil;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

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

    final Dragging dragging;
    float iconSizeX = 10;
    float iconSizeY = 10;


    float width;
    float height;

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

        float posX = dragging.getX();
        float posY = dragging.getY();
        float fontSize = 7.5f;
        float padding = 4.3f;
        float textWidth = 75;

        ITextComponent name = GradientUtil.gradient("Hotkeys");
        String namemod = "              Hotkeys";
        final ResourceLocation logo = new ResourceLocation("bluekodi/images/hud/gradline.png");

        float finalPosY = posY;
        drawStyledRect(posX, finalPosY, width, height, 5);

        DisplayUtils.drawShadow(posX, posY, width, height, 15, ColorUtils.rgba(255,255,255,165));
        DisplayUtils.drawImage(logo, posX, posY + 14, textWidth+padding, 1, HUD.getColor(0));

        Scissor.push();
        Scissor.setFromComponentCoordinates(posX, posY, width, height);
        Fonts.expensive4.drawText(ms, namemod, posX + padding, posY + padding + 1, ColorUtils.rgb(0, 0, 0),fontSize);

        posY += fontSize + padding * 2;

        float maxWidth = Fonts.expensive4.getWidth(name, fontSize) + padding * 2;
        float localHeight = fontSize + padding * 2;

        for (Function f : Bluekodi.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (!(f.getAnimation().getValue() > 0) || f.getBind() == 0) continue;
            String nameText = f.getName();
            float nameWidth = Fonts.expensive4.getWidth(nameText, fontSize);

            String bindText = KeyStorage.getKey(f.getBind());
            float bindWidth = Fonts.expensive4.getWidth(bindText, fontSize);


            float localWidth = nameWidth + bindWidth + padding * 3;

            Fonts.expensive4.drawText(ms, nameText, posX + padding, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize);
            Fonts.expensive4.drawText(ms, bindText, posX + width - padding - bindWidth, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize);

            if (localWidth > maxWidth) {
                maxWidth = localWidth;
            }

            posY += (float) ((fontSize + padding) * f.getAnimation().getValue());
            localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
        }
        Scissor.unset();
        Scissor.pop();
        width = Math.max(maxWidth, 80);
        height = localHeight + 2.5f;
        dragging.setWidth(width);
        dragging.setHeight(height);
    }

    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.setAlpha(ColorUtils.rgb(18,16,16), 90));
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(255, 255, 255, 190));
    }
}
ss?
 
Всем привет! это моя первая работа которую я выкладываю на форум
Вот код биндов
и pngПосмотреть вложение 284746
JavaScript:
Expand Collapse Copy
package mq.bluekodi.ui.display.impl;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import mq.bluekodi.Bluekodi;
import mq.bluekodi.events.EventDisplay;
import mq.bluekodi.functions.api.Function;
import mq.bluekodi.functions.impl.render.HUD;
import mq.bluekodi.ui.display.ElementRenderer;
import mq.bluekodi.ui.styles.Style;
import mq.bluekodi.utils.client.KeyStorage;
import mq.bluekodi.utils.drag.Dragging;
import mq.bluekodi.utils.math.MathUtil;
import mq.bluekodi.utils.math.Vector4i;
import mq.bluekodi.utils.render.ColorUtils;
import mq.bluekodi.utils.render.DisplayUtils;
import mq.bluekodi.utils.render.Scissor;
import mq.bluekodi.utils.render.font.Fonts;
import mq.bluekodi.utils.text.GradientUtil;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.ITextComponent;

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

    final Dragging dragging;
    float iconSizeX = 10;
    float iconSizeY = 10;


    float width;
    float height;

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

        float posX = dragging.getX();
        float posY = dragging.getY();
        float fontSize = 7.5f;
        float padding = 4.3f;
        float textWidth = 75;

        ITextComponent name = GradientUtil.gradient("Hotkeys");
        String namemod = "              Hotkeys";
        final ResourceLocation logo = new ResourceLocation("bluekodi/images/hud/gradline.png");

        float finalPosY = posY;
        drawStyledRect(posX, finalPosY, width, height, 5);

        DisplayUtils.drawShadow(posX, posY, width, height, 15, ColorUtils.rgba(255,255,255,165));
        DisplayUtils.drawImage(logo, posX, posY + 14, textWidth+padding, 1, HUD.getColor(0));

        Scissor.push();
        Scissor.setFromComponentCoordinates(posX, posY, width, height);
        Fonts.expensive4.drawText(ms, namemod, posX + padding, posY + padding + 1, ColorUtils.rgb(0, 0, 0),fontSize);

        posY += fontSize + padding * 2;

        float maxWidth = Fonts.expensive4.getWidth(name, fontSize) + padding * 2;
        float localHeight = fontSize + padding * 2;

        for (Function f : Bluekodi.getInstance().getFunctionRegistry().getFunctions()) {
            f.getAnimation().update();
            if (!(f.getAnimation().getValue() > 0) || f.getBind() == 0) continue;
            String nameText = f.getName();
            float nameWidth = Fonts.expensive4.getWidth(nameText, fontSize);

            String bindText = KeyStorage.getKey(f.getBind());
            float bindWidth = Fonts.expensive4.getWidth(bindText, fontSize);


            float localWidth = nameWidth + bindWidth + padding * 3;

            Fonts.expensive4.drawText(ms, nameText, posX + padding, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize);
            Fonts.expensive4.drawText(ms, bindText, posX + width - padding - bindWidth, posY + 0.5f, ColorUtils.rgba(0, 0, 0, (int) (255 * f.getAnimation().getValue())), fontSize);

            if (localWidth > maxWidth) {
                maxWidth = localWidth;
            }

            posY += (float) ((fontSize + padding) * f.getAnimation().getValue());
            localHeight += (float) ((fontSize + padding) * f.getAnimation().getValue());
        }
        Scissor.unset();
        Scissor.pop();
        width = Math.max(maxWidth, 80);
        height = localHeight + 2.5f;
        dragging.setWidth(width);
        dragging.setHeight(height);
    }

    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.setAlpha(ColorUtils.rgb(18,16,16), 90));
        DisplayUtils.drawRoundedRect(x, y, width, height, radius, ColorUtils.rgba(255, 255, 255, 190));
    }
}
Алтушка дай сс или реальная алтушка
 
Js ххыхыэяээы
 
Мне даже стало интересно посмотреть на сеë произведение искусства наших юг пастерков
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Удивлю есть такая тема под названием радиус в вашем эксренсиве,и можно делать такие линии без изображений
 
Назад
Сверху Снизу