Начинающий
- Статус
- Оффлайн
- Регистрация
- 9 Фев 2024
- Сообщения
- 83
- Реакции
- 0
- Выберите загрузчик игры
- Прочие моды
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
делаю на данке софт, написал дефолт ватермарку, это самая АДЕКВАТНАЯ моя вт из всех, что были.
пишите, если вам нужен фулл такой худ.
чат гпт мне не помогал.
ну я думаю если вы на 3.1 то перенесете, ибо это легче легкого.
Ах да, закругление покинуло чат. :astonished:
(id no ad!!!)
пишите, если вам нужен фулл такой худ.
чат гпт мне не помогал.
ну я думаю если вы на 3.1 то перенесете, ибо это легче легкого.
Ах да, закругление покинуло чат. :astonished:
wt:
package fun.danq.ui.clienthud.impl;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import fun.danq.Danq;
import fun.danq.events.EventRender2D;
import fun.danq.modules.impl.visual.HUD;
import fun.danq.ui.clienthud.updater.ElementRenderer;
import fun.danq.utils.math.MathUtility;
import fun.danq.utils.render.color.ColorUtility;
import fun.danq.utils.render.engine2d.RenderUtility;
import fun.danq.utils.render.engine2d.RectUtility;
import fun.danq.utils.render.font.Fonts;
import fun.danq.utils.text.BetterText;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.AbstractGui;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class Watermark implements ElementRenderer {
private final BetterText watermarkText = new BetterText(List.of(
"Свага",
"Несправедлиовсть",
"1.0",
"бууууустит)))"
), 1000);
private int fpsAnim, pingAnim;
private float blurRadius = 3f;
@Override
public void render(EventRender2D eventRender2D) {
fpsAnim = Minecraft.getInstance().debugFPS;
pingAnim = MathUtility.calculatePing();
MatrixStack ms = eventRender2D.getMatrixStack();
float x = 4;
float y = 4;
float padding = 5;
float iconSize = 10;
String text = watermarkText().toString();
float textWidth = Fonts.sf.getWidth(text, 8) + 25.5f;
float width = iconSize + padding + textWidth;
float height = iconSize + padding;
renderBlurredBackground(ms, x, y, width, height, blurRadius);
Fonts.sf.drawText(ms, text, x + iconSize + padding, y + (height - 8) / 2, -1, 8);
}
private void renderBlurredBackground(MatrixStack matrixStack, float x, float y, float width, float height, float radius) {
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
int passes = (int) (radius * 2);
float alpha = 0.7f / passes;
for (int i = 0; i < passes; i++) {
float offset = (i / (float) passes) * radius;
// Рисуем с разными смещениями и прозрачностью
RectUtility.drawRect(matrixStack,
x - offset, y - offset,
x + width + offset, y + height + offset,
ColorUtility.alpha(0x202020, alpha));
RectUtility.drawRect(matrixStack,
x + offset, y - offset,
x + width - offset, y + height + offset,
ColorUtility.alpha(0x202020, alpha));
RectUtility.drawRect(matrixStack,
x - offset, y + offset,
x + width + offset, y + height - offset,
ColorUtility.alpha(0x202020, alpha));
RectUtility.drawRect(matrixStack,
x + offset, y + offset,
x + width - offset, y + height - offset,
ColorUtility.alpha(0x202020, alpha));
}
RectUtility.drawRect(matrixStack, x, y, x + width, y + height, 0x80000000);
RenderSystem.disableBlend();
}
private StringBuilder watermarkText() {
StringBuilder watermarkText = new StringBuilder();
watermarkText.append("Alone-1.0");
String currentTime = new SimpleDateFormat("HH:mm:ss").format(new Date());
boolean showFps = isEnabled("Фпс");
boolean showPing = isEnabled("Пинг");
boolean showServer = isEnabled("Сервер");
boolean showTime = isEnabled("Время");
if (showFps || showPing || showServer || showTime) {
watermarkText.append(" ");
}
List<String> parts = new ArrayList<>();
if (showFps) {
parts.add(fpsAnim + "fps");
}
if (showPing) {
parts.add(pingAnim + "ms");
}
if (showTime) {
parts.add(currentTime);
}
if (showServer) {
String serverInfo = mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP != null
&& !mc.getCurrentServerData().serverIP.equals("45.93.200.8:25610")
? mc.getCurrentServerData().serverIP.toLowerCase()
: "Одиночный мир";
parts.add(serverInfo);
}
watermarkText.append(String.join(" ", parts));
return watermarkText;
}
private boolean isEnabled(String check) {
return Danq.getInst().getModuleRegister().getHud().waterMarkOptions.is(check).getValue();
}
}
если для вас шит пост, сорян!!!делаю на данке софт, написал дефолт ватермарку, это самая АДЕКВАТНАЯ моя вт из всех, что были.
пишите, если вам нужен фулл такой худ.
чат гпт мне не помогал.
ну я думаю если вы на 3.1 то перенесете, ибо это легче легкого.
Ах да, закругление покинуло чат. :astonished:
![]()
wt:package fun.danq.ui.clienthud.impl; import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.systems.RenderSystem; import fun.danq.Danq; import fun.danq.events.EventRender2D; import fun.danq.modules.impl.visual.HUD; import fun.danq.ui.clienthud.updater.ElementRenderer; import fun.danq.utils.math.MathUtility; import fun.danq.utils.render.color.ColorUtility; import fun.danq.utils.render.engine2d.RenderUtility; import fun.danq.utils.render.engine2d.RectUtility; import fun.danq.utils.render.font.Fonts; import fun.danq.utils.text.BetterText; import lombok.AccessLevel; import lombok.RequiredArgsConstructor; import lombok.experimental.FieldDefaults; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.AbstractGui; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @FieldDefaults(level = AccessLevel.PRIVATE) @RequiredArgsConstructor public class Watermark implements ElementRenderer { private final BetterText watermarkText = new BetterText(List.of( "Свага", "Несправедлиовсть", "1.0", "бууууустит)))" ), 1000); private int fpsAnim, pingAnim; private float blurRadius = 3f; @Override public void render(EventRender2D eventRender2D) { fpsAnim = Minecraft.getInstance().debugFPS; pingAnim = MathUtility.calculatePing(); MatrixStack ms = eventRender2D.getMatrixStack(); float x = 4; float y = 4; float padding = 5; float iconSize = 10; String text = watermarkText().toString(); float textWidth = Fonts.sf.getWidth(text, 8) + 25.5f; float width = iconSize + padding + textWidth; float height = iconSize + padding; renderBlurredBackground(ms, x, y, width, height, blurRadius); Fonts.sf.drawText(ms, text, x + iconSize + padding, y + (height - 8) / 2, -1, 8); } private void renderBlurredBackground(MatrixStack matrixStack, float x, float y, float width, float height, float radius) { RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); int passes = (int) (radius * 2); float alpha = 0.7f / passes; for (int i = 0; i < passes; i++) { float offset = (i / (float) passes) * radius; // Рисуем с разными смещениями и прозрачностью RectUtility.drawRect(matrixStack, x - offset, y - offset, x + width + offset, y + height + offset, ColorUtility.alpha(0x202020, alpha)); RectUtility.drawRect(matrixStack, x + offset, y - offset, x + width - offset, y + height + offset, ColorUtility.alpha(0x202020, alpha)); RectUtility.drawRect(matrixStack, x - offset, y + offset, x + width + offset, y + height - offset, ColorUtility.alpha(0x202020, alpha)); RectUtility.drawRect(matrixStack, x + offset, y + offset, x + width - offset, y + height - offset, ColorUtility.alpha(0x202020, alpha)); } RectUtility.drawRect(matrixStack, x, y, x + width, y + height, 0x80000000); RenderSystem.disableBlend(); } private StringBuilder watermarkText() { StringBuilder watermarkText = new StringBuilder(); watermarkText.append("Alone-1.0"); String currentTime = new SimpleDateFormat("HH:mm:ss").format(new Date()); boolean showFps = isEnabled("Фпс"); boolean showPing = isEnabled("Пинг"); boolean showServer = isEnabled("Сервер"); boolean showTime = isEnabled("Время"); if (showFps || showPing || showServer || showTime) { watermarkText.append(" "); } List<String> parts = new ArrayList<>(); if (showFps) { parts.add(fpsAnim + "fps"); } if (showPing) { parts.add(pingAnim + "ms"); } if (showTime) { parts.add(currentTime); } if (showServer) { String serverInfo = mc.getCurrentServerData() != null && mc.getCurrentServerData().serverIP != null && !mc.getCurrentServerData().serverIP.equals("45.93.200.8:25610") ? mc.getCurrentServerData().serverIP.toLowerCase() : "Одиночный мир"; parts.add(serverInfo); } watermarkText.append(String.join(" ", parts)); return watermarkText; } private boolean isEnabled(String check) { return Danq.getInst().getModuleRegister().getHud().waterMarkOptions.is(check).getValue(); } }