-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Простой ремейк Альта наксона
Код если кому то нужно
Паста и че:
package im.expensive.ui.mainmenu;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import im.expensive.utils.client.ClientUtil;
import im.expensive.utils.client.IMinecraft;
import im.expensive.utils.client.Vec2i;
import im.expensive.utils.math.MathUtil;
import im.expensive.utils.math.StopWatch;
import im.expensive.utils.shader.ShaderUtil;
import net.minecraft.client.MainWindow;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.AbstractGui;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Session;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.text.StringTextComponent;
import org.apache.commons.lang3.RandomStringUtils;
import org.lwjgl.glfw.GLFW;
import im.expensive.utils.player.MouseUtil;
import im.expensive.utils.font.Fonts;
import im.expensive.utils.render.*;
import java.awt.*;
import java.util.ArrayList;
import java.util.Iterator;
public class AltManager extends Screen implements IMinecraft {
public AltManager() {
super(new StringTextComponent(""));
}
public final StopWatch timer = new StopWatch();
public float o = 0;
public ArrayList<Account> accounts = new ArrayList<>();
public float scroll;
public float scrollAn;
private String altName = "";
private boolean typing;
[USER=1367676]@override[/USER]
public void render(MatrixStack matrixStack, int mouseX, int mouseY, float partialTicks) {
super.render(matrixStack, mouseX, mouseY, partialTicks);
MainWindow mainWindow = mc.getMainWindow();
int windowWidth = ClientUtil.calc(mainWindow.getScaledWidth());
int windowHeight = ClientUtil.calc(mainWindow.getScaledHeight());
int logoWidth =
1920 / 2;
int logoHeight = 1080 / 2;
scrollAn = MathUtil.lerp(scrollAn, scroll, 5);
for (float i=0;i<1488;i++) {
if(timer.isReached(10)){
o++;
i=0;
timer.reset();
}
}
GlStateManager.pushMatrix();
GlStateManager.enableBlend();
ShaderUtil2.MAIN_MENU.begin();
ShaderUtil2.MAIN_MENU.setUniform("time", mc.timer.getPartialTicks(1) / 20.0F);
ShaderUtil2.MAIN_MENU.setUniform("resolution", mc.getMainWindow().getScaledWidth(), mc.getMainWindow().getScaledHeight());
ShaderUtil2.MAIN_MENU.drawQuads(0,0, mc.getMainWindow().getScaledWidth(), mc.getMainWindow().getScaledHeight());
ShaderUtil2.MAIN_MENU.end();
GlStateManager.disableBlend();
GlStateManager.popMatrix();
mc.gameRenderer.setupOverlayRendering(2);
float offset = 6f;
float width = 250f, height = 270f;
float x = mc.getMainWindow().getScaledWidth() / 2f+ - width / 2f, y = mc.getMainWindow().getScaledHeight() / 2f - height / 2f;
// Квадрат фона
DisplayUtils.drawRoundedRect(x-100 - offset, y - offset, width+300 + offset * 2f, height + offset * 2f, 5f, ColorUtils.rgba(22, 22, 22, 215));
// Первый заголовок
Fonts.icons1[22].drawString(matrixStack, "D", x-70 + offset, y + offset + 1f, -1);
Fonts.gilroyBold[22].drawString(matrixStack, "Добавьте новый аккаунт!", x-70 + offset + Fonts.icons1[16].getWidth("D") + 6f, y + offset, -1);
Fonts.gilroyBold[22].drawString(matrixStack, "ChangeLog", x-100 + offset + Fonts.icons1[16].getWidth("D") + 6f, y+60 + offset, -1);
Fonts.gilroyBold[12].drawString(matrixStack, "", x+120 + offset, y+100 + offset + 18f, ColorUtils.rgb(180, 180, 180));
// Квадратик для ввода ника
DisplayUtils.drawRoundedRect(x-100 + offset, y + offset + 25f, width - offset * 2f, 20f, 2f, ColorUtils.rgba(60, 60, 60, 215));
Scissor.push();
Scissor.setFromComponentCoordinates(x-100 + offset, y + offset + 25f, width - offset * 2f, 20f);
Fonts.msSemiBold[15].drawString(matrixStack, typing ? (altName + (typing ? "|" : "")) : "Введите сюда ваш ник!", x-90 + offset + 2f, y + offset + 32.5f, ColorUtils.rgb(152, 152, 152));
Scissor.unset();
Scissor.pop();
// Знак для ввода рандомного ника
Fonts.msBold[22].drawString(matrixStack, "?", x-77 + width - offset - 12.5f, y + offset + 31f, -1);
// Второй заголовок
Fonts.gilroyBold[22].drawString(matrixStack, "Аккаунты:", x+170 + offset, y-40 + offset + 60f, -1);
Fonts.gilroyBold[12].drawString(matrixStack, "Нету 1 версия", x-60 + offset, y+6 + offset + 73f, ColorUtils.rgb(180, 180, 180));
// Вывод никнеймов
DisplayUtils.drawRoundedRect(x+170 + offset, y-40 + offset + 80f, width - offset * 2f, 177.5f, 2f, ColorUtils.rgba(80, 80, 80, 215));
// Надпись при пустом листе аккаунтов
if (accounts.isEmpty()) Fonts.msBold[22].drawCenteredString(matrixStack, "Их нету..", x+170 + width / 2f, y-40 + offset + 165.75f, -1);
// Основной функционал для показа аккаунтов
float size = 0f, iter = scrollAn, offsetAccounts = 0f;
Scissor.push();
Scissor.setFromComponentCoordinates(x+170 + offset, y-40 + offset + 80f, width - offset * 2f, 177.5f);
for (Account account : accounts) {
float scrollY = y + iter * 22f;
DisplayUtils.drawRoundedRect(x+170 + offset + 2f, scrollY-40 + offset + 82f + offsetAccounts, width - offset * 2f - 4f, 20f, 2f, ColorUtils.rgb(101, 101, 101));
Fonts.msSemiBold[16].drawString(matrixStack, account.accountName, x+170 + offset + 25f, scrollY-40 + offset + 82f + 8f + offsetAccounts, -1);
Stencil.initStencilToWrite();
DisplayUtils.drawRoundedRect(x+170 + offset + 4f + 0.5f, scrollY-40 + offset + 84f + offsetAccounts, 16, 16, 2f, Color.BLACK.getRGB());
Stencil.readStencilBuffer(1);
mc.getTextureManager().bindTexture(account.skin);
AbstractGui.drawScaledCustomSizeModalRect(x+170 + offset + 4f + 0.5f, scrollY-40 + offset + 84f + offsetAccounts, 8F, 8F, 8F, 8F, 16, 16, 64, 64);
Stencil.uninitStencilBuffer();
iter++;
size++;
}
scroll = MathHelper.clamp(scroll, size > 8 ? -size + 4 : 0, 0);
Scissor.unset();
Scissor.pop();
// Показ текущего ника
Fonts.gilroyBold[12].drawString(matrixStack, "Ваш ник - " + mc.session.getUsername() + ".", x + offset, y + height - offset / 2, ColorUtils.rgb(180, 180, 180));
mc.gameRenderer.setupOverlayRendering();
}
[USER=1367676]@override[/USER]
public boolean mouseReleased(double mouseX, double mouseY, int button) {
return super.mouseReleased(mouseX, mouseY, button);
}
[USER=1367676]@override[/USER]
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
if (keyCode == GLFW.GLFW_KEY_BACKSPACE) {
if (!altName.isEmpty() && typing)
altName = altName.substring(0, altName.length() - 1);
}
if (keyCode == GLFW.GLFW_KEY_ENTER) {
if (!altName.isEmpty()) {
accounts.add(new Account(altName));
AltConfig.updateFile();
}
typing = false;
altName = "";
}
return super.keyPressed(keyCode, scanCode, modifiers);
}
[USER=1367676]@override[/USER]
public boolean charTyped(char codePoint, int modifiers) {
if (altName.length() <= 20) altName += Character.toString(codePoint);
return super.charTyped(codePoint, modifiers);
}
[USER=1367676]@override[/USER]
public boolean mouseClicked(double mouseX, double mouseY, int button) {
Vec2i fixed = ScaleMath.getMouse((int) mouseX, (int) mouseY);
mouseX = fixed.getX();
mouseY = fixed.getY();
float offset = 6f;
float width = 250f, height = 270f;
float x = mc.getMainWindow().getScaledWidth() / 2f - width / 2f, y = mc.getMainWindow().getScaledHeight() / 2f - height / 2f;
if (DisplayUtils.isInRegion(mouseX, mouseY, x-77 + width - offset - 12.5f, y + offset + 31f, Fonts.msBold[22].getWidth("?"), Fonts.msBold[22].getFontHeight())) {
accounts.add(new Account(RandomStringUtils.randomAlphabetic(8)));
AltConfig.updateFile();
}
if (DisplayUtils.isInRegion(mouseX, mouseY, x-77 + offset, y + offset + 25f, width - offset * 2f, 20f) && !DisplayUtils.isInRegion(mouseX, mouseY, x + width - offset - 12.5f, y + offset + 31f, Fonts.msBold[22].getWidth("?"), Fonts.msBold[22].getFontHeight())) {
typing = !typing;
}
// Основной функционал позволяющий позволяющий брать/удалять ник
float iter = scrollAn, offsetAccounts = 0f;
Iterator<Account> iterator = accounts.iterator();
while (iterator.hasNext()) {
Account account = iterator.next();
float scrollY = y + iter * 22f;
if (DisplayUtils.isInRegion(mouseX, mouseY, x+110 + offset + 2f, scrollY-40 + offset + 82f + offsetAccounts, width - offset * 2f - 4f, 28f)) {
if (button == 0) {
mc.session = new Session(account.accountName, "", "", "mojang");
} else if (button == 1) {
iterator.remove();
AltConfig.updateFile();
}
}
iter++;
}
return super.mouseClicked(mouseX, mouseY, button);
}
[USER=1367676]@override[/USER]
public boolean mouseScrolled(double mouseX, double mouseY, double delta) {
Vec2i fixed = ScaleMath.getMouse((int) mouseX, (int) mouseY);
mouseX = fixed.getX();
mouseY = fixed.getY();
// Скролл
float offset = 6f;
float width = 250f, height = 270f;
float x = mc.getMainWindow().getScaledWidth() / 2f - width / 2f, y = mc.getMainWindow().getScaledHeight() / 2f - height / 2f;
if (MouseUtil.isHovered(mouseX, mouseY, x+147 + offset, y + offset + 80f, width - offset * 2f, 177.5f)) scroll += delta * 1;
return super.mouseScrolled(mouseX, mouseY, delta);
}
[USER=1367676]@override[/USER]
protected void init() {
super.init();
}
[USER=1367676]@override[/USER]
public void init(Minecraft minecraft, int width, int height) {
super.init(minecraft, width, height);
}
[USER=1367676]@override[/USER]
public void tick() {
super.tick();
}
}