-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
говно код сделанный нейросетью
SS:
CODE:
package im.expensive.ui.display.impl;
import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.ui.styles.Style;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import im.expensive.utils.text.GradientUtil;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {
final Minecraft mc = Minecraft.getInstance();
@Override
public void render(EventDisplay eventDisplay) {
MatrixStack ms = eventDisplay.getMatrixStack();
float posX = 1; // Начальная позиция X
float posY = 3; // Начальная позиция Y
float padding = 4; // Отступ между окнами
float boxHeight = 15; // Высота прямоугольного окна
float minBoxWidth = 60; // Минимальная ширина прямоугольного окна
float fontSize = 5.0f; // Размер шрифта
PlayerEntity player = mc.player;
if (player != null) {
String playerName = player.getName().getString();
int fps = mc.getDebugFPS();
ITextComponent nameText = GradientUtil.gradient("Name: " + playerName);
ITextComponent fpsText = GradientUtil.gradient("FPS: " + fps);
ITextComponent titleText = GradientUtil.gradient("Expensive");
// Вычисляем размеры текста
float titleWidth = Fonts.sfui.getWidth(titleText.getString(), fontSize);
float nameWidth = Fonts.sfui.getWidth(nameText.getString(), fontSize);
float fpsWidth = Fonts.sfui.getWidth(fpsText.getString(), fontSize);
// Ширина окна должна быть как минимум minBoxWidth и расширяться, если текст не вмещается
float titleBoxWidth = Math.max(minBoxWidth, titleWidth + padding * 2);
float nameBoxWidth = Math.max(minBoxWidth, nameWidth + padding * 2);
float fpsBoxWidth = Math.max(minBoxWidth, fpsWidth + padding * 2);
// Получение ширины экрана
int screenWidth = mc.getMainWindow().getScaledWidth();
// Отображаем название "Expensive" в прямоугольном окне
drawStyledRect(ms, posX, posY, titleBoxWidth, boxHeight, 5);
Fonts.sfui.drawText(ms, titleText, posX + (titleBoxWidth - titleWidth) / 2, posY + (boxHeight - fontSize) / 2, fontSize, 0xFFFFFF);
// Отображаем имя игрока в следующем прямоугольном окне
float nextPosX = posX + titleBoxWidth + padding;
if (nextPosX + nameBoxWidth > screenWidth) { // Перенос на новую строку, если не помещается
nextPosX = posX;
posY += boxHeight + padding;
}
drawStyledRect(ms, nextPosX, posY, nameBoxWidth, boxHeight, 5);
Fonts.sfui.drawText(ms, nameText, nextPosX + (nameBoxWidth - nameWidth) / 2, posY + (boxHeight - fontSize) / 2, fontSize, 0xFFFFFF);
// Отображаем FPS в следующем прямоугольном окне
float lastPosX = nextPosX + nameBoxWidth + padding;
if (lastPosX + fpsBoxWidth > screenWidth) { // Перенос на новую строку, если не помещается
lastPosX = posX;
posY += boxHeight + padding;
}
drawStyledRect(ms, lastPosX, posY, fpsBoxWidth, boxHeight, 5);
Fonts.sfui.drawText(ms, fpsText, lastPosX + (fpsBoxWidth - fpsWidth) / 2, posY + (boxHeight - fontSize) / 2, fontSize, 0xFFFFFF);
}
}
private void drawStyledRect(MatrixStack ms, float x, float y, float width, float height, float radius) {
Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();
DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 2.5f, ColorUtils.getColor(0)); // outline
DisplayUtils.drawRoundedRect(x, y, width, height, radius + 2.5f, ColorUtils.rgba(21, 21, 21, 255));
}
}
ЕСЛИ У ВАС ДЛИННЫЙ НИК ЭТО ПРЕДУСМОТРЕНО
SS:
Пожалуйста, авторизуйтесь для просмотра ссылки.
CODE:
package im.expensive.ui.display.impl;
import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.Expensive;
import im.expensive.events.EventDisplay;
import im.expensive.ui.display.ElementRenderer;
import im.expensive.ui.styles.Style;
import im.expensive.utils.render.ColorUtils;
import im.expensive.utils.render.DisplayUtils;
import im.expensive.utils.render.font.Fonts;
import im.expensive.utils.text.GradientUtil;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
@FieldDefaults(level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class WatermarkRenderer implements ElementRenderer {
final Minecraft mc = Minecraft.getInstance();
@Override
public void render(EventDisplay eventDisplay) {
MatrixStack ms = eventDisplay.getMatrixStack();
float posX = 1; // Начальная позиция X
float posY = 3; // Начальная позиция Y
float padding = 4; // Отступ между окнами
float boxHeight = 15; // Высота прямоугольного окна
float minBoxWidth = 60; // Минимальная ширина прямоугольного окна
float fontSize = 5.0f; // Размер шрифта
PlayerEntity player = mc.player;
if (player != null) {
String playerName = player.getName().getString();
int fps = mc.getDebugFPS();
ITextComponent nameText = GradientUtil.gradient("Name: " + playerName);
ITextComponent fpsText = GradientUtil.gradient("FPS: " + fps);
ITextComponent titleText = GradientUtil.gradient("Expensive");
// Вычисляем размеры текста
float titleWidth = Fonts.sfui.getWidth(titleText.getString(), fontSize);
float nameWidth = Fonts.sfui.getWidth(nameText.getString(), fontSize);
float fpsWidth = Fonts.sfui.getWidth(fpsText.getString(), fontSize);
// Ширина окна должна быть как минимум minBoxWidth и расширяться, если текст не вмещается
float titleBoxWidth = Math.max(minBoxWidth, titleWidth + padding * 2);
float nameBoxWidth = Math.max(minBoxWidth, nameWidth + padding * 2);
float fpsBoxWidth = Math.max(minBoxWidth, fpsWidth + padding * 2);
// Получение ширины экрана
int screenWidth = mc.getMainWindow().getScaledWidth();
// Отображаем название "Expensive" в прямоугольном окне
drawStyledRect(ms, posX, posY, titleBoxWidth, boxHeight, 5);
Fonts.sfui.drawText(ms, titleText, posX + (titleBoxWidth - titleWidth) / 2, posY + (boxHeight - fontSize) / 2, fontSize, 0xFFFFFF);
// Отображаем имя игрока в следующем прямоугольном окне
float nextPosX = posX + titleBoxWidth + padding;
if (nextPosX + nameBoxWidth > screenWidth) { // Перенос на новую строку, если не помещается
nextPosX = posX;
posY += boxHeight + padding;
}
drawStyledRect(ms, nextPosX, posY, nameBoxWidth, boxHeight, 5);
Fonts.sfui.drawText(ms, nameText, nextPosX + (nameBoxWidth - nameWidth) / 2, posY + (boxHeight - fontSize) / 2, fontSize, 0xFFFFFF);
// Отображаем FPS в следующем прямоугольном окне
float lastPosX = nextPosX + nameBoxWidth + padding;
if (lastPosX + fpsBoxWidth > screenWidth) { // Перенос на новую строку, если не помещается
lastPosX = posX;
posY += boxHeight + padding;
}
drawStyledRect(ms, lastPosX, posY, fpsBoxWidth, boxHeight, 5);
Fonts.sfui.drawText(ms, fpsText, lastPosX + (fpsBoxWidth - fpsWidth) / 2, posY + (boxHeight - fontSize) / 2, fontSize, 0xFFFFFF);
}
}
private void drawStyledRect(MatrixStack ms, float x, float y, float width, float height, float radius) {
Style style = Expensive.getInstance().getStyleManager().getCurrentStyle();
DisplayUtils.drawRoundedRect(x - 0.5f, y - 0.5f, width + 1, height + 1, radius + 2.5f, ColorUtils.getColor(0)); // outline
DisplayUtils.drawRoundedRect(x, y, width, height, radius + 2.5f, ColorUtils.rgba(21, 21, 21, 255));
}
}
ЕСЛИ У ВАС ДЛИННЫЙ НИК ЭТО ПРЕДУСМОТРЕНО
Последнее редактирование: