Начинающий
-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Java:
package wtf.expensive.ui.clickgui.objects.sets;
import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.util.math.MathHelper;
import org.joml.Vector2i;
import wtf.expensive.modules.settings.imp.ModeSetting;
import wtf.expensive.ui.clickgui.objects.ModuleObject;
import wtf.expensive.ui.clickgui.objects.Object;
import wtf.expensive.util.font.Fonts;
import wtf.expensive.util.font.styled.StyledFont;
import wtf.expensive.util.render.ColorUtil;
import wtf.expensive.util.render.RenderUtil;
import wtf.expensive.util.render.animation.AnimationMath;
import java.awt.*;
public class ModeObject extends Object {
final StyledFont semibold = Fonts.msSemiBold[11];
public ModeSetting set;
public ModuleObject object;
final int white = Color.WHITE.getRGB();
public ModeObject(ModuleObject object, ModeSetting set) {
this.object = object;
this.set = set;
setting = set;
}
@Override
public void draw(MatrixStack stack, int mouseX, int mouseY) {
super.draw(stack, mouseX, mouseY);
int firstcolor = ColorUtil.getColorStyle(0F);
int secondcolor = ColorUtil.getColorStyle(90F);
int offset = 0;
float offsetY = 0;
int lines = 1;
float size = 0;
for (String mode : set.modes) {
float preOffset = size + Fonts.msSemiBold[11].getWidth(mode) + 3;
if (preOffset > width - 20) {
break;
}
size += Fonts.msSemiBold[11].getWidth(mode) + 3;
}
for (String mode : set.modes) {
float preOffset = offset + Fonts.msSemiBold[11].getWidth(mode) + 3;
if (preOffset > size) {
lines++;
offset = 0;
}
offset += Fonts.msSemiBold[11].getWidth(mode) + 3;
}
height += 8;
Fonts.msLight[12].drawString(stack, set.getName(), x + 10, y + height / 2f - 8, ColorUtil.rgba(161, 164, 177, 255));
RenderUtil.Render2D.drawRoundedRect(x + 10, y + 9, size + 7, 11 * lines, 3, ColorUtil.rgba(11, 12, 15, 255));
height += 11 * (lines - 1);
offset = 0;
offsetY = 0;
int i = 0;
for (String mode : set.modes) {
float preOff = offset + Fonts.msSemiBold[11].getWidth(mode) + 3;
if (preOff > size) {
offset = 0;
offsetY += 11;
}
if (set.getIndex() == i) {
int finalOffset = offset;
float finalOffsetY = offsetY;
float modeWight = semibold.getWidth(mode);
float width1 = Fonts.msSemiBold[11].getWidth(mode) + 2;
float height1 = Fonts.msSemiBold[11].getFontHeight() + 2;
int firstcolor1 = ColorUtil.getColorStyle(180f);
int secondcolor1 = ColorUtil.getColorStyle(270f);
Vector2i colorVec = new Vector2i(ColorUtil.getColorStyle(0), ColorUtil.getColorStyle(90));
RenderUtil.Render2D.drawGradientRound(x + 15f + finalOffset - 2f, y + 12f + finalOffsetY - 2f, width1+ 2, height1, 1, colorVec.x, colorVec.y, firstcolor1, secondcolor1);
Fonts.msSemiBold[11].drawString(stack, mode, x + 15 + finalOffset, y + 14f + finalOffsetY, white);
} else
Fonts.msSemiBold[11].drawString(stack, mode, x + 15 + offset, y + 14f + offsetY, ColorUtil.rgba(26, 30, 41, 255));
offset += Fonts.msSemiBold[11].getWidth(mode) + 3;
i++;
}
}
@Override
public void mouseClicked(int mouseX, int mouseY, int mouseButton) {
float offset = 0;
float offsetY = 0;
int i = 0;
float size = 0;
for (String mode : set.modes) {
float preOffset = size + Fonts.msSemiBold[11].getWidth(mode) + 3;
if (preOffset > width - 20) {
break;
}
size += Fonts.msSemiBold[11].getWidth(mode) + 3;
}
for (String mode : set.modes) {
float preOff = offset + Fonts.msSemiBold[11].getWidth(mode) + 3;
if (preOff > size) {
offset = 0;
offsetY += 11;
}
if (RenderUtil.isInRegion(mouseX, mouseY, x + 15 + offset, y + 12f + offsetY, Fonts.msSemiBold[11].getWidth(mode), Fonts.msSemiBold[11].getFontHeight() / 2f + 3)) {
set.setIndex(i);
}
offset += Fonts.msSemiBold[11].getWidth(mode) + 3;
i++;
}
}
@Override
public void mouseReleased(int mouseX, int mouseY, int mouseButton) {
}
@Override
public void keyTyped(int keyCode, int scanCode, int modifiers) {
}
@Override
public void charTyped(char codePoint, int modifiers) {
}
}
Последнее редактирование: