Розыгрыш Premium и Уникальной юзергруппы на форуме! Перейти

Визуальная часть Celestial skid 3.1 1.12.2

/del?

  • /del?

    Голосов: 22 57.9%
  • /del?

    Голосов: 16 42.1%

  • Всего проголосовало
    38
Сделал это херню сделал за минут 6-8

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

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.util.ResourceLocation;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;

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

    final Dragging dragging;
    final BooleanSetting dragEnabled;

    private static final ResourceLocation LOGO =
            new ResourceLocation("expensive/images/atomwhite.png");

    public WatermarkRenderer(Dragging dragging, BooleanSetting dragEnabled) {
        this.dragging = dragging;
        this.dragEnabled = dragEnabled;
    }

    @Subscribe
    public void update(EventUpdate e) {
        if (dragEnabled.get()) {
            dragging.update();
        }
    }

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

        float x = dragEnabled.get() ? dragging.getX() : 12f;
        float y = dragEnabled.get() ? dragging.getY() : 12f;

        float height = 24f;
        float radius = 12f;

        float circleSize = 30f;
        float logoSize = 20f;

        float paddingLeft = 16f;
        float paddingRight = 10f;

        String title = "Celestial";
        String subtitle = "UID 1337";

        float titleWidth = Fonts.sfbold.getWidth(title, 7.5f);
        float subWidth = Fonts.sfbold.getWidth(subtitle, 6.5f);
        float textWidth = Math.max(titleWidth, subWidth);

        float width = paddingLeft + textWidth + paddingRight;

        int pinkColor = ColorUtils.rgb(233, 115, 255);

        DisplayUtils.drawRoundedRect(
                x,
                y,
                width,
                height,
                radius,
                pinkColor
        );

        float circleX = x - circleSize / 2f;
        float circleY = y + (height - circleSize) / 2f;

        DisplayUtils.drawRoundedRect(
                circleX,
                circleY,
                circleSize,
                circleSize,
                circleSize / 2f,
                pinkColor
        );

        DisplayUtils.drawImage(
                LOGO,
                circleX + (circleSize - logoSize) / 2f,
                circleY + (circleSize - logoSize) / 2f,
                logoSize,
                logoSize,
                ColorUtils.rgb(255, 255, 255)
        );

        float textX = x + paddingLeft;
        float textY = y + 5f;

        Fonts.sfbold.drawText(
                ms,
                title,
                textX,
                textY,
                ColorUtils.rgb(255, 255, 255),
                7.5f
        );

        Fonts.sfbold.drawText(
                ms,
                subtitle,
                textX,
                textY + 8f,
                ColorUtils.rgb(255, 255, 255),
                6.5f
        );

        if (dragEnabled.get()) {
            dragging.setWidth(width);
            dragging.setHeight(height);
        }
    }
}



Код:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.ui.display.impl.*;
import im.expensive.ui.styles.StyleManager;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;

@FieldDefaults(level = AccessLevel.PRIVATE)
@FunctionRegister(name = "HUD", type = Category.Render)
public class HUD extends Function {

    private final ModeListSetting elements = new ModeListSetting("Элементы",
            new BooleanSetting("Ватермарка", true),
            new BooleanSetting("Список модулей", true),
            new BooleanSetting("Координаты", true),
            new BooleanSetting("Эффекты", true),
            new BooleanSetting("Список модерации", true),
            new BooleanSetting("Активные бинды", true),
            new BooleanSetting("Активный таргет", true),
            new BooleanSetting("Броня", true)
    );

    // 🔹 ТОЛЬКО ЭТА НАСТРОЙКА ДОБАВЛЕНА
    private final BooleanSetting moveWatermark =
            new BooleanSetting("Двигать ватермарку", true);

    final WatermarkRenderer watermarkRenderer;
    final ArrayListRenderer arrayListRenderer;
    final CoordsRenderer coordsRenderer;
    final PotionRenderer potionRenderer;
    final KeyBindRenderer keyBindRenderer;
    final TargetInfoRenderer targetInfoRenderer;
    final ArmorRenderer armorRenderer;
    final StaffListRenderer staffListRenderer;

    // 🔹 Drag только для ватермарки
    final Dragging watermarkDrag;

    @Subscribe
    private void onUpdate(EventUpdate e) {
        if (mc.gameSettings.showDebugInfo) return;

        if (elements.getValueByName("Список модерации").get())
            staffListRenderer.update(e);

        if (elements.getValueByName("Список модулей").get())
            arrayListRenderer.update(e);
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (mc.gameSettings.showDebugInfo || e.getType() != EventDisplay.Type.POST)
            return;

        if (elements.getValueByName("Координаты").get()) coordsRenderer.render(e);
        if (elements.getValueByName("Эффекты").get()) potionRenderer.render(e);
        if (elements.getValueByName("Ватермарка").get()) watermarkRenderer.render(e);
        if (elements.getValueByName("Список модулей").get()) arrayListRenderer.render(e);
        if (elements.getValueByName("Активные бинды").get()) keyBindRenderer.render(e);
        if (elements.getValueByName("Список модерации").get()) staffListRenderer.render(e);
        if (elements.getValueByName("Активный таргет").get()) targetInfoRenderer.render(e);
    }

    public HUD() {
        // 🔹 Drag только для ватермарки
        watermarkDrag = Expensive.getInstance()
                .createDrag(this, "Watermark", 5, 5);

        watermarkRenderer = new WatermarkRenderer(watermarkDrag, moveWatermark);

        arrayListRenderer = new ArrayListRenderer();
        coordsRenderer = new CoordsRenderer();

        Dragging potions = Expensive.getInstance().createDrag(this, "Potions", 278, 5);
        potionRenderer = new PotionRenderer(potions);

        Dragging keyBinds = Expensive.getInstance().createDrag(this, "KeyBinds", 185, 5);
        keyBindRenderer = new KeyBindRenderer(keyBinds);

        Dragging target = Expensive.getInstance().createDrag(this, "TargetHUD", 74, 128);
        targetInfoRenderer = new TargetInfoRenderer(target);

        Dragging staff = Expensive.getInstance().createDrag(this, "StaffList", 96, 5);
        staffListRenderer = new StaffListRenderer(staff);

        armorRenderer = new ArmorRenderer();

        // 🔹 Добавили настройку, остальное не трогали
        addSettings(elements, moveWatermark);
    }

    public static int getColor(int index, int i) {
        StyleManager sm = Expensive.getInstance().getStyleManager();
        return ColorUtils.gradient(
                sm.getCurrentStyle().getFirstColor().getRGB(),
                sm.getCurrentStyle().getSecondColor().getRGB(),
                index * 16,
                10
        );
    }
}

Есть джпт код хз нахуй вам это но на переделку пойдет может вы даже лучше сделаете сразу говорю хуйня

ssПосмотреть вложение 323247
/del?
это вообще не целка а залупа какая то
 
Сделал это херню сделал за минут 6-8

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

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.util.ResourceLocation;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;

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

    final Dragging dragging;
    final BooleanSetting dragEnabled;

    private static final ResourceLocation LOGO =
            new ResourceLocation("expensive/images/atomwhite.png");

    public WatermarkRenderer(Dragging dragging, BooleanSetting dragEnabled) {
        this.dragging = dragging;
        this.dragEnabled = dragEnabled;
    }

    @Subscribe
    public void update(EventUpdate e) {
        if (dragEnabled.get()) {
            dragging.update();
        }
    }

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

        float x = dragEnabled.get() ? dragging.getX() : 12f;
        float y = dragEnabled.get() ? dragging.getY() : 12f;

        float height = 24f;
        float radius = 12f;

        float circleSize = 30f;
        float logoSize = 20f;

        float paddingLeft = 16f;
        float paddingRight = 10f;

        String title = "Celestial";
        String subtitle = "UID 1337";

        float titleWidth = Fonts.sfbold.getWidth(title, 7.5f);
        float subWidth = Fonts.sfbold.getWidth(subtitle, 6.5f);
        float textWidth = Math.max(titleWidth, subWidth);

        float width = paddingLeft + textWidth + paddingRight;

        int pinkColor = ColorUtils.rgb(233, 115, 255);

        DisplayUtils.drawRoundedRect(
                x,
                y,
                width,
                height,
                radius,
                pinkColor
        );

        float circleX = x - circleSize / 2f;
        float circleY = y + (height - circleSize) / 2f;

        DisplayUtils.drawRoundedRect(
                circleX,
                circleY,
                circleSize,
                circleSize,
                circleSize / 2f,
                pinkColor
        );

        DisplayUtils.drawImage(
                LOGO,
                circleX + (circleSize - logoSize) / 2f,
                circleY + (circleSize - logoSize) / 2f,
                logoSize,
                logoSize,
                ColorUtils.rgb(255, 255, 255)
        );

        float textX = x + paddingLeft;
        float textY = y + 5f;

        Fonts.sfbold.drawText(
                ms,
                title,
                textX,
                textY,
                ColorUtils.rgb(255, 255, 255),
                7.5f
        );

        Fonts.sfbold.drawText(
                ms,
                subtitle,
                textX,
                textY + 8f,
                ColorUtils.rgb(255, 255, 255),
                6.5f
        );

        if (dragEnabled.get()) {
            dragging.setWidth(width);
            dragging.setHeight(height);
        }
    }
}



Код:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.ui.display.impl.*;
import im.expensive.ui.styles.StyleManager;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;

@FieldDefaults(level = AccessLevel.PRIVATE)
@FunctionRegister(name = "HUD", type = Category.Render)
public class HUD extends Function {

    private final ModeListSetting elements = new ModeListSetting("Элементы",
            new BooleanSetting("Ватермарка", true),
            new BooleanSetting("Список модулей", true),
            new BooleanSetting("Координаты", true),
            new BooleanSetting("Эффекты", true),
            new BooleanSetting("Список модерации", true),
            new BooleanSetting("Активные бинды", true),
            new BooleanSetting("Активный таргет", true),
            new BooleanSetting("Броня", true)
    );

