Исходник Лучшее main menu за последнее время (No GlslSandboxShader) (Rich ready)

Начинающий
Статус
Оффлайн
Регистрация
28 Июл 2022
Сообщения
205
Реакции[?]
2
Поинты[?]
0
Всем здарова, сливаю из своей фришки мейн меню, конечно без шейдера, но я банально не хз как пофиксить :/
Все что надо, это фон перекинуть в ресурсы.
Вот фон, можете свой поставить:
Посмотреть вложение fone.jpg
Вот пример как это будет выглядить:
1670606805867.png
Код:

RichMainMenu:
package fun.rich.client.ui.mainmenu;

import com.mojang.realmsclient.gui.ChatFormatting;
import fun.rich.client.Rich;
import fun.rich.client.ui.altmanager.GuiAltManager;
import fun.rich.client.ui.button.GuiMainMenuButton;
import fun.rich.client.utils.math.animations.Animation;
import fun.rich.client.utils.math.animations.impl.DecelerateAnimation;
import fun.rich.client.utils.render.RenderUtils;
import fun.rich.client.utils.render.RoundedUtil;
import net.minecraft.client.gui.*;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL20;

import java.awt.*;
import java.io.IOException;

public class RichMainMenu extends GuiScreen {
    private int width;
    public float scale = 2;
    private int height;
    private long initTime = System.currentTimeMillis();
    private Animation initAnimation;

    private GLSLSandboxShader backgroundShader;

    @Override
    public void initGui() {
        ScaledResolution sr = new ScaledResolution(this.mc);
        this.width = sr.getScaledWidth();
        this.height = sr.getScaledHeight();
        initAnimation = new DecelerateAnimation(300, 1);

        this.buttonList.add(new GuiMainMenuButton(0, (this.width / 2) - 90, this.height / 2 + 4, 180, 15, "Singleplayer"));
        this.buttonList.add(new GuiMainMenuButton(1, this.width / 2 - 90, this.height / 2 + 32, 180, 15, "Multiplayer"));
        this.buttonList.add(new GuiMainMenuButton(2, this.width / 2 - 90, this.height / 2 + 60, 180, 15, "Alt Manager"));
        this.buttonList.add(new GuiMainMenuButton(3, this.width / 2 - 90, this.height / 2 + 88, 180, 15, "Options"));
        this.buttonList.add(new GuiMainMenuButton(4, this.width / 2 - 90, this.height / 2 + 116, 180, 15, "Quit"));


    }

    @Override
    public void drawScreen(int mouseX, int mouseY, float partialTicks) {
        ScaledResolution res = new ScaledResolution(mc);
        RenderUtils.drawImage(new ResourceLocation("rich/fone.jpg"), - 0.1f, - 0.1f, 1000, 650, Color.white);
        RenderUtils.drawBlurredShadow(res.getScaledWidth() / 2 - 93, res.getScaledHeight() / 2 - 40, 186, 190,1, new Color(10,10,10, 169));
        RoundedUtil.drawRoundOutline(res.getScaledWidth() / 2 - 93, res.getScaledHeight() / 2 - 40, 186, 190, 2, 0.5f, new Color(26, 26, 26, 0), new Color(255, 255, 255, 255));
        String changelog1 = "Keaz Client" + Rich.instance.version + " ChangeLog";
        String changelog2 = ChatFormatting.GOLD + "[/]" + ChatFormatting.RESET + " Recoded all";
        String changelog3 = ChatFormatting.RED + "[-]" + ChatFormatting.RESET + " Deleted Matrix mode in velocity";
        String changelog4 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Optimized jar file";
        String changelog5 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Update Matrix mode in speed, now work in reallyworld";
        String changelog6 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Change all font";
        String changelog7 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Add new .tp for reallyworld";
        String changelog8 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Add new background";
        String changelog9 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " New Better Killaura, and KeepSprint";


        ScaledResolution sr = new ScaledResolution(mc);
        mc.neverlose500_13.drawStringWithShadow(changelog1, 2, 2, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog2, 2, 8, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog3, 2, 14, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog4, 2, 20, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog5, 2, 26, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog6, 2, 32, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog7, 2, 38, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog8, 2, 44, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog9, 2, 50, new Color(255, 255, 255).getRGB());


        mc.rubik_30.drawCenteredStringWithShadow("Keaz Client", (float) (sr.getScaledWidth() / 2), (float) (sr.getScaledHeight() / 2.2), -1);
        super.drawScreen(mouseX, mouseY, partialTicks);
    }

