Начинающий
Начинающий
- Статус
- Оффлайн
- Регистрация
- 7 Фев 2024
- Сообщения
- 101
- Реакции
- 0
- Выберите загрузчик игры
- Vanilla
ss -
Чисто прикольная вт с совмещенная с белой темой :)
Код ниже
Чисто прикольная вт с совмещенная с белой темой :)
Код ниже
Hud | Interface:
new BooleanSetting("Ватермарка", true),
new BooleanSetting("Информация", true)
final WatermarkRenderer watermarkRenderer;
final InfoRenderer infoRenderer;
if (this.elements.getValueByName("Ватермарка").get()) {this.watermarkRenderer.render(e);}
if (elements.getValueByName("Информация").get()) {this.infoRenderer.render(e);}
watermarkRenderer = new WatermarkRenderer();
infoRenderer = new InfoRenderer();
WatermarkRenderer:
@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {
final Minecraft mc = Minecraft.getInstance();
final ResourceLocation logo = new ResourceLocation("FeverVisual/images/p6.png");
@Override
public void render(EventDisplay eventDisplay) {
renderWatermark(eventDisplay);
}
private void renderWatermark(EventDisplay eventDisplay) {
MatrixStack ms = eventDisplay.getMatrixStack();
final float posX = 5;
final float posY = 4;
final float padding = 5;
final float fontSize = 6.5f;
final float iconSize = 10;
int backgroundColor, textColor;
if (FeverVisual.getInstance().getFunctionRegistry().getWhiteRecolor().isState()) {
backgroundColor = ColorUtils.rgba(255, 255, 255, 190);
textColor = ColorUtils.rgba(0, 0, 0, 255);
} else {
backgroundColor = ColorUtils.rgba(21, 21, 21, 190);
textColor = -1;
}
String feverText = "Fever";
float feverTextWidth = Fonts.sfui.getWidth(feverText, fontSize);
int fps = mc.getDebugFPS();
String fpsText = String.valueOf(fps) + " Fps";
float fpsTextWidth = Fonts.sfui.getWidth(fpsText, fontSize);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
String timeString = sdf.format(new Date());
float timeTextWidth = Fonts.sfui.getWidth(timeString, fontSize);
Vector4i logoColors = new Vector4i(textColor, textColor, textColor, textColor);
float totalWidth = iconSize + padding * 6.5f + fpsTextWidth + 20 + timeTextWidth + 10;
DisplayUtils.drawRoundedRect(posX, posY, totalWidth, iconSize + padding * 1.3f, 4, backgroundColor);
DisplayUtils.drawImage(logo, posX + padding - 2.5f, posY - 2.0f + padding, iconSize, iconSize, logoColors);
Fonts.sfui.drawText(ms, feverText, posX + 26.0f - feverTextWidth/2, posY + 5.0f, textColor, fontSize, 0.00f);
float fpsPosX = posX + 40.0f; // Было 45.0f
Fonts.nuralphaicons.drawText(ms, "X", fpsPosX + 2.5f, posY - 1.0f + padding, textColor, 9, 0);
Fonts.sfui.drawText(ms, fpsText, fpsPosX + 14.0f, posY + iconSize / 2 + 0.5f, textColor, fontSize, 0.00f);
float timePosX = fpsPosX + 5.0f + fpsTextWidth; // Было 8.0f + fpsTextWidth
Fonts.nuralphaicons.drawText(ms, "V", timePosX + 13.0f, posY - 0.3f + padding, textColor, 8, 0);
Fonts.sfui.drawText(ms, timeString, timePosX + 23.0f, posY + iconSize / 2 + 0.5f, textColor, fontSize, 0.00f);
}
}
InfoRenderer:
package Fever.Visual.ui.display.impl;
import Fever.Visual.FeverVisual;
import Fever.Visual.events.EventDisplay;
import Fever.Visual.ui.display.ElementRenderer;
import Fever.Visual.utils.client.IMinecraft;
import Fever.Visual.utils.PingUtil;
import Fever.Visual.utils.render.ColorUtils;
import Fever.Visual.utils.render.DisplayUtils;
import Fever.Visual.utils.render.font.Fonts;
import com.mojang.blaze3d.matrix.MatrixStack;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class InfoRenderer implements ElementRenderer {
final Minecraft mc = Minecraft.getInstance();
@Override
public void render(EventDisplay eventDisplay) {
renderCoordinates(eventDisplay);
renderBPS(eventDisplay);
renderPing(eventDisplay);
}
private void renderCoordinates(EventDisplay eventDisplay) {
float fontSize = 7f;
int backgroundColor, textColor;
if (FeverVisual.getInstance().getFunctionRegistry().getWhiteRecolor().isState()) {
backgroundColor = ColorUtils.rgba(255, 255, 255, 190);
textColor = ColorUtils.rgba(0, 0, 0, 255);
} else {
backgroundColor = ColorUtils.rgba(21, 21, 21, 190);
textColor = -1;
}
float posX = 7;
float posY = 20;
float CalcWidth = Fonts.sfui.getWidth("XYZ:", fontSize);
float CalcWidth2 = Fonts.sfui.getWidth((int) mc.player.getPosX() + " " + (int) mc.player.getPosY() + " " + (int) mc.player.getPosZ(), fontSize);
DisplayUtils.drawRoundedRect(posX - 2, posY + 6, 22.0f + CalcWidth2, 16.5f, 4, backgroundColor);
Fonts.sfui.drawText(eventDisplay.getMatrixStack(), (int) mc.player.getPosX() + " " + (int) mc.player.getPosY() + " " + (int) mc.player.getPosZ(), posX - 3.5f + CalcWidth, posY + 11, textColor, fontSize, 0.00f);
MatrixStack ms = new MatrixStack();
Fonts.nuralphaicons.drawText(ms, "F", posX + 1.5f, posY + 9.8f, textColor, 9, 0);
}
private void renderBPS(EventDisplay eventDisplay) {
float fontSize = 7f;
int backgroundColor, textColor;
if (FeverVisual.getInstance().getFunctionRegistry().getWhiteRecolor().isState()) {
backgroundColor = ColorUtils.rgba(255, 255, 255, 190);
textColor = ColorUtils.rgba(0, 0, 0, 255);
} else {
backgroundColor = ColorUtils.rgba(21, 21, 21, 190);
textColor = -1;
}
float posX = 33;
float posY = 20;
float CalcWidth2 = Fonts.sfui.getWidth((int) mc.player.getPosX() + " " + (int) mc.player.getPosY() + " " + (int) mc.player.getPosZ(), fontSize);
float CalcWidth3 = Fonts.sfui.getWidth(String.format("%.2f", Math.hypot(IMinecraft.mc.player.prevPosX - IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.prevPosZ - IMinecraft.mc.player.getPosZ()) * 20), fontSize);
DisplayUtils.drawRoundedRect(posX - 2 + CalcWidth2, posY + 6, 24.0f + CalcWidth3, 16.5f, 4, backgroundColor);
Fonts.sfui.drawText(eventDisplay.getMatrixStack(), String.format("%.2f", Math.hypot(IMinecraft.mc.player.prevPosX - IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.prevPosZ - IMinecraft.mc.player.getPosZ()) * 20),
posX + 15.5f + CalcWidth2, posY + 11, textColor, fontSize, 0.00f);
MatrixStack ms = new MatrixStack();
Fonts.nuralphaicons.drawText(ms, "S", posX + CalcWidth2 + 1.5f, posY + 9.8f, textColor, 9, 0);
}
private void renderPing(EventDisplay eventDisplay) {
float fontSize = 7f;
int backgroundColor, textColor;
if (FeverVisual.getInstance().getFunctionRegistry().getWhiteRecolor().isState()) {
backgroundColor = ColorUtils.rgba(255, 255, 255, 190);
textColor = ColorUtils.rgba(0, 0, 0, 255);
} else {
backgroundColor = ColorUtils.rgba(21, 21, 21, 190);
textColor = -1;
}
float CalcWidth2 = Fonts.sfui.getWidth((int) mc.player.getPosX() + " " + (int) mc.player.getPosY() + " " + (int) mc.player.getPosZ(), fontSize);
float CalcWidth3 = Fonts.sfui.getWidth(String.format("%.2f", Math.hypot(IMinecraft.mc.player.prevPosX - IMinecraft.mc.player.getPosX(), IMinecraft.mc.player.prevPosZ - IMinecraft.mc.player.getPosZ()) * 20), fontSize);
float posX = 33 + CalcWidth2 + 24.0f + CalcWidth3 + 5;
float posY = 20;
String ticksText = (PingUtil.calculatePing()) + " ms";
float CalcWidth = Fonts.sfui.getWidth("XYZ:", fontSize);
float pingTextWidth = Fonts.sfui.getWidth(ticksText, fontSize);
DisplayUtils.drawRoundedRect(posX - 2, posY + 6, 24.0f + pingTextWidth, 16.5f, 4, backgroundColor);
Fonts.sfui.drawText(eventDisplay.getMatrixStack(), ticksText, posX - 3.5f + CalcWidth, posY + 11, textColor, fontSize, 0.00f);
MatrixStack ms = new MatrixStack();
Fonts.nuralphaicons.drawText(ms, "Q", posX + 1.5f, posY + 9.8f, textColor, 9, 0);
}
}