    // 🔹 ТОЛЬКО ЭТА НАСТРОЙКА ДОБАВЛЕНА
    private final BooleanSetting moveWatermark =
            new BooleanSetting("Двигать ватермарку", true);

    final WatermarkRenderer watermarkRenderer;
    final ArrayListRenderer arrayListRenderer;
    final CoordsRenderer coordsRenderer;
    final PotionRenderer potionRenderer;
    final KeyBindRenderer keyBindRenderer;
    final TargetInfoRenderer targetInfoRenderer;
    final ArmorRenderer armorRenderer;
    final StaffListRenderer staffListRenderer;

    // 🔹 Drag только для ватермарки
    final Dragging watermarkDrag;

    @Subscribe
    private void onUpdate(EventUpdate e) {
        if (mc.gameSettings.showDebugInfo) return;

        if (elements.getValueByName("Список модерации").get())
            staffListRenderer.update(e);

        if (elements.getValueByName("Список модулей").get())
            arrayListRenderer.update(e);
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (mc.gameSettings.showDebugInfo || e.getType() != EventDisplay.Type.POST)
            return;

        if (elements.getValueByName("Координаты").get()) coordsRenderer.render(e);
        if (elements.getValueByName("Эффекты").get()) potionRenderer.render(e);
        if (elements.getValueByName("Ватермарка").get()) watermarkRenderer.render(e);
        if (elements.getValueByName("Список модулей").get()) arrayListRenderer.render(e);
        if (elements.getValueByName("Активные бинды").get()) keyBindRenderer.render(e);
        if (elements.getValueByName("Список модерации").get()) staffListRenderer.render(e);
        if (elements.getValueByName("Активный таргет").get()) targetInfoRenderer.render(e);
    }

    public HUD() {
        // 🔹 Drag только для ватермарки
        watermarkDrag = Expensive.getInstance()
                .createDrag(this, "Watermark", 5, 5);

        watermarkRenderer = new WatermarkRenderer(watermarkDrag, moveWatermark);

        arrayListRenderer = new ArrayListRenderer();
        coordsRenderer = new CoordsRenderer();

        Dragging potions = Expensive.getInstance().createDrag(this, "Potions", 278, 5);
        potionRenderer = new PotionRenderer(potions);

        Dragging keyBinds = Expensive.getInstance().createDrag(this, "KeyBinds", 185, 5);
        keyBindRenderer = new KeyBindRenderer(keyBinds);

        Dragging target = Expensive.getInstance().createDrag(this, "TargetHUD", 74, 128);
        targetInfoRenderer = new TargetInfoRenderer(target);

        Dragging staff = Expensive.getInstance().createDrag(this, "StaffList", 96, 5);
        staffListRenderer = new StaffListRenderer(staff);

        armorRenderer = new ArmorRenderer();

        // 🔹 Добавили настройку, остальное не трогали
        addSettings(elements, moveWatermark);
    }

    public static int getColor(int index, int i) {
        StyleManager sm = Expensive.getInstance().getStyleManager();
        return ColorUtils.gradient(
                sm.getCurrentStyle().getFirstColor().getRGB(),
                sm.getCurrentStyle().getSecondColor().getRGB(),
                index * 16,
                10
        );
    }
}

Есть джпт код хз нахуй вам это но на переделку пойдет может вы даже лучше сделаете сразу говорю хуйня

ssПосмотреть вложение 323247
/del?
https://github.com/tuskev1ch/Mincedv1.12.2 - Вот тебе сурс скид целестиала 1.12.2, пасти на здоровье
 
Сделал это херню сделал за минут 6-8

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

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.util.ResourceLocation;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;

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

    final Dragging dragging;
    final BooleanSetting dragEnabled;

    private static final ResourceLocation LOGO =
            new ResourceLocation("expensive/images/atomwhite.png");

    public WatermarkRenderer(Dragging dragging, BooleanSetting dragEnabled) {
        this.dragging = dragging;
        this.dragEnabled = dragEnabled;
    }

    @Subscribe
    public void update(EventUpdate e) {
        if (dragEnabled.get()) {
            dragging.update();
        }
    }

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

        float x = dragEnabled.get() ? dragging.getX() : 12f;
        float y = dragEnabled.get() ? dragging.getY() : 12f;

        float height = 24f;
        float radius = 12f;

        float circleSize = 30f;
        float logoSize = 20f;

        float paddingLeft = 16f;
        float paddingRight = 10f;

        String title = "Celestial";
        String subtitle = "UID 1337";

        float titleWidth = Fonts.sfbold.getWidth(title, 7.5f);
        float subWidth = Fonts.sfbold.getWidth(subtitle, 6.5f);
        float textWidth = Math.max(titleWidth, subWidth);

        float width = paddingLeft + textWidth + paddingRight;

        int pinkColor = ColorUtils.rgb(233, 115, 255);

        DisplayUtils.drawRoundedRect(
                x,
                y,
                width,
                height,
                radius,
                pinkColor
        );

        float circleX = x - circleSize / 2f;
        float circleY = y + (height - circleSize) / 2f;

        DisplayUtils.drawRoundedRect(
                circleX,
                circleY,
                circleSize,
                circleSize,
                circleSize / 2f,
                pinkColor
        );

        DisplayUtils.drawImage(
                LOGO,
                circleX + (circleSize - logoSize) / 2f,
                circleY + (circleSize - logoSize) / 2f,
                logoSize,
                logoSize,
                ColorUtils.rgb(255, 255, 255)
        );

        float textX = x + paddingLeft;
        float textY = y + 5f;

        Fonts.sfbold.drawText(
                ms,
                title,
                textX,
                textY,
                ColorUtils.rgb(255, 255, 255),
                7.5f
        );

        Fonts.sfbold.drawText(
                ms,
                subtitle,
                textX,
                textY + 8f,
                ColorUtils.rgb(255, 255, 255),
                6.5f
        );

        if (dragEnabled.get()) {
            dragging.setWidth(width);
            dragging.setHeight(height);
        }
    }
}



Код:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.ui.display.impl.*;
import im.expensive.ui.styles.StyleManager;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;

@FieldDefaults(level = AccessLevel.PRIVATE)
@FunctionRegister(name = "HUD", type = Category.Render)
public class HUD extends Function {

    private final ModeListSetting elements = new ModeListSetting("Элементы",
            new BooleanSetting("Ватермарка", true),
            new BooleanSetting("Список модулей", true),
            new BooleanSetting("Координаты", true),
            new BooleanSetting("Эффекты", true),
            new BooleanSetting("Список модерации", true),
            new BooleanSetting("Активные бинды", true),
            new BooleanSetting("Активный таргет", true),
            new BooleanSetting("Броня", true)
    );

    // 🔹 ТОЛЬКО ЭТА НАСТРОЙКА ДОБАВЛЕНА
    private final BooleanSetting moveWatermark =
            new BooleanSetting("Двигать ватермарку", true);

    final WatermarkRenderer watermarkRenderer;
    final ArrayListRenderer arrayListRenderer;
    final CoordsRenderer coordsRenderer;
    final PotionRenderer potionRenderer;
    final KeyBindRenderer keyBindRenderer;
    final TargetInfoRenderer targetInfoRenderer;
    final ArmorRenderer armorRenderer;
    final StaffListRenderer staffListRenderer;

    // 🔹 Drag только для ватермарки
    final Dragging watermarkDrag;

    @Subscribe
    private void onUpdate(EventUpdate e) {
        if (mc.gameSettings.showDebugInfo) return;

        if (elements.getValueByName("Список модерации").get())
            staffListRenderer.update(e);

        if (elements.getValueByName("Список модулей").get())
            arrayListRenderer.update(e);
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (mc.gameSettings.showDebugInfo || e.getType() != EventDisplay.Type.POST)
            return;

        if (elements.getValueByName("Координаты").get()) coordsRenderer.render(e);
        if (elements.getValueByName("Эффекты").get()) potionRenderer.render(e);
        if (elements.getValueByName("Ватермарка").get()) watermarkRenderer.render(e);
        if (elements.getValueByName("Список модулей").get()) arrayListRenderer.render(e);
        if (elements.getValueByName("Активные бинды").get()) keyBindRenderer.render(e);
        if (elements.getValueByName("Список модерации").get()) staffListRenderer.render(e);
        if (elements.getValueByName("Активный таргет").get()) targetInfoRenderer.render(e);
    }

    public HUD() {
        // 🔹 Drag только для ватермарки
        watermarkDrag = Expensive.getInstance()
                .createDrag(this, "Watermark", 5, 5);

        watermarkRenderer = new WatermarkRenderer(watermarkDrag, moveWatermark);

        arrayListRenderer = new ArrayListRenderer();
        coordsRenderer = new CoordsRenderer();

        Dragging potions = Expensive.getInstance().createDrag(this, "Potions", 278, 5);
        potionRenderer = new PotionRenderer(potions);

        Dragging keyBinds = Expensive.getInstance().createDrag(this, "KeyBinds", 185, 5);
        keyBindRenderer = new KeyBindRenderer(keyBinds);

        Dragging target = Expensive.getInstance().createDrag(this, "TargetHUD", 74, 128);
        targetInfoRenderer = new TargetInfoRenderer(target);

        Dragging staff = Expensive.getInstance().createDrag(this, "StaffList", 96, 5);
        staffListRenderer = new StaffListRenderer(staff);

        armorRenderer = new ArmorRenderer();

        // 🔹 Добавили настройку, остальное не трогали
        addSettings(elements, moveWatermark);
    }

    public static int getColor(int index, int i) {
        StyleManager sm = Expensive.getInstance().getStyleManager();
        return ColorUtils.gradient(
                sm.getCurrentStyle().getFirstColor().getRGB(),
                sm.getCurrentStyle().getSecondColor().getRGB(),
                index * 16,
                10
        );
    }
}

Есть джпт код хз нахуй вам это но на переделку пойдет может вы даже лучше сделаете сразу говорю хуйня

ssПосмотреть вложение 323247
/del?
говно ебанное /del не заливай ничего больше пожалуйста
 
