Начинающий
- Статус
- Оффлайн
- Регистрация
- 13 Июл 2025
- Сообщения
- 79
- Реакции
- 0
- Выберите загрузчик игры
- Vanilla
Сделал это херню сделал за минут 6-8
Есть джпт код хз нахуй вам это но на переделку пойдет может вы даже лучше сделаете сразу говорю хуйня
ss
/del?
Код:
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);
}
}
}
Код:
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
/del?