SOLVED Crash menu personnalisé


  • Salut, j’ai un petit problème sur mon menu personnalisé : Quand je le test il crash voilà le code et les logs  :

    package fr.minecraftforgefrance.client.custommenu;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.lang.reflect.InvocationTargetException;
    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.GuiButton;
    import net.minecraft.client.gui.GuiButtonLanguage;
    import net.minecraft.client.gui.GuiConfirmOpenLink;
    import net.minecraft.client.gui.GuiLanguage;
    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.renderer.OpenGlHelper;
    import net.minecraft.client.renderer.Tessellator;
    import net.minecraft.client.renderer.texture.DynamicTexture;
    import net.minecraft.client.resources.I18n;
    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.ForgeHooksClient;
    
    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.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    
    @SideOnly(Side.CLIENT)
    public class GuiCustomMainMenu extends GuiScreen 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("slidefight","textures/gui/mclogo.png");
       /** An array of all the paths to the panorama pictures. */
       private static final ResourceLocation[] titlePanoramaPaths = new ResourceLocation[] {new ResourceLocation("slidefight","textures/gui/panorama.png"), new ResourceLocation("slidefight","textures/gui/panorama.png"), new ResourceLocation("slidefight","textures/gui/panorama.png"), new ResourceLocation("slidefight","textures/gui/panorama.png"), new ResourceLocation("slidefight","textures/gui/panorama.png"), new ResourceLocation("slidefight","textures/gui/panorama.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 GuiCustomMainMenu()
       {
           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!";
           }
           else if(calendar.get(2) + 1 == 7 && calendar.get(5) == 6)
           {
               this.splashText = "Joyeux anniversaire Zedokf_DrM !";
           }
    
           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("Options", new Object[0])));
           this.buttonList.add(new GuiButton(4, this.width / 2 + 2, i + 72 + 12, 98, 20, I18n.format("Quitter", new Object[0])));
           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 x, int y)
       {
           this.buttonList.add(new GuiButton(1, this.width / 2 - 100, x, 98, 20, I18n.format("Site")));
           this.buttonList.add(new GuiButton(2, this.width / 2 + 2, x + 0, 98, 20, I18n.format("Forum")));
           this.buttonList.add(new GuiButton(20, this.width / 2 - 100, x + y * 1, "Jouer sur SlideFight"));
           GuiButton webSiteButton = new GuiButton(21, this.width / 2 - 100, x + y * 2, "Vote");
           GuiButton fmlModButton = new GuiButton(6, this.width / 2 - 100, x + y * 2, "TS3");
           fmlModButton.xPosition = this.width / 2 + 2;
           webSiteButton.width = 98;
           fmlModButton.width = 98;
           this.buttonList.add(webSiteButton);
           this.buttonList.add(fmlModButton);
       }
    
       /**
        * Adds Demo buttons on Main Menu for players who are playing Demo.
        */
       private void addDemoButtons(int x, int y)
       {
           this.buttonList.add(new GuiButton(11, this.width / 2 - 100, x, I18n.format("menu.playdemo", new Object[0])));
           this.buttonList.add(this.buttonResetDemo = new GuiButton(12, this.width / 2 - 100, x + y * 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 button)
       {
           if(button.id == 0)
           {
               this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
           }
    
           if(button.id == 5)
           {
               this.mc.displayGuiScreen(new GuiLanguage(this, this.mc.gameSettings, this.mc.getLanguageManager()));
           }
    
           if(button.id == 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("http://www.slidefight.fr/")});
               }
               catch(Throwable throwable)
               {
                   logger.error("Couldn\'t open link", throwable);
               }
           }
    
           if(button.id == 2)
           {
               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("http://www.slidefight.fr/forum.php")});
               }
               catch(Throwable throwable)
               {
                   logger.error("Couldn\'t open link", throwable);
               }
           }
    
           if(button.id == 4)
           {
               this.mc.shutdown();
           }
    
           if(button.id == 6)
           {
               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("ts3server://91.121.253.196?port=")});
               }
               catch(Throwable throwable)
               {
                   logger.error("Couldn\'t open link", throwable);
               }
           }
    
           if(button.id == 11)
           {
               this.mc.launchIntegratedServer("Demo_World", "Demo_World", DemoWorldServer.demoWorldSettings);
           }
    
           if(button.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);
               }
           }
    
           if(button.id == 20)
           {
               // TODO pour la connexion au serveur
               FMLClientHandler.instance().connectToServerAtStartup("62.210.45.98", 10184); // ip, port
           }
    
           if(button.id == 21)
           {
               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("http://www.slidefight.fr/vote.php")});
               }
               catch(Throwable throwable)
               {
                   logger.error("Couldn\'t open link", throwable);
               }
           }
       }
    
       public void confirmClicked(boolean p_73878_1_, int id)
       {
           if(p_73878_1_ && id == 12)
           {
               ISaveFormat isaveformat = this.mc.getSaveLoader();
               isaveformat.flushCache();
               isaveformat.deleteWorldDirectory("Demo_World");
               this.mc.displayGuiScreen(this);
           }
           else if(id == 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 x, int y, float partialTick)
       {
           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 + partialTick) / 400.0F) * 25.0F + 20.0F, 1.0F, 0.0F, 0.0F);
               GL11.glRotatef(-((float)this.panoramaTimer + partialTick) * 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 partialTick)
       {
           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 x, int y, float partialTick)
       {
           this.mc.getFramebuffer().unbindFramebuffer();
           GL11.glViewport(0, 0, 256, 256);
           this.drawPanorama(x, y, partialTick);
           this.rotateAndBlurSkybox(partialTick);
           this.rotateAndBlurSkybox(partialTick);
           this.rotateAndBlurSkybox(partialTick);
           this.rotateAndBlurSkybox(partialTick);
           this.rotateAndBlurSkybox(partialTick);
           this.rotateAndBlurSkybox(partialTick);
           this.rotateAndBlurSkybox(partialTick);
           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 x, int y, float partialTick)
       {
           GL11.glDisable(GL11.GL_ALPHA_TEST);
           this.renderSkybox(x, y, partialTick);
           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);
           }
    
           String s1 = "Menu par Zedokf_DrM";
           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(x, y, partialTick);
       }
    
       /**
        * 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);
               }
           }
       }
    }
    

    :::
    –-- Minecraft Crash Report ----
    // Ouch. That hurt 😞

    Time: 10/04/15 18:00
    Description: Initializing game

    java.lang.IllegalArgumentException: Multiple entries with same key: custommenu=FMLMod:custommenu{1.0} and custommenu=FMLMod:custommenu{1.0}
    at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:150)
    at com.google.common.collect.RegularImmutableMap.checkNoConflictInBucket(RegularImmutableMap.java:104)
    at com.google.common.collect.RegularImmutableMap.<init>(RegularImmutableMap.java:70)
    at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:254)
    at com.google.common.collect.Maps.uniqueIndex(Maps.java:1166)
    at com.google.common.collect.Maps.uniqueIndex(Maps.java:1140)
    at cpw.mods.fml.common.Loader.identifyMods(Loader.java:349)
    at cpw.mods.fml.common.Loader.loadMods(Loader.java:468)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)
    at net.minecraft.client.Minecraft.run(Minecraft.java:931)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)

    A detailed walkthrough of the error, its code path and all known details is as follows:

    – Head –
    Stacktrace:
    at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:150)
    at com.google.common.collect.RegularImmutableMap.checkNoConflictInBucket(RegularImmutableMap.java:104)
    at com.google.common.collect.RegularImmutableMap.<init>(RegularImmutableMap.java:70)
    at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:254)
    at com.google.common.collect.Maps.uniqueIndex(Maps.java:1166)
    at com.google.common.collect.Maps.uniqueIndex(Maps.java:1140)
    at cpw.mods.fml.common.Loader.identifyMods(Loader.java:349)
    at cpw.mods.fml.common.Loader.loadMods(Loader.java:468)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)

    – Initialization –
    Details:
    Stacktrace:
    at net.minecraft.client.Minecraft.run(Minecraft.java:931)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)

    – System Details –
    Details:
    Minecraft Version: 1.7.10
    Operating System: Windows 8.1 (amd64) version 6.3
    Java Version: 1.8.0_40, Oracle Corporation
    Java VM Version: Java HotSpot™ 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 895278744 bytes (853 MB) / 1056309248 bytes (1007 MB) up to 1056309248 bytes (1007 MB)
    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP v9.05 FML v7.10.97.1343 Minecraft Forge 10.13.2.1343 5 mods loaded, 0 mods active
    mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
    FML{7.10.97.1343} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.2.1343-1.7.10.jar)
    Forge{10.13.2.1343} [Minecraft Forge] (forgeSrc-1.7.10-10.13.2.1343-1.7.10.jar)
    custommenu{1.0} [SlideFight Menu] (bin)
    custommenu{1.0} [SlideFight Menu] (bin)
    Launched Version: 1.7.10
    LWJGL: 2.9.1
    OpenGL: AMD Radeon HD 8210 GL version 4.3.12615 Compatibility Profile Context 13.250.31.0, ATI Technologies Inc.
    GL Caps: Using GL 1.3 multitexturing.
    Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
    Anisotropic filtering is supported and maximum anisotropy is 16.
    Shaders are available because OpenGL 2.1 is supported.

    Is Modded: Definitely; Client brand changed to ‘fml,forge’
    Type: Client (map_client.txt)
    Resource Packs: []
    Current Language: English (UK)
    Profiler Position: N/A (disabled)
    Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    Anisotropic Filtering: Off (1)
    :::</init></init>

  • Modérateurs

    On dirait que tu as deux fois le même mod chargé dans le jeu… Bizarre… Envoie un screenshot de ton hiérarchie de fichiers, ça peut nous aider.
    Aussi, comment fais-tu pour lancer le mod ?


  • Envoie un screenshot de ton hiérarchie de fichiers

    Comment faire ?
    Pour lancer mon mod je clique sur “Run Client” d’eclipse


  • Effectivement j’avais un dossier mal placé qui devais gêner donc je l’ai supprimé mais cela crash toujours voici les logs : ```
    –-- Minecraft Crash Report ----
    // Everything’s going to plan. No, really, that was supposed to happen.

    Time: 10/04/15 18:38
    Description: Initializing game

    java.lang.IllegalArgumentException: Multiple entries with same key: custommenu=FMLMod:custommenu{1.0} and custommenu=FMLMod:custommenu{1.0}
    at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:150)
    at com.google.common.collect.RegularImmutableMap.checkNoConflictInBucket(RegularImmutableMap.java:104)
    at com.google.common.collect.RegularImmutableMap.<init>(RegularImmutableMap.java:70)
    at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:254)
    at com.google.common.collect.Maps.uniqueIndex(Maps.java:1166)
    at com.google.common.collect.Maps.uniqueIndex(Maps.java:1140)
    at cpw.mods.fml.common.Loader.identifyMods(Loader.java:349)
    at cpw.mods.fml.common.Loader.loadMods(Loader.java:468)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)
    at net.minecraft.client.Minecraft.run(Minecraft.java:931)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)

    A detailed walkthrough of the error, its code path and all known details is as follows:

    – Head –
    Stacktrace:
    at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:150)
    at com.google.common.collect.RegularImmutableMap.checkNoConflictInBucket(RegularImmutableMap.java:104)
    at com.google.common.collect.RegularImmutableMap.<init>(RegularImmutableMap.java:70)
    at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:254)
    at com.google.common.collect.Maps.uniqueIndex(Maps.java:1166)
    at com.google.common.collect.Maps.uniqueIndex(Maps.java:1140)
    at cpw.mods.fml.common.Loader.identifyMods(Loader.java:349)
    at cpw.mods.fml.common.Loader.loadMods(Loader.java:468)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)

    – Initialization –
    Details:
    Stacktrace:
    at net.minecraft.client.Minecraft.run(Minecraft.java:931)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)

    – System Details –
    Details:
    Minecraft Version: 1.7.10
    Operating System: Windows 8.1 (amd64) version 6.3
    Java Version: 1.8.0_40, Oracle Corporation
    Java VM Version: Java HotSpot™ 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 899021488 bytes (857 MB) / 1056309248 bytes (1007 MB) up to 1056309248 bytes (1007 MB)
    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP v9.05 FML v7.10.97.1343 Minecraft Forge 10.13.2.1343 5 mods loaded, 0 mods active
    mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
    FML{7.10.97.1343} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.2.1343-1.7.10.jar)
    Forge{10.13.2.1343} [Minecraft Forge] (forgeSrc-1.7.10-10.13.2.1343-1.7.10.jar)
    custommenu{1.0} [SlideFight Menu] (bin)
    custommenu{1.0} [SlideFight Menu] (bin)
    Launched Version: 1.7.10
    LWJGL: 2.9.1
    OpenGL: AMD Radeon HD 8210 GL version 4.3.12615 Compatibility Profile Context 13.250.31.0, ATI Technologies Inc.
    GL Caps: Using GL 1.3 multitexturing.
    Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
    Anisotropic filtering is supported and maximum anisotropy is 16.
    Shaders are available because OpenGL 2.1 is supported.

    Is Modded: Definitely; Client brand changed to ‘fml,forge’
    Type: Client (map_client.txt)
    Resource Packs: []
    Current Language: English (UK)
    Profiler Position: N/A (disabled)
    Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    Anisotropic Filtering: Off (1)

  • Administrateurs Rédacteurs Moddeurs confirmés

    Tu as deux fois le mod installé, je ne sais pas comment tu as fait ça …
    Envoie tous tes fichiers .java


  • Ou je trouve les .java ?


  • Oui effectivement j’ai fait une mauvaise manipulation c’est de ma faute
    Comment mettre ce sujet en résolu ?


  • Tu édites ton premier message et tu change de préfixe.