    public void actionPerformed(GuiButton button) throws IOException {
        switch (button.id) {
            case 0:
                this.mc.displayGuiScreen(new GuiWorldSelection(this));
                break;
            case 1:
                this.mc.displayGuiScreen(new GuiMultiplayer(this));
                break;
            case 2:
                this.mc.displayGuiScreen(new GuiAltManager());
                break;
            case 3:
                this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
                break;
            case 4:
                System.exit(0);
                Rich.instance.configManager.saveConfig("default");
                Rich.instance.fileManager.saveFiles();
                break;
        }

        super.actionPerformed(button);
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
29 Ноя 2022
Сообщения
369
Реакции[?]
11
Поинты[?]
1K
Всем здарова, сливаю из своей фришки мейн меню, конечно без шейдера, но я банально не хз как пофиксить :/
Все что надо, это фон перекинуть в ресурсы.
Вот фон, можете свой поставить:
Посмотреть вложение 231153
Вот пример как это будет выглядить:
Посмотреть вложение 231155
Код:

RichMainMenu:
package fun.rich.client.ui.mainmenu;

import com.mojang.realmsclient.gui.ChatFormatting;
import fun.rich.client.Rich;
import fun.rich.client.ui.altmanager.GuiAltManager;
import fun.rich.client.ui.button.GuiMainMenuButton;
import fun.rich.client.utils.math.animations.Animation;
import fun.rich.client.utils.math.animations.impl.DecelerateAnimation;
import fun.rich.client.utils.render.RenderUtils;
import fun.rich.client.utils.render.RoundedUtil;
import net.minecraft.client.gui.*;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL20;

import java.awt.*;
import java.io.IOException;

public class RichMainMenu extends GuiScreen {
    private int width;
    public float scale = 2;
    private int height;
    private long initTime = System.currentTimeMillis();
    private Animation initAnimation;

    private GLSLSandboxShader backgroundShader;

    @Override
    public void initGui() {
        ScaledResolution sr = new ScaledResolution(this.mc);
        this.width = sr.getScaledWidth();
        this.height = sr.getScaledHeight();
        initAnimation = new DecelerateAnimation(300, 1);

        this.buttonList.add(new GuiMainMenuButton(0, (this.width / 2) - 90, this.height / 2 + 4, 180, 15, "Singleplayer"));
        this.buttonList.add(new GuiMainMenuButton(1, this.width / 2 - 90, this.height / 2 + 32, 180, 15, "Multiplayer"));
        this.buttonList.add(new GuiMainMenuButton(2, this.width / 2 - 90, this.height / 2 + 60, 180, 15, "Alt Manager"));
        this.buttonList.add(new GuiMainMenuButton(3, this.width / 2 - 90, this.height / 2 + 88, 180, 15, "Options"));
        this.buttonList.add(new GuiMainMenuButton(4, this.width / 2 - 90, this.height / 2 + 116, 180, 15, "Quit"));


    }

    @Override
    public void drawScreen(int mouseX, int mouseY, float partialTicks) {
        ScaledResolution res = new ScaledResolution(mc);
        RenderUtils.drawImage(new ResourceLocation("rich/fone.jpg"), - 0.1f, - 0.1f, 1000, 650, Color.white);
        RenderUtils.drawBlurredShadow(res.getScaledWidth() / 2 - 93, res.getScaledHeight() / 2 - 40, 186, 190,1, new Color(10,10,10, 169));
        RoundedUtil.drawRoundOutline(res.getScaledWidth() / 2 - 93, res.getScaledHeight() / 2 - 40, 186, 190, 2, 0.5f, new Color(26, 26, 26, 0), new Color(255, 255, 255, 255));
        String changelog1 = "Keaz Client" + Rich.instance.version + " ChangeLog";
        String changelog2 = ChatFormatting.GOLD + "[/]" + ChatFormatting.RESET + " Recoded all";
        String changelog3 = ChatFormatting.RED + "[-]" + ChatFormatting.RESET + " Deleted Matrix mode in velocity";
        String changelog4 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Optimized jar file";
        String changelog5 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Update Matrix mode in speed, now work in reallyworld";
        String changelog6 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Change all font";
        String changelog7 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Add new .tp for reallyworld";
        String changelog8 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Add new background";
        String changelog9 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " New Better Killaura, and KeepSprint";


        ScaledResolution sr = new ScaledResolution(mc);
        mc.neverlose500_13.drawStringWithShadow(changelog1, 2, 2, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog2, 2, 8, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog3, 2, 14, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog4, 2, 20, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog5, 2, 26, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog6, 2, 32, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog7, 2, 38, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog8, 2, 44, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog9, 2, 50, new Color(255, 255, 255).getRGB());


        mc.rubik_30.drawCenteredStringWithShadow("Keaz Client", (float) (sr.getScaledWidth() / 2), (float) (sr.getScaledHeight() / 2.2), -1);
        super.drawScreen(mouseX, mouseY, partialTicks);
    }

    public void actionPerformed(GuiButton button) throws IOException {
        switch (button.id) {
            case 0:
                this.mc.displayGuiScreen(new GuiWorldSelection(this));
                break;
            case 1:
                this.mc.displayGuiScreen(new GuiMultiplayer(this));
                break;
            case 2:
                this.mc.displayGuiScreen(new GuiAltManager());
                break;
            case 3:
                this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
                break;
            case 4:
                System.exit(0);
                Rich.instance.configManager.saveConfig("default");
                Rich.instance.fileManager.saveFiles();
                break;
        }

        super.actionPerformed(button);
    }
}
что за понос
 
Забаненный
Статус
Оффлайн
Регистрация
17 Июн 2022
Сообщения
100
Реакции[?]
8
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
shitty lol
 
ЧВК EB_LAN
Пользователь
Статус
Оффлайн
Регистрация
6 Окт 2018
Сообщения
297
Реакции[?]
74
Поинты[?]
14K
В строке import fun.rich.client.ui.altmanager.GuiAltManager; импортируется несуществующий класс GuiAltManager.
В строке this.buttonList.add(new GuiMainMenuButton(2, this.width / 2 - 90, this.height / 2 + 60, 180, 15, "Alt Manager")); добавляется кнопка с несуществующим названием "Alt Manager".
В строке this.buttonList.add(new GuiMainMenuButton(4, this.width / 2 - 90, this.height / 2 + 116, 180, 15, "Quit")); добавляется кнопка с непереведенным названием "Quit"
 
Начинающий
Статус
Оффлайн
Регистрация
28 Июл 2022
Сообщения
205
Реакции[?]
2
Поинты[?]
0
В строке import fun.rich.client.ui.altmanager.GuiAltManager; импортируется несуществующий класс GuiAltManager.
В строке this.buttonList.add(new GuiMainMenuButton(2, this.width / 2 - 90, this.height / 2 + 60, 180, 15, "Alt Manager")); добавляется кнопка с несуществующим названием "Alt Manager".
В строке this.buttonList.add(new GuiMainMenuButton(4, this.width / 2 - 90, this.height / 2 + 116, 180, 15, "Quit")); добавляется кнопка с непереведенным названием "Quit"
сурсы рича?
 
Эксперт
Статус
Оффлайн
Регистрация
13 Сен 2020
Сообщения
1,414
Реакции[?]
710
Поинты[?]
7K
Всем здарова, сливаю из своей фришки мейн меню, конечно без шейдера, но я банально не хз как пофиксить :/
Все что надо, это фон перекинуть в ресурсы.
Вот фон, можете свой поставить:
Посмотреть вложение 231153
Вот пример как это будет выглядить:
Посмотреть вложение 231155
Код:

RichMainMenu:
package fun.rich.client.ui.mainmenu;

import com.mojang.realmsclient.gui.ChatFormatting;
import fun.rich.client.Rich;
import fun.rich.client.ui.altmanager.GuiAltManager;
import fun.rich.client.ui.button.GuiMainMenuButton;
import fun.rich.client.utils.math.animations.Animation;
import fun.rich.client.utils.math.animations.impl.DecelerateAnimation;
import fun.rich.client.utils.render.RenderUtils;
import fun.rich.client.utils.render.RoundedUtil;
import net.minecraft.client.gui.*;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL20;

import java.awt.*;
import java.io.IOException;

public class RichMainMenu extends GuiScreen {
    private int width;
    public float scale = 2;
    private int height;
    private long initTime = System.currentTimeMillis();
    private Animation initAnimation;

    private GLSLSandboxShader backgroundShader;

    @Override
    public void initGui() {
        ScaledResolution sr = new ScaledResolution(this.mc);
        this.width = sr.getScaledWidth();
        this.height = sr.getScaledHeight();
        initAnimation = new DecelerateAnimation(300, 1);

        this.buttonList.add(new GuiMainMenuButton(0, (this.width / 2) - 90, this.height / 2 + 4, 180, 15, "Singleplayer"));
        this.buttonList.add(new GuiMainMenuButton(1, this.width / 2 - 90, this.height / 2 + 32, 180, 15, "Multiplayer"));
        this.buttonList.add(new GuiMainMenuButton(2, this.width / 2 - 90, this.height / 2 + 60, 180, 15, "Alt Manager"));
        this.buttonList.add(new GuiMainMenuButton(3, this.width / 2 - 90, this.height / 2 + 88, 180, 15, "Options"));
        this.buttonList.add(new GuiMainMenuButton(4, this.width / 2 - 90, this.height / 2 + 116, 180, 15, "Quit"));


    }

    @Override
    public void drawScreen(int mouseX, int mouseY, float partialTicks) {
        ScaledResolution res = new ScaledResolution(mc);
        RenderUtils.drawImage(new ResourceLocation("rich/fone.jpg"), - 0.1f, - 0.1f, 1000, 650, Color.white);
        RenderUtils.drawBlurredShadow(res.getScaledWidth() / 2 - 93, res.getScaledHeight() / 2 - 40, 186, 190,1, new Color(10,10,10, 169));
        RoundedUtil.drawRoundOutline(res.getScaledWidth() / 2 - 93, res.getScaledHeight() / 2 - 40, 186, 190, 2, 0.5f, new Color(26, 26, 26, 0), new Color(255, 255, 255, 255));
        String changelog1 = "Keaz Client" + Rich.instance.version + " ChangeLog";
        String changelog2 = ChatFormatting.GOLD + "[/]" + ChatFormatting.RESET + " Recoded all";
        String changelog3 = ChatFormatting.RED + "[-]" + ChatFormatting.RESET + " Deleted Matrix mode in velocity";
        String changelog4 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Optimized jar file";
        String changelog5 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Update Matrix mode in speed, now work in reallyworld";
        String changelog6 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Change all font";
        String changelog7 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Add new .tp for reallyworld";
        String changelog8 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Add new background";
        String changelog9 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " New Better Killaura, and KeepSprint";


        ScaledResolution sr = new ScaledResolution(mc);
        mc.neverlose500_13.drawStringWithShadow(changelog1, 2, 2, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog2, 2, 8, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog3, 2, 14, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog4, 2, 20, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog5, 2, 26, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog6, 2, 32, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog7, 2, 38, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog8, 2, 44, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog9, 2, 50, new Color(255, 255, 255).getRGB());


        mc.rubik_30.drawCenteredStringWithShadow("Keaz Client", (float) (sr.getScaledWidth() / 2), (float) (sr.getScaledHeight() / 2.2), -1);
        super.drawScreen(mouseX, mouseY, partialTicks);
    }

    public void actionPerformed(GuiButton button) throws IOException {
        switch (button.id) {
            case 0:
                this.mc.displayGuiScreen(new GuiWorldSelection(this));
                break;
            case 1:
                this.mc.displayGuiScreen(new GuiMultiplayer(this));
                break;
            case 2:
                this.mc.displayGuiScreen(new GuiAltManager());
                break;
            case 3:
                this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
                break;
            case 4:
                System.exit(0);
                Rich.instance.configManager.saveConfig("default");
                Rich.instance.fileManager.saveFiles();
                break;
        }

        super.actionPerformed(button);
    }
}
мне нрав
 
ЧВК EB_LAN
Пользователь
Статус
Оффлайн
Регистрация
6 Окт 2018
Сообщения
297
Реакции[?]
74
Поинты[?]
14K
Начинающий
Статус
Оффлайн
Регистрация
3 Авг 2022
Сообщения
261
Реакции[?]
10
Поинты[?]
6K
Всем здарова, сливаю из своей фришки мейн меню, конечно без шейдера, но я банально не хз как пофиксить :/
Все что надо, это фон перекинуть в ресурсы.
Вот фон, можете свой поставить:
Посмотреть вложение 231153
Вот пример как это будет выглядить:
Посмотреть вложение 231155
Код:

RichMainMenu:
package fun.rich.client.ui.mainmenu;

import com.mojang.realmsclient.gui.ChatFormatting;
import fun.rich.client.Rich;
import fun.rich.client.ui.altmanager.GuiAltManager;
import fun.rich.client.ui.button.GuiMainMenuButton;
import fun.rich.client.utils.math.animations.Animation;
import fun.rich.client.utils.math.animations.impl.DecelerateAnimation;
import fun.rich.client.utils.render.RenderUtils;
import fun.rich.client.utils.render.RoundedUtil;
import net.minecraft.client.gui.*;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL20;

import java.awt.*;
import java.io.IOException;

public class RichMainMenu extends GuiScreen {
    private int width;
    public float scale = 2;
    private int height;
    private long initTime = System.currentTimeMillis();
    private Animation initAnimation;

    private GLSLSandboxShader backgroundShader;

    @Override
    public void initGui() {
        ScaledResolution sr = new ScaledResolution(this.mc);
        this.width = sr.getScaledWidth();
        this.height = sr.getScaledHeight();
        initAnimation = new DecelerateAnimation(300, 1);

        this.buttonList.add(new GuiMainMenuButton(0, (this.width / 2) - 90, this.height / 2 + 4, 180, 15, "Singleplayer"));
        this.buttonList.add(new GuiMainMenuButton(1, this.width / 2 - 90, this.height / 2 + 32, 180, 15, "Multiplayer"));
        this.buttonList.add(new GuiMainMenuButton(2, this.width / 2 - 90, this.height / 2 + 60, 180, 15, "Alt Manager"));
        this.buttonList.add(new GuiMainMenuButton(3, this.width / 2 - 90, this.height / 2 + 88, 180, 15, "Options"));
        this.buttonList.add(new GuiMainMenuButton(4, this.width / 2 - 90, this.height / 2 + 116, 180, 15, "Quit"));


    }

    @Override
    public void drawScreen(int mouseX, int mouseY, float partialTicks) {
        ScaledResolution res = new ScaledResolution(mc);
        RenderUtils.drawImage(new ResourceLocation("rich/fone.jpg"), - 0.1f, - 0.1f, 1000, 650, Color.white);
        RenderUtils.drawBlurredShadow(res.getScaledWidth() / 2 - 93, res.getScaledHeight() / 2 - 40, 186, 190,1, new Color(10,10,10, 169));
        RoundedUtil.drawRoundOutline(res.getScaledWidth() / 2 - 93, res.getScaledHeight() / 2 - 40, 186, 190, 2, 0.5f, new Color(26, 26, 26, 0), new Color(255, 255, 255, 255));
        String changelog1 = "Keaz Client" + Rich.instance.version + " ChangeLog";
        String changelog2 = ChatFormatting.GOLD + "[/]" + ChatFormatting.RESET + " Recoded all";
        String changelog3 = ChatFormatting.RED + "[-]" + ChatFormatting.RESET + " Deleted Matrix mode in velocity";
        String changelog4 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Optimized jar file";
        String changelog5 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Update Matrix mode in speed, now work in reallyworld";
        String changelog6 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Change all font";
        String changelog7 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Add new .tp for reallyworld";
        String changelog8 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Add new background";
        String changelog9 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " New Better Killaura, and KeepSprint";


        ScaledResolution sr = new ScaledResolution(mc);
        mc.neverlose500_13.drawStringWithShadow(changelog1, 2, 2, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog2, 2, 8, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog3, 2, 14, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog4, 2, 20, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog5, 2, 26, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog6, 2, 32, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog7, 2, 38, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog8, 2, 44, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog9, 2, 50, new Color(255, 255, 255).getRGB());


        mc.rubik_30.drawCenteredStringWithShadow("Keaz Client", (float) (sr.getScaledWidth() / 2), (float) (sr.getScaledHeight() / 2.2), -1);
        super.drawScreen(mouseX, mouseY, partialTicks);
    }

    public void actionPerformed(GuiButton button) throws IOException {
        switch (button.id) {
            case 0:
                this.mc.displayGuiScreen(new GuiWorldSelection(this));
                break;
            case 1:
                this.mc.displayGuiScreen(new GuiMultiplayer(this));
                break;
            case 2:
                this.mc.displayGuiScreen(new GuiAltManager());
                break;
            case 3:
                this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
                break;
            case 4:
                System.exit(0);
                Rich.instance.configManager.saveConfig("default");
                Rich.instance.fileManager.saveFiles();
                break;
        }

        super.actionPerformed(button);
    }
}
[/QUO
Всем здарова, сливаю из своей фришки мейн меню, конечно без шейдера, но я банально не хз как пофиксить :/
Все что надо, это фон перекинуть в ресурсы.
Вот фон, можете свой поставить:
Посмотреть вложение 231153
Вот пример как это будет выглядить:
Посмотреть вложение 231155
Код:

RichMainMenu:
package fun.rich.client.ui.mainmenu;

import com.mojang.realmsclient.gui.ChatFormatting;
import fun.rich.client.Rich;
import fun.rich.client.ui.altmanager.GuiAltManager;
import fun.rich.client.ui.button.GuiMainMenuButton;
import fun.rich.client.utils.math.animations.Animation;
import fun.rich.client.utils.math.animations.impl.DecelerateAnimation;
import fun.rich.client.utils.render.RenderUtils;
import fun.rich.client.utils.render.RoundedUtil;
import net.minecraft.client.gui.*;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL20;

import java.awt.*;
import java.io.IOException;

public class RichMainMenu extends GuiScreen {
    private int width;
    public float scale = 2;
    private int height;
    private long initTime = System.currentTimeMillis();
    private Animation initAnimation;

    private GLSLSandboxShader backgroundShader;

    @Override
    public void initGui() {
        ScaledResolution sr = new ScaledResolution(this.mc);
        this.width = sr.getScaledWidth();
        this.height = sr.getScaledHeight();
        initAnimation = new DecelerateAnimation(300, 1);

        this.buttonList.add(new GuiMainMenuButton(0, (this.width / 2) - 90, this.height / 2 + 4, 180, 15, "Singleplayer"));
        this.buttonList.add(new GuiMainMenuButton(1, this.width / 2 - 90, this.height / 2 + 32, 180, 15, "Multiplayer"));
        this.buttonList.add(new GuiMainMenuButton(2, this.width / 2 - 90, this.height / 2 + 60, 180, 15, "Alt Manager"));
        this.buttonList.add(new GuiMainMenuButton(3, this.width / 2 - 90, this.height / 2 + 88, 180, 15, "Options"));
        this.buttonList.add(new GuiMainMenuButton(4, this.width / 2 - 90, this.height / 2 + 116, 180, 15, "Quit"));


    }

    @Override
    public void drawScreen(int mouseX, int mouseY, float partialTicks) {
        ScaledResolution res = new ScaledResolution(mc);
        RenderUtils.drawImage(new ResourceLocation("rich/fone.jpg"), - 0.1f, - 0.1f, 1000, 650, Color.white);
        RenderUtils.drawBlurredShadow(res.getScaledWidth() / 2 - 93, res.getScaledHeight() / 2 - 40, 186, 190,1, new Color(10,10,10, 169));
        RoundedUtil.drawRoundOutline(res.getScaledWidth() / 2 - 93, res.getScaledHeight() / 2 - 40, 186, 190, 2, 0.5f, new Color(26, 26, 26, 0), new Color(255, 255, 255, 255));
        String changelog1 = "Keaz Client" + Rich.instance.version + " ChangeLog";
        String changelog2 = ChatFormatting.GOLD + "[/]" + ChatFormatting.RESET + " Recoded all";
        String changelog3 = ChatFormatting.RED + "[-]" + ChatFormatting.RESET + " Deleted Matrix mode in velocity";
        String changelog4 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Optimized jar file";
        String changelog5 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Update Matrix mode in speed, now work in reallyworld";
        String changelog6 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Change all font";
        String changelog7 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Add new .tp for reallyworld";
        String changelog8 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " Add new background";
        String changelog9 = ChatFormatting.GREEN + "[+]" + ChatFormatting.RESET + " New Better Killaura, and KeepSprint";


        ScaledResolution sr = new ScaledResolution(mc);
        mc.neverlose500_13.drawStringWithShadow(changelog1, 2, 2, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog2, 2, 8, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog3, 2, 14, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog4, 2, 20, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog5, 2, 26, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog6, 2, 32, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog7, 2, 38, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog8, 2, 44, new Color(255, 255, 255).getRGB());
        mc.neverlose500_13.drawStringWithShadow(changelog9, 2, 50, new Color(255, 255, 255).getRGB());


        mc.rubik_30.drawCenteredStringWithShadow("Keaz Client", (float) (sr.getScaledWidth() / 2), (float) (sr.getScaledHeight() / 2.2), -1);
        super.drawScreen(mouseX, mouseY, partialTicks);
    }

    public void actionPerformed(GuiButton button) throws IOException {
        switch (button.id) {
            case 0:
                this.mc.displayGuiScreen(new GuiWorldSelection(this));
                break;
            case 1:
                this.mc.displayGuiScreen(new GuiMultiplayer(this));
                break;
            case 2:
                this.mc.displayGuiScreen(new GuiAltManager());
                break;
            case 3:
                this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
                break;
            case 4:
                System.exit(0);
                Rich.instance.configManager.saveConfig("default");
                Rich.instance.fileManager.saveFiles();
                break;
        }

        super.actionPerformed(button);
    }
}
Как же вы любите писать Outline и переделывать меню minced 1.7
 
Сверху Снизу