Сделал это херню сделал за минут 6-8

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

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.util.ResourceLocation;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;

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

    final Dragging dragging;
    final BooleanSetting dragEnabled;

    private static final ResourceLocation LOGO =
            new ResourceLocation("expensive/images/atomwhite.png");

    public WatermarkRenderer(Dragging dragging, BooleanSetting dragEnabled) {
        this.dragging = dragging;
        this.dragEnabled = dragEnabled;
    }

    @Subscribe
    public void update(EventUpdate e) {
        if (dragEnabled.get()) {
            dragging.update();
        }
    }

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

        float x = dragEnabled.get() ? dragging.getX() : 12f;
        float y = dragEnabled.get() ? dragging.getY() : 12f;

        float height = 24f;
        float radius = 12f;

        float circleSize = 30f;
        float logoSize = 20f;

        float paddingLeft = 16f;
        float paddingRight = 10f;

        String title = "Celestial";
        String subtitle = "UID 1337";

        float titleWidth = Fonts.sfbold.getWidth(title, 7.5f);
        float subWidth = Fonts.sfbold.getWidth(subtitle, 6.5f);
        float textWidth = Math.max(titleWidth, subWidth);

        float width = paddingLeft + textWidth + paddingRight;

        int pinkColor = ColorUtils.rgb(233, 115, 255);

        DisplayUtils.drawRoundedRect(
                x,
                y,
                width,
                height,
                radius,
                pinkColor
        );

        float circleX = x - circleSize / 2f;
        float circleY = y + (height - circleSize) / 2f;

        DisplayUtils.drawRoundedRect(
                circleX,
                circleY,
                circleSize,
                circleSize,
                circleSize / 2f,
                pinkColor
        );

        DisplayUtils.drawImage(
                LOGO,
                circleX + (circleSize - logoSize) / 2f,
                circleY + (circleSize - logoSize) / 2f,
                logoSize,
                logoSize,
                ColorUtils.rgb(255, 255, 255)
        );

        float textX = x + paddingLeft;
        float textY = y + 5f;

        Fonts.sfbold.drawText(
                ms,
                title,
                textX,
                textY,
                ColorUtils.rgb(255, 255, 255),
                7.5f
        );

        Fonts.sfbold.drawText(
                ms,
                subtitle,
                textX,
                textY + 8f,
                ColorUtils.rgb(255, 255, 255),
                6.5f
        );

        if (dragEnabled.get()) {
            dragging.setWidth(width);
            dragging.setHeight(height);
        }
    }
}



Код:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.ui.display.impl.*;
import im.expensive.ui.styles.StyleManager;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;

@FieldDefaults(level = AccessLevel.PRIVATE)
@FunctionRegister(name = "HUD", type = Category.Render)
public class HUD extends Function {

    private final ModeListSetting elements = new ModeListSetting("Элементы",
            new BooleanSetting("Ватермарка", true),
            new BooleanSetting("Список модулей", true),
            new BooleanSetting("Координаты", true),
            new BooleanSetting("Эффекты", true),
            new BooleanSetting("Список модерации", true),
            new BooleanSetting("Активные бинды", true),
            new BooleanSetting("Активный таргет", true),
            new BooleanSetting("Броня", true)
    );

    // 🔹 ТОЛЬКО ЭТА НАСТРОЙКА ДОБАВЛЕНА
    private final BooleanSetting moveWatermark =
            new BooleanSetting("Двигать ватермарку", true);

    final WatermarkRenderer watermarkRenderer;
    final ArrayListRenderer arrayListRenderer;
    final CoordsRenderer coordsRenderer;
    final PotionRenderer potionRenderer;
    final KeyBindRenderer keyBindRenderer;
    final TargetInfoRenderer targetInfoRenderer;
    final ArmorRenderer armorRenderer;
    final StaffListRenderer staffListRenderer;

    // 🔹 Drag только для ватермарки
    final Dragging watermarkDrag;

    @Subscribe
    private void onUpdate(EventUpdate e) {
        if (mc.gameSettings.showDebugInfo) return;

        if (elements.getValueByName("Список модерации").get())
            staffListRenderer.update(e);

        if (elements.getValueByName("Список модулей").get())
            arrayListRenderer.update(e);
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (mc.gameSettings.showDebugInfo || e.getType() != EventDisplay.Type.POST)
            return;

        if (elements.getValueByName("Координаты").get()) coordsRenderer.render(e);
        if (elements.getValueByName("Эффекты").get()) potionRenderer.render(e);
        if (elements.getValueByName("Ватермарка").get()) watermarkRenderer.render(e);
        if (elements.getValueByName("Список модулей").get()) arrayListRenderer.render(e);
        if (elements.getValueByName("Активные бинды").get()) keyBindRenderer.render(e);
        if (elements.getValueByName("Список модерации").get()) staffListRenderer.render(e);
        if (elements.getValueByName("Активный таргет").get()) targetInfoRenderer.render(e);
    }

    public HUD() {
        // 🔹 Drag только для ватермарки
        watermarkDrag = Expensive.getInstance()
                .createDrag(this, "Watermark", 5, 5);

        watermarkRenderer = new WatermarkRenderer(watermarkDrag, moveWatermark);

        arrayListRenderer = new ArrayListRenderer();
        coordsRenderer = new CoordsRenderer();

        Dragging potions = Expensive.getInstance().createDrag(this, "Potions", 278, 5);
        potionRenderer = new PotionRenderer(potions);

        Dragging keyBinds = Expensive.getInstance().createDrag(this, "KeyBinds", 185, 5);
        keyBindRenderer = new KeyBindRenderer(keyBinds);

        Dragging target = Expensive.getInstance().createDrag(this, "TargetHUD", 74, 128);
        targetInfoRenderer = new TargetInfoRenderer(target);

        Dragging staff = Expensive.getInstance().createDrag(this, "StaffList", 96, 5);
        staffListRenderer = new StaffListRenderer(staff);

        armorRenderer = new ArmorRenderer();

        // 🔹 Добавили настройку, остальное не трогали
        addSettings(elements, moveWatermark);
    }

    public static int getColor(int index, int i) {
        StyleManager sm = Expensive.getInstance().getStyleManager();
        return ColorUtils.gradient(
                sm.getCurrentStyle().getFirstColor().getRGB(),
                sm.getCurrentStyle().getSecondColor().getRGB(),
                index * 16,
                10
        );
    }
}

Есть джпт код хз нахуй вам это но на переделку пойдет может вы даже лучше сделаете сразу говорю хуйня

ssПосмотреть вложение 323247
/del?
отрисовка двух ректов через гпт, /del
 
1767143826549.png
...
 
Сделал это херню сделал за минут 6-8

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

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.util.ResourceLocation;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;

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

    final Dragging dragging;
    final BooleanSetting dragEnabled;

    private static final ResourceLocation LOGO =
            new ResourceLocation("expensive/images/atomwhite.png");

    public WatermarkRenderer(Dragging dragging, BooleanSetting dragEnabled) {
        this.dragging = dragging;
        this.dragEnabled = dragEnabled;
    }

    @Subscribe
    public void update(EventUpdate e) {
        if (dragEnabled.get()) {
            dragging.update();
        }
    }

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

        float x = dragEnabled.get() ? dragging.getX() : 12f;
        float y = dragEnabled.get() ? dragging.getY() : 12f;

        float height = 24f;
        float radius = 12f;

        float circleSize = 30f;
        float logoSize = 20f;

        float paddingLeft = 16f;
        float paddingRight = 10f;

        String title = "Celestial";
        String subtitle = "UID 1337";

        float titleWidth = Fonts.sfbold.getWidth(title, 7.5f);
        float subWidth = Fonts.sfbold.getWidth(subtitle, 6.5f);
        float textWidth = Math.max(titleWidth, subWidth);

        float width = paddingLeft + textWidth + paddingRight;

        int pinkColor = ColorUtils.rgb(233, 115, 255);

        DisplayUtils.drawRoundedRect(
                x,
                y,
                width,
                height,
                radius,
                pinkColor
        );

        float circleX = x - circleSize / 2f;
        float circleY = y + (height - circleSize) / 2f;

        DisplayUtils.drawRoundedRect(
                circleX,
                circleY,
                circleSize,
                circleSize,
                circleSize / 2f,
                pinkColor
        );

        DisplayUtils.drawImage(
                LOGO,
                circleX + (circleSize - logoSize) / 2f,
                circleY + (circleSize - logoSize) / 2f,
                logoSize,
                logoSize,
                ColorUtils.rgb(255, 255, 255)
        );

        float textX = x + paddingLeft;
        float textY = y + 5f;

        Fonts.sfbold.drawText(
                ms,
                title,
                textX,
                textY,
                ColorUtils.rgb(255, 255, 255),
                7.5f
        );

        Fonts.sfbold.drawText(
                ms,
                subtitle,
                textX,
                textY + 8f,
                ColorUtils.rgb(255, 255, 255),
                6.5f
        );

        if (dragEnabled.get()) {
            dragging.setWidth(width);
            dragging.setHeight(height);
        }
    }
}



Код:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.ui.display.impl.*;
import im.expensive.ui.styles.StyleManager;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;

@FieldDefaults(level = AccessLevel.PRIVATE)
@FunctionRegister(name = "HUD", type = Category.Render)
public class HUD extends Function {

    private final ModeListSetting elements = new ModeListSetting("Элементы",
            new BooleanSetting("Ватермарка", true),
            new BooleanSetting("Список модулей", true),
            new BooleanSetting("Координаты", true),
            new BooleanSetting("Эффекты", true),
            new BooleanSetting("Список модерации", true),
            new BooleanSetting("Активные бинды", true),
            new BooleanSetting("Активный таргет", true),
            new BooleanSetting("Броня", true)
    );

    // 🔹 ТОЛЬКО ЭТА НАСТРОЙКА ДОБАВЛЕНА
    private final BooleanSetting moveWatermark =
            new BooleanSetting("Двигать ватермарку", true);

    final WatermarkRenderer watermarkRenderer;
    final ArrayListRenderer arrayListRenderer;
    final CoordsRenderer coordsRenderer;
    final PotionRenderer potionRenderer;
    final KeyBindRenderer keyBindRenderer;
    final TargetInfoRenderer targetInfoRenderer;
    final ArmorRenderer armorRenderer;
    final StaffListRenderer staffListRenderer;

    // 🔹 Drag только для ватермарки
    final Dragging watermarkDrag;

    @Subscribe
    private void onUpdate(EventUpdate e) {
        if (mc.gameSettings.showDebugInfo) return;

        if (elements.getValueByName("Список модерации").get())
            staffListRenderer.update(e);

        if (elements.getValueByName("Список модулей").get())
            arrayListRenderer.update(e);
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (mc.gameSettings.showDebugInfo || e.getType() != EventDisplay.Type.POST)
            return;

        if (elements.getValueByName("Координаты").get()) coordsRenderer.render(e);
        if (elements.getValueByName("Эффекты").get()) potionRenderer.render(e);
        if (elements.getValueByName("Ватермарка").get()) watermarkRenderer.render(e);
        if (elements.getValueByName("Список модулей").get()) arrayListRenderer.render(e);
        if (elements.getValueByName("Активные бинды").get()) keyBindRenderer.render(e);
        if (elements.getValueByName("Список модерации").get()) staffListRenderer.render(e);
        if (elements.getValueByName("Активный таргет").get()) targetInfoRenderer.render(e);
    }

    public HUD() {
        // 🔹 Drag только для ватермарки
        watermarkDrag = Expensive.getInstance()
                .createDrag(this, "Watermark", 5, 5);

        watermarkRenderer = new WatermarkRenderer(watermarkDrag, moveWatermark);

        arrayListRenderer = new ArrayListRenderer();
        coordsRenderer = new CoordsRenderer();

        Dragging potions = Expensive.getInstance().createDrag(this, "Potions", 278, 5);
        potionRenderer = new PotionRenderer(potions);

        Dragging keyBinds = Expensive.getInstance().createDrag(this, "KeyBinds", 185, 5);
        keyBindRenderer = new KeyBindRenderer(keyBinds);

        Dragging target = Expensive.getInstance().createDrag(this, "TargetHUD", 74, 128);
        targetInfoRenderer = new TargetInfoRenderer(target);

        Dragging staff = Expensive.getInstance().createDrag(this, "StaffList", 96, 5);
        staffListRenderer = new StaffListRenderer(staff);

        armorRenderer = new ArmorRenderer();

        // 🔹 Добавили настройку, остальное не трогали
        addSettings(elements, moveWatermark);
    }

    public static int getColor(int index, int i) {
        StyleManager sm = Expensive.getInstance().getStyleManager();
        return ColorUtils.gradient(
                sm.getCurrentStyle().getFirstColor().getRGB(),
                sm.getCurrentStyle().getSecondColor().getRGB(),
                index * 16,
                10
        );
    }
}

Есть джпт код хз нахуй вам это но на переделку пойдет может вы даже лучше сделаете сразу говорю хуйня

ssПосмотреть вложение 323247
/del?
спасибо, мне выкололи глаза
 
Сделал это херню сделал за минут 6-8

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

import com.google.common.eventbus.Subscribe;
import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.util.ResourceLocation;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;

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

    final Dragging dragging;
    final BooleanSetting dragEnabled;

    private static final ResourceLocation LOGO =
            new ResourceLocation("expensive/images/atomwhite.png");

    public WatermarkRenderer(Dragging dragging, BooleanSetting dragEnabled) {
        this.dragging = dragging;
        this.dragEnabled = dragEnabled;
    }

    @Subscribe
    public void update(EventUpdate e) {
        if (dragEnabled.get()) {
            dragging.update();
        }
    }

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

        float x = dragEnabled.get() ? dragging.getX() : 12f;
        float y = dragEnabled.get() ? dragging.getY() : 12f;

        float height = 24f;
        float radius = 12f;

        float circleSize = 30f;
        float logoSize = 20f;

        float paddingLeft = 16f;
        float paddingRight = 10f;

        String title = "Celestial";
        String subtitle = "UID 1337";

        float titleWidth = Fonts.sfbold.getWidth(title, 7.5f);
        float subWidth = Fonts.sfbold.getWidth(subtitle, 6.5f);
        float textWidth = Math.max(titleWidth, subWidth);

        float width = paddingLeft + textWidth + paddingRight;

        int pinkColor = ColorUtils.rgb(233, 115, 255);

        DisplayUtils.drawRoundedRect(
                x,
                y,
                width,
                height,
                radius,
                pinkColor
        );

        float circleX = x - circleSize / 2f;
        float circleY = y + (height - circleSize) / 2f;

        DisplayUtils.drawRoundedRect(
                circleX,
                circleY,
                circleSize,
                circleSize,
                circleSize / 2f,
                pinkColor
        );

        DisplayUtils.drawImage(
                LOGO,
                circleX + (circleSize - logoSize) / 2f,
                circleY + (circleSize - logoSize) / 2f,
                logoSize,
                logoSize,
                ColorUtils.rgb(255, 255, 255)
        );

        float textX = x + paddingLeft;
        float textY = y + 5f;

        Fonts.sfbold.drawText(
                ms,
                title,
                textX,
                textY,
                ColorUtils.rgb(255, 255, 255),
                7.5f
        );

        Fonts.sfbold.drawText(
                ms,
                subtitle,
                textX,
                textY + 8f,
                ColorUtils.rgb(255, 255, 255),
                6.5f
        );

        if (dragEnabled.get()) {
            dragging.setWidth(width);
            dragging.setHeight(height);
        }
    }
}



Код:
Expand Collapse Copy
package im.expensive.functions.impl.render;

import com.google.common.eventbus.Subscribe;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.ui.display.impl.*;
import im.expensive.ui.styles.StyleManager;
import im.expensive.utils.drag.Dragging;
import im.expensive.utils.render.ColorUtils;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;

@FieldDefaults(level = AccessLevel.PRIVATE)
@FunctionRegister(name = "HUD", type = Category.Render)
public class HUD extends Function {

    private final ModeListSetting elements = new ModeListSetting("Элементы",
            new BooleanSetting("Ватермарка", true),
            new BooleanSetting("Список модулей", true),
            new BooleanSetting("Координаты", true),
            new BooleanSetting("Эффекты", true),
            new BooleanSetting("Список модерации", true),
            new BooleanSetting("Активные бинды", true),
            new BooleanSetting("Активный таргет", true),
            new BooleanSetting("Броня", true)
    );

    // 🔹 ТОЛЬКО ЭТА НАСТРОЙКА ДОБАВЛЕНА
    private final BooleanSetting moveWatermark =
            new BooleanSetting("Двигать ватермарку", true);

    final WatermarkRenderer watermarkRenderer;
    final ArrayListRenderer arrayListRenderer;
    final CoordsRenderer coordsRenderer;
    final PotionRenderer potionRenderer;
    final KeyBindRenderer keyBindRenderer;
    final TargetInfoRenderer targetInfoRenderer;
    final ArmorRenderer armorRenderer;
    final StaffListRenderer staffListRenderer;

    // 🔹 Drag только для ватермарки
    final Dragging watermarkDrag;

    @Subscribe
    private void onUpdate(EventUpdate e) {
        if (mc.gameSettings.showDebugInfo) return;

        if (elements.getValueByName("Список модерации").get())
            staffListRenderer.update(e);

        if (elements.getValueByName("Список модулей").get())
            arrayListRenderer.update(e);
    }

    @Subscribe
    private void onDisplay(EventDisplay e) {
        if (mc.gameSettings.showDebugInfo || e.getType() != EventDisplay.Type.POST)
            return;

        if (elements.getValueByName("Координаты").get()) coordsRenderer.render(e);
        if (elements.getValueByName("Эффекты").get()) potionRenderer.render(e);
        if (elements.getValueByName("Ватермарка").get()) watermarkRenderer.render(e);
        if (elements.getValueByName("Список модулей").get()) arrayListRenderer.render(e);
        if (elements.getValueByName("Активные бинды").get()) keyBindRenderer.render(e);
        if (elements.getValueByName("Список модерации").get()) staffListRenderer.render(e);
        if (elements.getValueByName("Активный таргет").get()) targetInfoRenderer.render(e);
    }

    public HUD() {
        // 🔹 Drag только для ватермарки
        watermarkDrag = Expensive.getInstance()
                .createDrag(this, "Watermark", 5, 5);

        watermarkRenderer = new WatermarkRenderer(watermarkDrag, moveWatermark);

        arrayListRenderer = new ArrayListRenderer();
        coordsRenderer = new CoordsRenderer();

        Dragging potions = Expensive.getInstance().createDrag(this, "Potions", 278, 5);
        potionRenderer = new PotionRenderer(potions);

        Dragging keyBinds = Expensive.getInstance().createDrag(this, "KeyBinds", 185, 5);
        keyBindRenderer = new KeyBindRenderer(keyBinds);

        Dragging target = Expensive.getInstance().createDrag(this, "TargetHUD", 74, 128);
        targetInfoRenderer = new TargetInfoRenderer(target);

        Dragging staff = Expensive.getInstance().createDrag(this, "StaffList", 96, 5);
        staffListRenderer = new StaffListRenderer(staff);

        armorRenderer = new ArmorRenderer();

        // 🔹 Добавили настройку, остальное не трогали
        addSettings(elements, moveWatermark);
    }

    public static int getColor(int index, int i) {
        StyleManager sm = Expensive.getInstance().getStyleManager();
        return ColorUtils.gradient(
                sm.getCurrentStyle().getFirstColor().getRGB(),
                sm.getCurrentStyle().getSecondColor().getRGB(),
                index * 16,
                10
        );
    }
}

Есть джпт код хз нахуй вам это но на переделку пойдет может вы даже лучше сделаете сразу говорю хуйня

ssПосмотреть вложение 323247
/del?
/del это пиздец
 
Назад
Сверху Снизу