MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Crash lié au custom Menu + anti x-ray

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    18 Messages 5 Publieurs 2.8k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • leo01418L Hors-ligne
      leo01418
      dernière édition par

      Dans ce cas je ne vois pas comment faire

      Voila ma signature

      1 réponse Dernière réponse Répondre Citer 0
      • AymericRedA Hors-ligne
        AymericRed
        dernière édition par

        Tu n’as pas besoin devents, tu dois modifier les fonctions vanilla initGui() (ou les boutons sont ajoutés) et actionPerformed() du gui que tu as copié.

        Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

        AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

        Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
        Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

        1 réponse Dernière réponse Répondre Citer 0
        • leo01418L Hors-ligne
          leo01418
          dernière édition par

          Je ne comprend pas comment faire j’ai éssayé de rajouté des chose mais sans succès  😞

          Voila ma signature

          1 réponse Dernière réponse Répondre Citer 0
          • leo01418L Hors-ligne
            leo01418
            dernière édition par

            J’ai réussi à faire affiché les boutons  😄
            Mais que celui de ts marche je pense qu’il faut encore modifié le initGui mais la je voie pas comment faire du tout

            Merci de vos réponses  😉

            Voila ma signature

            1 réponse Dernière réponse Répondre Citer 0
            • DeletedD Hors-ligne
              Deleted
              dernière édition par

              Renvoies tes classes stp, j’ai pas tout suivi depuis ton premier post :x

              1 réponse Dernière réponse Répondre Citer 0
              • leo01418L Hors-ligne
                leo01418
                dernière édition par

                package ed.enderdeathMenu.mod;
                
                import java.awt.Desktop;
                import java.io.BufferedReader;
                import java.io.IOException;
                import java.io.InputStreamReader;
                import java.net.URI;
                import java.net.URISyntaxException;
                import java.util.ArrayList;
                import java.util.Calendar;
                import java.util.Date;
                import java.util.List;
                import java.util.Random;
                
                import net.minecraft.client.Minecraft;
                import net.minecraft.client.gui.FontRenderer;
                import net.minecraft.client.gui.GuiButton;
                import net.minecraft.client.gui.GuiButtonLanguage;
                import net.minecraft.client.gui.GuiConfirmOpenLink;
                import net.minecraft.client.gui.GuiLanguage;
                import net.minecraft.client.gui.GuiMainMenu;
                import net.minecraft.client.gui.GuiMultiplayer;
                import net.minecraft.client.gui.GuiOptions;
                import net.minecraft.client.gui.GuiScreen;
                import net.minecraft.client.gui.GuiSelectWorld;
                import net.minecraft.client.gui.GuiYesNo;
                import net.minecraft.client.gui.GuiYesNoCallback;
                import net.minecraft.client.multiplayer.GuiConnecting;
                import net.minecraft.client.multiplayer.ServerData;
                import net.minecraft.client.renderer.OpenGlHelper;
                import net.minecraft.client.renderer.Tessellator;
                import net.minecraft.client.renderer.texture.DynamicTexture;
                import net.minecraft.client.resources.I18n;
                import net.minecraft.realms.RealmsBridge;
                import net.minecraft.util.EnumChatFormatting;
                import net.minecraft.util.MathHelper;
                import net.minecraft.util.ResourceLocation;
                import net.minecraft.world.demo.DemoWorldServer;
                import net.minecraft.world.storage.ISaveFormat;
                import net.minecraft.world.storage.WorldInfo;
                import net.minecraftforge.client.event.GuiScreenEvent.ActionPerformedEvent;
                import net.minecraftforge.client.event.GuiScreenEvent.InitGuiEvent;
                import net.minecraftforge.client.ForgeHooksClient;
                import net.minecraftforge.client.event.RenderGameOverlayEvent;
                import net.minecraftforge.common.MinecraftForge;
                
                import org.apache.commons.io.Charsets;
                import org.apache.logging.log4j.LogManager;
                import org.apache.logging.log4j.Logger;
                import org.lwjgl.opengl.GL11;
                import org.lwjgl.opengl.GLContext;
                import org.lwjgl.util.glu.Project;
                
                import com.google.common.base.Strings;
                import com.google.common.collect.Lists;
                
                import cpw.mods.fml.client.FMLClientHandler;
                import cpw.mods.fml.client.GuiModList;
                import cpw.mods.fml.common.FMLCommonHandler;
                import cpw.mods.fml.common.Mod.EventHandler;
                import cpw.mods.fml.common.ObfuscationReflectionHelper;
                import cpw.mods.fml.common.eventhandler.SubscribeEvent;
                import cpw.mods.fml.relauncher.Side;
                import cpw.mods.fml.relauncher.SideOnly;
                
                @SideOnly(Side.CLIENT)
                public class GuiCustomMenu extends GuiMainMenu implements GuiYesNoCallback
                {
                
                private static final Logger logger = LogManager.getLogger();
                    /** The RNG used by the Main Menu Screen. */
                    private static final Random rand = new Random();
                    /** Counts the number of screen updates. */
                    private float updateCounter;
                    /** The splash message. */
                    private String splashText;
                    private GuiButton buttonResetDemo;
                    /** Timer used to rotate the panorama, increases every tick. */
                    private int panoramaTimer;
                    /** Texture allocated for the current viewport of the main menu's panorama background. */
                    private DynamicTexture viewportTexture;
                    private final Object field_104025_t = new Object();
                    private String field_92025_p;
                    private String field_146972_A;
                    private String field_104024_v;
                    private static final ResourceLocation splashTexts = new ResourceLocation("texts/splashes.txt");
                    private static final ResourceLocation minecraftTitleTextures = new ResourceLocation("textures/gui/title/minecraft.png");
                    /** An array of all the paths to the panorama pictures. */
                    private static final ResourceLocation[] titlePanoramaPaths = new ResourceLocation[] {new ResourceLocation("enderdeath","textures/gui/title/background/panorama_0.png"), new ResourceLocation("enderdeath","textures/gui/title/background/panorama_1.png"), new ResourceLocation("enderdeath","textures/gui/title/background/panorama_2.png"), new ResourceLocation("textures/gui/title/background/panorama_3.png"), new ResourceLocation("textures/gui/title/background/panorama_4.png"), new ResourceLocation("textures/gui/title/background/panorama_5.png")};
                    public static final String field_96138_a = "Please click " + EnumChatFormatting.UNDERLINE + "here" + EnumChatFormatting.RESET + " for more information.";
                    private int field_92024_r;
                    private int field_92023_s;
                    private int field_92022_t;
                    private int field_92021_u;
                    private int field_92020_v;
                    private int field_92019_w;
                    private ResourceLocation field_110351_G;
                    private static final String __OBFID = "CL_00001154";
                
                    public GuiCustomMenu()
                    {
                        this.field_146972_A = field_96138_a;
                        this.splashText = "missingno";
                        BufferedReader bufferedreader = null;
                
                        try
                        {
                            ArrayList arraylist = new ArrayList();
                            bufferedreader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource(splashTexts).getInputStream(), Charsets.UTF_8));
                            String s;
                
                            while ((s = bufferedreader.readLine()) != null)
                            {
                                s = s.trim();
                
                                if (!s.isEmpty())
                                {
                                    arraylist.add(s);
                                }
                            }
                
                            if (!arraylist.isEmpty())
                            {
                                do
                                {
                                    this.splashText = (String)arraylist.get(rand.nextInt(arraylist.size()));
                                }
                                while (this.splashText.hashCode() == 125780783);
                            }
                        }
                        catch (IOException ioexception1)
                        {
                            ;
                        }
                        finally
                        {
                            if (bufferedreader != null)
                            {
                                try
                                {
                                    bufferedreader.close();
                                }
                                catch (IOException ioexception)
                                {
                                    ;
                                }
                            }
                        }
                
                        this.updateCounter = rand.nextFloat();
                        this.field_92025_p = "";
                
                        if (!GLContext.getCapabilities().OpenGL20 && !OpenGlHelper.func_153193_b())
                        {
                            this.field_92025_p = I18n.format("title.oldgl1", new Object[0]);
                            this.field_146972_A = I18n.format("title.oldgl2", new Object[0]);
                            this.field_104024_v = "https://help.mojang.com/customer/portal/articles/325948?ref=game";
                        }
                    }
                
                    /**
                     * Called from the main game loop to update the screen.
                     */
                    public void updateScreen()
                    {
                        ++this.panoramaTimer;
                    }
                
                    /**
                     * Returns true if this GUI should pause the game when it is displayed in single-player
                     */
                    public boolean doesGuiPauseGame()
                    {
                        return false;
                    }
                
                    /**
                     * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
                     */
                    protected void keyTyped(char p_73869_1_, int p_73869_2_) {}
                
                    /**
                     * Adds the buttons (and other controls) to the screen in question.
                     */
                    public void initGui()
                    {
                        this.viewportTexture = new DynamicTexture(256, 256);
                        this.field_110351_G = this.mc.getTextureManager().getDynamicTextureLocation("background", this.viewportTexture);
                        Calendar calendar = Calendar.getInstance();
                        calendar.setTime(new Date());
                
                        if (calendar.get(2) + 1 == 11 && calendar.get(5) == 9)
                        {
                            this.splashText = "Happy birthday, ez!";
                        }
                        else if (calendar.get(2) + 1 == 6 && calendar.get(5) == 1)
                        {
                            this.splashText = "Happy birthday, Notch!";
                        }
                        else if (calendar.get(2) + 1 == 12 && calendar.get(5) == 24)
                        {
                            this.splashText = "Merry X-mas!";
                        }
                        else if (calendar.get(2) + 1 == 1 && calendar.get(5) == 1)
                        {
                            this.splashText = "Happy new year!";
                        }
                        else if (calendar.get(2) + 1 == 10 && calendar.get(5) == 31)
                        {
                            this.splashText = "OOoooOOOoooo! Spooky!";
                        }
                
                        boolean flag = true;
                        int i = this.height / 4 + 48;
                
                        if (this.mc.isDemo())
                        {
                            this.addDemoButtons(i, 24);
                        }
                        else
                        {
                            this.addSingleplayerMultiplayerButtons(i, 24);
                        }
                
                        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])));
                        this.buttonList.add(new GuiButtonLanguage(5, this.width / 2 - 124, i + 72 + 12));
                        Object object = this.field_104025_t;
                
                        synchronized (this.field_104025_t)
                        {
                            this.field_92023_s = this.fontRendererObj.getStringWidth(this.field_92025_p);
                            this.field_92024_r = this.fontRendererObj.getStringWidth(this.field_146972_A);
                            int j = Math.max(this.field_92023_s, this.field_92024_r);
                            this.field_92022_t = (this.width - j) / 2;
                            this.field_92021_u = ((GuiButton)this.buttonList.get(0)).yPosition - 24;
                            this.field_92020_v = this.field_92022_t + j;
                            this.field_92019_w = this.field_92021_u + 24;
                        }
                    }
                
                    /**
                     * Adds Singleplayer and Multiplayer buttons on Main Menu for players who have bought the game.
                     */
                    private void addSingleplayerMultiplayerButtons(int p_73969_1_, int p_73969_2_)
                    {
                        this.buttonList.add(new GuiButton(1, this.width / 2 - 100, p_73969_1_, I18n.format("menu.singleplayer", new Object[0])));
                        this.buttonList.add(new GuiButton(2, this.width / 2 - 100, p_73969_1_ + p_73969_2_ * 1, I18n.format("menu.multiplayer", new Object[0])));
                        GuiButton realmsButton = new GuiButton(14, this.width / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.format("menu.online", new Object[0]));
                        GuiButton fmlModButton = new GuiButton(6, this.width / 2 - 100, p_73969_1_ + p_73969_2_ * 2, "Mods");
                        fmlModButton.xPosition = this.width / 2 + 2;
                        realmsButton.width = 98;
                        fmlModButton.width = 98;
                        this.buttonList.add(realmsButton);
                        this.buttonList.add(fmlModButton);
                    }
                
                    /**
                     * Adds Demo buttons on Main Menu for players who are playing Demo.
                     */
                    private void addDemoButtons(int p_73972_1_, int p_73972_2_)
                    {
                        this.buttonList.add(new GuiButton(11, this.width / 2 - 100, p_73972_1_, I18n.format("menu.playdemo", new Object[0])));
                        this.buttonList.add(this.buttonResetDemo = new GuiButton(12, this.width / 2 - 100, p_73972_1_ + p_73972_2_ * 1, I18n.format("menu.resetdemo", new Object[0])));
                        ISaveFormat isaveformat = this.mc.getSaveLoader();
                        WorldInfo worldinfo = isaveformat.getWorldInfo("Demo_World");
                
                        if (worldinfo == null)
                        {
                            this.buttonResetDemo.enabled = false;
                        }
                    }
                
                    protected void actionPerformed(GuiButton p_146284_1_)
                    {
                        if (p_146284_1_.id == 0)
                        {
                            this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
                        }
                
                        if (p_146284_1_.id == 5)
                        {
                            this.mc.displayGuiScreen(new GuiLanguage(this, this.mc.gameSettings, this.mc.getLanguageManager()));
                        }
                
                        if (p_146284_1_.id == 1)
                        {
                            this.mc.displayGuiScreen(new GuiSelectWorld(this));
                        }
                
                        if (p_146284_1_.id == 2)
                        {
                            this.mc.displayGuiScreen(new GuiMultiplayer(this));
                        }
                
                        if (p_146284_1_.id == 14)
                        {
                            this.func_140005_i();
                        }
                
                        if (p_146284_1_.id == 4)
                        {
                            this.mc.shutdown();
                        }
                
                        if (p_146284_1_.id == 6)
                        {
                            this.mc.displayGuiScreen(new GuiModList(this));
                        }
                
                        if (p_146284_1_.id == 11)
                        {
                            this.mc.launchIntegratedServer("Demo_World", "Demo_World", DemoWorldServer.demoWorldSettings);
                        }
                
                        if (p_146284_1_.id == 12)
                        {
                            ISaveFormat isaveformat = this.mc.getSaveLoader();
                            WorldInfo worldinfo = isaveformat.getWorldInfo("Demo_World");
                
                            if (worldinfo != null)
                            {
                                GuiYesNo guiyesno = GuiSelectWorld.func_152129_a(this, worldinfo.getWorldName(), 12);
                                this.mc.displayGuiScreen(guiyesno);
                            }
                        }
                    }
                
                    private void func_140005_i()
                    {
                        RealmsBridge realmsbridge = new RealmsBridge();
                        realmsbridge.switchToRealms(this);
                    }
                
                    public void confirmClicked(boolean p_73878_1_, int p_73878_2_)
                    {
                        if (p_73878_1_ && p_73878_2_ == 12)
                        {
                            ISaveFormat isaveformat = this.mc.getSaveLoader();
                            isaveformat.flushCache();
                            isaveformat.deleteWorldDirectory("Demo_World");
                            this.mc.displayGuiScreen(this);
                        }
                        else if (p_73878_2_ == 13)
                        {
                            if (p_73878_1_)
                            {
                                try
                                {
                                    Class oclass = Class.forName("java.awt.Desktop");
                                    Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]);
                                    oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {new URI(this.field_104024_v)});
                                }
                                catch (Throwable throwable)
                                {
                                    logger.error("Couldn\'t open link", throwable);
                                }
                            }
                
                            this.mc.displayGuiScreen(this);
                        }
                    }
                
                    /**
                     * Draws the main menu panorama
                     */
                    private void drawPanorama(int p_73970_1_, int p_73970_2_, float p_73970_3_)
                    {
                        Tessellator tessellator = Tessellator.instance;
                        GL11.glMatrixMode(GL11.GL_PROJECTION);
                        GL11.glPushMatrix();
                        GL11.glLoadIdentity();
                        Project.gluPerspective(120.0F, 1.0F, 0.05F, 10.0F);
                        GL11.glMatrixMode(GL11.GL_MODELVIEW);
                        GL11.glPushMatrix();
                        GL11.glLoadIdentity();
                        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                        GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F);
                        GL11.glRotatef(90.0F, 0.0F, 0.0F, 1.0F);
                        GL11.glEnable(GL11.GL_BLEND);
                        GL11.glDisable(GL11.GL_ALPHA_TEST);
                        GL11.glDisable(GL11.GL_CULL_FACE);
                        GL11.glDepthMask(false);
                        OpenGlHelper.glBlendFunc(770, 771, 1, 0);
                        byte b0 = 8;
                
                        for (int k = 0; k < b0 * b0; ++k)
                        {
                            GL11.glPushMatrix();
                            float f1 = ((float)(k % b0) / (float)b0 - 0.5F) / 64.0F;
                            float f2 = ((float)(k / b0) / (float)b0 - 0.5F) / 64.0F;
                            float f3 = 0.0F;
                            GL11.glTranslatef(f1, f2, f3);
                            GL11.glRotatef(MathHelper.sin(((float)this.panoramaTimer + p_73970_3_) / 400.0F) * 25.0F + 20.0F, 1.0F, 0.0F, 0.0F);
                            GL11.glRotatef(-((float)this.panoramaTimer + p_73970_3_) * 0.1F, 0.0F, 1.0F, 0.0F);
                
                            for (int l = 0; l < 6; ++l)
                            {
                                GL11.glPushMatrix();
                
                                if (l == 1)
                                {
                                    GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
                                }
                
                                if (l == 2)
                                {
                                    GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
                                }
                
                                if (l == 3)
                                {
                                    GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
                                }
                
                                if (l == 4)
                                {
                                    GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
                                }
                
                                if (l == 5)
                                {
                                    GL11.glRotatef(-90.0F, 1.0F, 0.0F, 0.0F);
                                }
                
                                this.mc.getTextureManager().bindTexture(titlePanoramaPaths[l]);
                                tessellator.startDrawingQuads();
                                tessellator.setColorRGBA_I(16777215, 255 / (k + 1));
                                float f4 = 0.0F;
                                tessellator.addVertexWithUV(-1.0D, -1.0D, 1.0D, (double)(0.0F + f4), (double)(0.0F + f4));
                                tessellator.addVertexWithUV(1.0D, -1.0D, 1.0D, (double)(1.0F - f4), (double)(0.0F + f4));
                                tessellator.addVertexWithUV(1.0D, 1.0D, 1.0D, (double)(1.0F - f4), (double)(1.0F - f4));
                                tessellator.addVertexWithUV(-1.0D, 1.0D, 1.0D, (double)(0.0F + f4), (double)(1.0F - f4));
                                tessellator.draw();
                                GL11.glPopMatrix();
                            }
                
                            GL11.glPopMatrix();
                            GL11.glColorMask(true, true, true, false);
                        }
                
                        tessellator.setTranslation(0.0D, 0.0D, 0.0D);
                        GL11.glColorMask(true, true, true, true);
                        GL11.glMatrixMode(GL11.GL_PROJECTION);
                        GL11.glPopMatrix();
                        GL11.glMatrixMode(GL11.GL_MODELVIEW);
                        GL11.glPopMatrix();
                        GL11.glDepthMask(true);
                        GL11.glEnable(GL11.GL_CULL_FACE);
                        GL11.glEnable(GL11.GL_DEPTH_TEST);
                    }
                
                    /**
                     * Rotate and blurs the skybox view in the main menu
                     */
                    private void rotateAndBlurSkybox(float p_73968_1_)
                    {
                        this.mc.getTextureManager().bindTexture(this.field_110351_G);
                        GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
                        GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
                        GL11.glCopyTexSubImage2D(GL11.GL_TEXTURE_2D, 0, 0, 0, 0, 0, 256, 256);
                        GL11.glEnable(GL11.GL_BLEND);
                        OpenGlHelper.glBlendFunc(770, 771, 1, 0);
                        GL11.glColorMask(true, true, true, false);
                        Tessellator tessellator = Tessellator.instance;
                        tessellator.startDrawingQuads();
                        GL11.glDisable(GL11.GL_ALPHA_TEST);
                        byte b0 = 3;
                
                        for (int i = 0; i < b0; ++i)
                        {
                            tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F / (float)(i + 1));
                            int j = this.width;
                            int k = this.height;
                            float f1 = (float)(i - b0 / 2) / 256.0F;
                            tessellator.addVertexWithUV((double)j, (double)k, (double)this.zLevel, (double)(0.0F + f1), 1.0D);
                            tessellator.addVertexWithUV((double)j, 0.0D, (double)this.zLevel, (double)(1.0F + f1), 1.0D);
                            tessellator.addVertexWithUV(0.0D, 0.0D, (double)this.zLevel, (double)(1.0F + f1), 0.0D);
                            tessellator.addVertexWithUV(0.0D, (double)k, (double)this.zLevel, (double)(0.0F + f1), 0.0D);
                        }
                
                        tessellator.draw();
                        GL11.glEnable(GL11.GL_ALPHA_TEST);
                        GL11.glColorMask(true, true, true, true);
                    }
                
                    /**
                     * Renders the skybox in the main menu
                     */
                    private void renderSkybox(int p_73971_1_, int p_73971_2_, float p_73971_3_)
                    {
                        this.mc.getFramebuffer().unbindFramebuffer();
                        GL11.glViewport(0, 0, 256, 256);
                        this.drawPanorama(p_73971_1_, p_73971_2_, p_73971_3_);
                        this.rotateAndBlurSkybox(p_73971_3_);
                        this.rotateAndBlurSkybox(p_73971_3_);
                        this.rotateAndBlurSkybox(p_73971_3_);
                        this.rotateAndBlurSkybox(p_73971_3_);
                        this.rotateAndBlurSkybox(p_73971_3_);
                        this.rotateAndBlurSkybox(p_73971_3_);
                        this.rotateAndBlurSkybox(p_73971_3_);
                        this.mc.getFramebuffer().bindFramebuffer(true);
                        GL11.glViewport(0, 0, this.mc.displayWidth, this.mc.displayHeight);
                        Tessellator tessellator = Tessellator.instance;
                        tessellator.startDrawingQuads();
                        float f1 = this.width > this.height ? 120.0F / (float)this.width : 120.0F / (float)this.height;
                        float f2 = (float)this.height * f1 / 256.0F;
                        float f3 = (float)this.width * f1 / 256.0F;
                        tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F);
                        int k = this.width;
                        int l = this.height;
                        tessellator.addVertexWithUV(0.0D, (double)l, (double)this.zLevel, (double)(0.5F - f2), (double)(0.5F + f3));
                        tessellator.addVertexWithUV((double)k, (double)l, (double)this.zLevel, (double)(0.5F - f2), (double)(0.5F - f3));
                        tessellator.addVertexWithUV((double)k, 0.0D, (double)this.zLevel, (double)(0.5F + f2), (double)(0.5F - f3));
                        tessellator.addVertexWithUV(0.0D, 0.0D, (double)this.zLevel, (double)(0.5F + f2), (double)(0.5F + f3));
                        tessellator.draw();
                    }
                
                    /**
                     * Draws the screen and all the components in it.
                     */
                    public void drawScreen(int p_73863_1_, int p_73863_2_, float p_73863_3_)
                    {
                        GL11.glDisable(GL11.GL_ALPHA_TEST);
                        this.renderSkybox(p_73863_1_, p_73863_2_, p_73863_3_);
                        GL11.glEnable(GL11.GL_ALPHA_TEST);
                        Tessellator tessellator = Tessellator.instance;
                        short short1 = 274;
                        int k = this.width / 2 - short1 / 2;
                        byte b0 = 30;
                        this.drawGradientRect(0, 0, this.width, this.height, -2130706433, 16777215);
                        this.drawGradientRect(0, 0, this.width, this.height, 0, Integer.MIN_VALUE);
                        this.mc.getTextureManager().bindTexture(minecraftTitleTextures);
                        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                
                        if ((double)this.updateCounter < 1.0E-4D)
                        {
                            this.drawTexturedModalRect(k + 0, b0 + 0, 0, 0, 99, 44);
                            this.drawTexturedModalRect(k + 99, b0 + 0, 129, 0, 27, 44);
                            this.drawTexturedModalRect(k + 99 + 26, b0 + 0, 126, 0, 3, 44);
                            this.drawTexturedModalRect(k + 99 + 26 + 3, b0 + 0, 99, 0, 26, 44);
                            this.drawTexturedModalRect(k + 155, b0 + 0, 0, 45, 155, 44);
                        }
                        else
                        {
                            this.drawTexturedModalRect(k + 0, b0 + 0, 0, 0, 155, 44);
                            this.drawTexturedModalRect(k + 155, b0 + 0, 0, 45, 155, 44);
                        }
                
                        tessellator.setColorOpaque_I(-1);
                        GL11.glPushMatrix();
                        GL11.glTranslatef((float)(this.width / 2 + 90), 70.0F, 0.0F);
                        GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F);
                        float f1 = 1.8F - MathHelper.abs(MathHelper.sin((float)(Minecraft.getSystemTime() % 1000L) / 1000.0F * (float)Math.PI * 2.0F) * 0.1F);
                        f1 = f1 * 100.0F / (float)(this.fontRendererObj.getStringWidth(this.splashText) + 32);
                        GL11.glScalef(f1, f1, f1);
                        this.drawCenteredString(this.fontRendererObj, this.splashText, 0, -8, -256);
                        GL11.glPopMatrix();
                        String s = "Minecraft 1.7.10";
                
                        if (this.mc.isDemo())
                        {
                            s = s + " Demo";
                        }
                
                        List <string>brandings = Lists.reverse(FMLCommonHandler.instance().getBrandings(true));
                        for (int i = 0; i < brandings.size(); i++)
                        {
                            String brd = brandings.get(i);
                            if (!Strings.isNullOrEmpty(brd))
                            {
                                this.drawString(this.fontRendererObj, brd, 2, this.height - ( 10 + i * (this.fontRendererObj.FONT_HEIGHT + 1)), 16777215);
                            }
                        }
                        ForgeHooksClient.renderMainMenu(this, fontRendererObj, width, height);
                        String s1 = "Copyright Mojang AB. Do not distribute!";
                        this.drawString(this.fontRendererObj, s1, this.width - this.fontRendererObj.getStringWidth(s1) - 2, this.height - 10, -1);
                
                        if (this.field_92025_p != null && this.field_92025_p.length() > 0)
                        {
                            drawRect(this.field_92022_t - 2, this.field_92021_u - 2, this.field_92020_v + 2, this.field_92019_w - 1, 1428160512);
                            this.drawString(this.fontRendererObj, this.field_92025_p, this.field_92022_t, this.field_92021_u, -1);
                            this.drawString(this.fontRendererObj, this.field_146972_A, (this.width - this.field_92024_r) / 2, ((GuiButton)this.buttonList.get(0)).yPosition - 12, -1);
                        }
                
                        super.drawScreen(p_73863_1_, p_73863_2_, p_73863_3_);
                    }
                
                    /**
                     * Called when the mouse is clicked.
                     */
                    protected void mouseClicked(int p_73864_1_, int p_73864_2_, int p_73864_3_)
                    {
                        super.mouseClicked(p_73864_1_, p_73864_2_, p_73864_3_);
                        Object object = this.field_104025_t;
                
                        synchronized (this.field_104025_t)
                        {
                            if (this.field_92025_p.length() > 0 && p_73864_1_ >= this.field_92022_t && p_73864_1_ <= this.field_92020_v && p_73864_2_ >= this.field_92021_u && p_73864_2_ <= this.field_92019_w)
                            {
                                GuiConfirmOpenLink guiconfirmopenlink = new GuiConfirmOpenLink(this, this.field_104024_v, 13, true);
                                guiconfirmopenlink.func_146358_g();
                                this.mc.displayGuiScreen(guiconfirmopenlink);
                            }
                        }
                    }
                
                    @SubscribeEvent
                  public void onInitGuiEven(InitGuiEvent.Post event)
                     {
                  if (event.gui instanceof GuiMainMenu) { // On regarde si le gui est bien le menu principal
                  for (Object b : event.buttonList) { // On parcourt la liste des boutons
                  if (((GuiButton) b).id == 2) { // Si c'est le bouton "Minecraft Realms" (qui a l'ID 14)
                  ((GuiButton) b).visible = false; // On ne l'affiche plus
                  }
                  if (((GuiButton) b).id == 1) { // Si c'est le bouton "Minecraft Realms" (qui a l'ID 14)
                  ((GuiButton) b).visible = false; // On ne l'affiche plus
                  }
                  if (((GuiButton) b).id == 6) { // Si c'est le bouton "Minecraft Realms" (qui a l'ID 14)
                  ((GuiButton) b).visible = false; // On ne l'affiche plus
                  }
                  if (((GuiButton) b).id == 5) { // Si c'est le bouton "Minecraft Realms" (qui a l'ID 14)
                  ((GuiButton) b).visible = false; // On ne l'affiche plus
                  }
                  if (((GuiButton) b).id == 0) { // Si c'est le bouton "Minecraft Realms" (qui a l'ID 14)
                  ((GuiButton) b).visible = false; // On ne l'affiche plus
                  }
                
                  if (((GuiButton) b).id == 4) { // Si c'est le bouton "Minecraft Realms" (qui a l'ID 14)
                  ((GuiButton) b).visible = false; // On ne l'affiche plus
                  }
                
                  }
                
                  }
                  }
                
                    @SubscribeEvent
                public void onInitGuiEvent(InitGuiEvent.Post event)
                    {
                if (event.gui instanceof GuiMainMenu) { 
                for (Object b : event.buttonList) {
                if (((GuiButton) b).id == 14) {
                ((GuiButton) b).visible = false; 
                }
                }
                int i = event.gui.height / 6 + 30; 
                event.buttonList.add(new GuiButton(60, event.gui.width / 2 - 100, i + 24 * 2, 175, 20, "Rejoindre le serveur") { 
                
                });
                int ia = event.gui.height /2 + 15;
                event.buttonList.add(new GuiButton(32, event.gui.width /  2 - 55, ia + 24 * 2, 100, 20, "Site internet") { 
                
                });
                int iq = event.gui.height / 2 + 15; 
                event.buttonList.add(new GuiButton(33, event.gui.width / 1 - 154, iq + 24 * 2, 50, 20, "Youtube") { 
                
                });
                int iqs = event.gui.height / 2 + 15; 
                event.buttonList.add(new GuiButton(34, event.gui.width / 3 - 45, iqs + 24 * 2, 50, 20, "Twitter") { 
                
                });
                int ib = event.gui.height / 3 + 25;
                event.buttonList.add(new GuiButton(30, event.gui.width / 2 - 80, ib + 24 * 2, 150, 20,( "Teamspeak")) { 
                @Override
                public void mouseReleased(int x, int y) { 
                if (Desktop.isDesktopSupported()) { 
                try {
                Desktop.getDesktop().browse(new URI("ts3server://ts.enderdeath.fr?port=9987"));
                } catch (Exception e) {
                
                }
                }
                }
                
                });
                
                }
                }
                
                    @SubscribeEvent
                  public void onActionPerformedA(ActionPerformedEvent.Pre event) {
                  if (event.gui instanceof GuiOptions && event.button.id == 104) event.setCanceled(true); 
                
                    }
                
                @SubscribeEvent
                public void onActionPerformed(ActionPerformedEvent.Pre event)
                {
                if (event.gui instanceof GuiMainMenu)
                {
                    if(event.button.id == 32)
                    {
                         try {
                Desktop.getDesktop().browse(new URI("http://www.minecraftforgefrance.fr/"));
                         }
                 catch(Throwable throwable)
                       {
                           logger.error("Couldn\'t open link", throwable);
                       }
                    }
                    else if(event.button.id == 60)
                    {
                    FMLClientHandler.instance().connectToServerAtStartup("62.210.62.194",10048);
                       ;
                    }
                }
                
                }
                }
                
                

                tien ^^</string>

                Voila ma signature

                1 réponse Dernière réponse Répondre Citer 0
                • DeletedD Hors-ligne
                  Deleted
                  dernière édition par

                  Vire tous les events à la fin de ta classe, ils ne te servent à rien. Et puis clean un peu la classe de ton menu, exemple, tu n’as pas besoin du Calendar (sert pour texte en jaune),. Sa sera déjà un peu plus lisible x)

                  Après dans ta méthode onInitGuiEvent, tous les boutons que tu rajoutes, vu que je t’ai demandé de virer tous tes events, tous ces boutons rajoutés, remets les dans la fonction initGui de ton menu.
                  Pour le reste, je verrai ça demain 😃

                  1 réponse Dernière réponse Répondre Citer 1
                  • leo01418L Hors-ligne
                    leo01418
                    dernière édition par

                    Je sais pas pourquoi mais sa marche  🙂

                    Merci beaucoup

                    Voila ma signature

                    1 réponse Dernière réponse Répondre Citer 0
                    • DeletedD Hors-ligne
                      Deleted
                      dernière édition par

                      Balise résolue 🙂 ?

                      1 réponse Dernière réponse Répondre Citer 0
                      • leo01418L Hors-ligne
                        leo01418
                        dernière édition par

                        Oui Merci beaucoup  🙂

                        Voila ma signature

                        1 réponse Dernière réponse Répondre Citer 0
                        • 1 / 1
                        • Premier message
                          Dernier message
                        Design by Woryk
                        ContactMentions Légales

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB