Начинающий
Начинающий
- Статус
- Онлайн
- Регистрация
- 23 Мар 2025
- Сообщения
- 53
- Реакции
- 0
- Выберите загрузчик игры
- Fabric
Всем привет, решил слить свою ватермарку
как по мне ватермарка сама полная говно но хорошая задумка.
В чем задумка:Отображает ваше активное состояние (полет на элитре, малое количество хп, пвп)
как по мне ватермарка сама полная говно но хорошая задумка.
Пожалуйста, авторизуйтесь для просмотра ссылки.
В чем задумка:Отображает ваше активное состояние (полет на элитре, малое количество хп, пвп)
Код:
package jelly.velon.implement.features.draggables;
import jelly.velon.api.display.font.Builder;
import jelly.velon.api.display.font.storage.FontStorage;
import jelly.velon.api.feature.draggable.AbstractDraggable;
import jelly.velon.api.system.font.FontRenderer;
import jelly.velon.api.system.font.Fonts;
import jelly.velon.api.system.shape.ShapeProperties;
import jelly.velon.common.util.color.ColorUtil;
import jelly.velon.common.util.math.MathUtil;
import jelly.velon.common.util.world.ServerUtil;
import jelly.velon.implement.features.modules.render.Interface;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.util.math.MatrixStack;
import org.joml.Matrix4f;
public class Watermark extends AbstractDraggable {
private int fpsCount = 0;
private float hoverAlpha = 0f;
public Watermark() {
super("Watermark", 10, 10, 92, 16, true);
}
@Override
public void tick() {
fpsCount = (int) MathUtil.interpolate(fpsCount, mc.getCurrentFps());
double mx = mc.mouse.getX() * (double) mc.getWindow().getScaledWidth() / (double) mc.getWindow().getWidth();
double my = mc.mouse.getY() * (double) mc.getWindow().getScaledHeight() / (double) mc.getWindow().getHeight();
boolean hovered = isHovered(mx, my);
float target = hovered ? 255f : 0f;
hoverAlpha += (target - hoverAlpha) * 1.0f;
}
@Override
public void drawDraggable(DrawContext e) {
MatrixStack matrix = e.getMatrices();
Matrix4f matrix4f = matrix.peek().getPositionMatrix();
FontRenderer font = Fonts.getSize(15, Fonts.Type.DEFAULT);
String name;
boolean drawAsIcon = Interface.getInstance().watermarkmain.isSelected("Активное состояние");
float iconXOffset = 0.0f;
if (drawAsIcon) {
float health = mc.player.getHealth() + mc.player.getAbsorptionAmount();
boolean isPvp = ServerUtil.isPvp();
String icon;
if (health < 6.0F) {
icon = "O"; // low hp
iconXOffset = 1.5f;
} else if (mc.player.isGliding()) {
icon = "1"; // elytra
} else if (isPvp) {
icon = "0"; // is pvp
} else {
icon = "7"; // default
}
name = icon + " ";
} else {
name = "VL ";
}
int ping = 0;
if (mc.getNetworkHandler() != null) {
var entry = mc.getNetworkHandler().getPlayerListEntry(mc.player.getUuid());
if (entry != null) {
ping = entry.getLatency();
}
}
String ms = ping + "ms" + " ";
String fps = fpsCount + "fps";
blur.render(ShapeProperties.create(matrix, getX(), getY(), getWidth(), getHeight())
.round(2)
.softness(1)
.color(theme.main())
.build() );
if (drawAsIcon) {
int animatedIconColor = ColorUtil.applyOpacity(theme.Secondary(), 255);
int animatedIconColor2 = ColorUtil.applyOpacity(ColorUtil.getClientColor(), 255);
float renderX = getX() + 1.5f + iconXOffset;
if (Interface.getInstance().interfaceColorMode.isSelected("Client")) {
Builder.text()
.font(FontStorage.ICONS_FONT.get())
.text(name)
.size(9)
.color(animatedIconColor)
.build()
.render(matrix4f, renderX, getY() + 3.0F);
} else if (Interface.getInstance().interfaceColorMode.isSelected("Theme")) {
Builder.text()
.font(FontStorage.ICONS_FONT.get())
.text(name)
.size(9)
.color(animatedIconColor2)
.build()
.render(matrix4f, renderX, getY() + 3.0F);
}
} else {
if (Interface.getInstance().interfaceColorMode.isSelected("Client")) {
int animatedIconColor = ColorUtil.applyOpacity(theme.Secondary(), 255);
font.drawString(matrix, name, getX() + 3.5f, getY() + 6.5f, animatedIconColor );
} else if (Interface.getInstance().interfaceColorMode.isSelected("Theme")) {
int animatedIconColor2 = ColorUtil.applyOpacity(ColorUtil.getClientColor(), 255);
font.drawString(matrix, name, getX() + 3.5f, getY() + 6.5f, animatedIconColor2 );
}
}
font.drawString(matrix, ms + fps, getX() + font.getStringWidth(name) + 5, getY() + 6.5F, theme.textMain());
rectangle.render(ShapeProperties.create( matrix, getX() + font.getStringWidth(name), getY() + 4, 0.5F, getHeight() - 8 ).color(ColorUtil.getOutline(0.75F, 0.5f)).build() );
rectangle.render(ShapeProperties.create( matrix, getX() + font.getStringWidth(name + ms), getY() + 4, 0.5F, getHeight() - 8 ).color(ColorUtil.getOutline(0.75F, 0.5f)).build() );
setWidth((int) (font.getStringWidth(name + ms + fps) + 9));
}
}