Изменение Меню

Версия Minecraft
1.7.10
201
6
32
Привет всем.
Начал изменять меню, в майнкрафт.
В интернете, нашел, много информации, на счет GuiMainMenu.

Открыл данный файл, но там нету, ничего про кнопки, всё просмотрел.

В главном классе мода указал:
Java:
    public void onGuiOpenEvent(GuiOpenEvent event)
    {
        if(event.gui instanceof GuiMainMenu && !(event.gui instanceof RPGMainMenu))
    {
           event.gui = new RPGMainMenu();
    }
    }
    }
Создал новый класс, там указал:
Java:
package ru.Morttal.RPGcore.gui;

import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiLabel;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.ResourceLocation;

import org.lwjgl.opengl.GL11;

import cpw.mods.fml.relauncher.Side;

@SideOnly(Side.CLIENT)
public class RPGMainMenu extends  GuiMainMenu {

    private static final ResourceLocation texture = new ResourceLocation("textures/gui/achievement/achievement_icons.png");

    public RPGMainMenu() {
        super();
    }

    @Override
    public void initGui() {
        int i = this.height / 4 + 48;
        this.buttonList.clear();
        this.buttonList.add(new GuiButton(0, this.width / 2 - 100, i + 72 + 12, 98, 20, I18n.format("menu.options", new Object[0])));
        this.buttonList.add(new GuiButton(4, this.width / 2 + 2, i + 72 + 12, 98, 20, I18n.format("menu.quit", new Object[0])));
    }

    @Override
    public void drawScreen(int mouseX, int mouseY, float parTick) {
        GL11.glColor4f(1, 1, 1, 1);
        drawDefaultBackground();
        mc.renderEngine.bindTexture(texture);
        drawTexturedModalRect(0, 0, 0, 0, mc.displayWidth, mc.displayHeight);
        //---
        int k;

        for (k = 0; k < this.buttonList.size(); ++k)
            ((GuiButton)this.buttonList.get(k)).drawButton(this.mc, mouseX, mouseY);

        for (k = 0; k < this.labelList.size(); ++k)
            ((GuiLabel)this.labelList.get(k)).func_146159_a(this.mc, mouseX, mouseY);

    }

}
Ради теста, даже менял координаты выше перечисленных кнопок, но ничего вообще не происходит.
Что делать? (Если можно, код или пример)
 
Последнее редактирование:
Решение
А что подробно? У тебя должен работать эвент, которое-бы заменил ванильное меню на твоё меню.
Эвент @Doc тебе дал, а вот ты этот класс под Forge шину зарегистрировал?
А кнопки сам пиши какие надо тебе.
3,005
192
592
А на счет кода?
Специально еще раз отправлю сюда, там же уже нельзя прочитать.

Учить Java и понимать, что делаешь.
Вот тут:
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void onGuiOpenEvent(GuiOpenEvent event)
{
if(event.gui instanceof GuiMainMenu)
{
event.gui = new RPGMainMenu();
}
}
Изменить
if(event.gui instanceof GuiMainMenu)
На
if(event.gui instanceof GuiMainMenu && !(event.gui instanceof RPGMainMenu))
 

timaxa007

Модератор
5,831
409
672
@Morttal, ты уверен в том что у тебя эвент работает? Уверен, что нету другого кода, который мешал-бы открытию твоего Gui?
но там нету, ничего про кнопки
Есть, и некоторые кнопки в отдельных методах.
 

timaxa007

Модератор
5,831
409
672
А что подробно? У тебя должен работать эвент, которое-бы заменил ванильное меню на твоё меню.
Эвент @Doc тебе дал, а вот ты этот класс под Forge шину зарегистрировал?
А кнопки сам пиши какие надо тебе.
 
Сверху