Minecraft 1.6.4 MCP 811 BUG + Main menu custom



  • Bonjour voilà ,  j'ai décompiler mon minecraft forge 1.6.4 , avec MCP pour coder mon propre gui main menu mais il m'affiche cette erreur lors de la décompilation , je ne comprends pas , :x

    Merci à vous ! 
    J'utilise MCP 1.6.4 811



  • Tu n'as normalement pas besoin de passer par MCP pour avoir les sources de forge. Essaie la même manip que celle que l'on fait aujourd’hui sur le fofo avec la 1.8 & 1.7.10 mais en prenant la 1.6.4 et regarde ce qu'il en est 🙂


  • Administrateurs

    De 1 qu'est-ce que cette discussion faisait dans la catégorie cauldron ?
    Et de 2, pourquoi vouloir faire un mod pour une version obsolète … ?



  • Oh désolé j'ai cru avoir crée la conversation dans aide , 
    Je t'éxplique 
    [font='Helvetica Neue', Helvetica, Arial, sans-serifAvant ca -]

    [font='Helvetica Neue', Helvetica, Arial, sans-serifJ'ai décidé de modder le ***guimainmenu *]**que je fais télécharger et lancer a mon launcher , malheureusement , lorsqu'il se lance après l'avoir modder , tout ne marche plus j'ai une grosse erreur j'ai chercher , mais je n'ai pas compris certaines ,explications , voici mon erreur 
    [font='Helvetica Neue', Helvetica, Arial, sans-serifINFORMATION :]
    [font='Helvetica Neue', Helvetica, Arial, sans-serifj'utilise des mods forge , mais pour essayer de voir si ca ne venait pas des mods j'ai supprimer tout les mods ! Toujours la même erreur]
    [font='Helvetica Neue', Helvetica, Arial, sans-serifAprès avoir decompiler mon minecraft.jar et avoir fini son guimainmenu , je l'ai exporter en .jar et je l'ai deplacer dans mon files en remplacent l'ancien minecraft.jar par le nouveau , depuis ce moment rien ne marche , c'est la seul chose que j'ai déplacer cela pourrait peut-être venir d'un fait que je n'ai pas mis de libs en plus ou d'assets , je ne sais pas ! JE VOUS REMERCIE JE VOUS AIME [/font]]

    :::

    :::

    Malheuresement quand je fesait load ce minecraft.jar modifier depuis mon launcher , ca m'afficher cette erreur ;
    C'pour cela que j'ai décidé de passer en 1.6.4 car apparement depuis la 1.7.9 forge n'accepte plus les minecraft.jar modifié , je me suis dit go test pour la 1.7.2 quand je telecharge l'installer de forge 1.7.2 et que je lance mon minecraft rien , n'apparait , xD du coup j'ai test + bas 1.6.4 Ca marche et boom là erreur de décompilation ! 😞
    :::

    [font=monospace, monospace[]OpenLauncherLib] Launching Minecraft
    [OpenLauncherLib] Successfully%(#000000)[ launched
    ][22:35:37] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
    [22:35:37] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
    [22:35:37] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
    [22:35:37] [main/INFO] [FML]: Forge Mod Loader version 7.99.16.1448 for Minecraft 1.7.10%(#000000)[ loading
    ][22:35:37] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_60, running on Windows 7:amd64:6.1, installed at F:\Program Files\Java\jre1.8.0%(#000000)[_60
    ][22:35:37] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping%(#000000)[ runtime deobfuscation
    ][22:35:37] [main/INFO] [FML]: Loading tweaker net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer from legacyjavafixer-1.0.%(#000000)[jar
    ][22:35:37] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
    [22:35:37] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer
    [22:35:37] [main/INFO] [FML]: [LegacyJavaFixer] Tweaker: cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker@7e2d773b
    [22:35:37] [main/INFO] [FML]: [LegacyJavaFixer] Replacing tweaker cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker@7e2d773b with net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer$SortReplacement@2173f6d9
    [22:35:37] [main/INFO] [FML]: [LegacyJavaFixer] Tweaker: FMLCorePlugin {[}]
    [22:35:37] [main/INFO] [FML]: [LegacyJavaFixer] Tweaker: FMLForgePlugin {[}]
    [22:35:37] [main/INFO] [FML]: [LegacyJavaFixer] Tweaker: cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker@7e2d773b
    [22:35:37] [main/INFO] [FML]: [LegacyJavaFixer] Replacing tweaker cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker@7e2d773b with net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer$SortReplacement@2173f6d9
    [22:35:37] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
    [22:35:37] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer$SortReplacement
    [22:35:37] [main/INFO] [FML]: [LegacyJavaFixer] Replacing%(#000000)[ sort
    ][22:35:37] [main/INFO] [FML]: [LegacyJavaFixer] Detected TerminalTweaker
    [22:35:37] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer$SortReplacement
    [22:35:37] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer
    [22:35:37] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
    [22:35:37] [main/ERROR] [LaunchWrapper]: Unable%(#000000)[ to launch
    java].lang.RuntimeException: java.lang.NullPointerException%(#000000)[
    at cpw].mods.fml.relauncher.CoreModManager$FMLPluginWrapper.injectIntoClassLoader(CoreModManager.java:130) ~[forge-1.7.10-10.13.4.1448-1.7.10.jar:?]%(#000000)[
    at net].minecraft.launchwrapper.Launch.launch(Launch.java:115) [launchwrapper-1.11.jar:?]%(#000000)[
    at net].minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
    Caused by: java.lang.NullPointerException%(#000000)[
    at com].google.common.base.Preconditions.checkNotNull(Preconditions.java:213) ~[guava-17.0.jar:?]%(#000000)[
    at com].google.common.hash.AbstractByteHasher.putBytes(AbstractByteHasher.java:69) ~[guava-17.0.jar:?]%(#000000)[
    at com].google.common.hash.AbstractStreamingHashFunction.hashBytes(AbstractStreamingHashFunction.java:57) ~[guava-17.0.jar:?]%(#000000)[
    at cpw].mods.fml.common.patcher.ClassPatchManager.applyPatch(ClassPatchManager.java:97) ~[forge-1.7.10-10.13.4.1448-1.7.10.jar:?]%(#000000)[
    at cpw].mods.fml.common.patcher.ClassPatchManager.getPatchedResource(ClassPatchManager.java:61) ~[forge-1.7.10-10.13.4.1448-1.7.10.jar:?]%(#000000)[
    at cpw].mods.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.getFieldType(FMLDeobfuscatingRemapper.java:193) ~[forge-1.7.10-10.13.4.1448-1.7.10.jar:?]%(#000000)[
    at cpw].mods.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.parseField(FMLDeobfuscatingRemapper.java:170) ~[forge-1.7.10-10.13.4.1448-1.7.10.jar:?]%(#000000)[
    at cpw].mods.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.setup(FMLDeobfuscatingRemapper.java:139) ~[forge-1.7.10-10.13.4.1448-1.7.10.jar:?]%(#000000)[
    at cpw].mods.fml.common.asm.FMLSanityChecker.injectData(FMLSanityChecker.java:182) ~[forge-1.7.10-10.13.4.1448-1.7.10.jar:?]%(#000000)[
    at cpw].mods.fml.relauncher.CoreModManager$FMLPluginWrapper.injectIntoClassLoader(CoreModManager.java:125) ~[forge-1.7.10-10.13.4.1448-1.7.10.jar:?]
     2 more
    

    :::


  • Administrateurs

    Il n'a jamais été conseillé de modifier les classes de Minecraft. Ça cause de trop problème de compatibilité.
    Et il est possible de changer le menu de Minecraft sans modifier directement la classe GuiMainMenu, en faisant un vrai mod et c'est beaucoup plus propre ainsi.



  • @'robin4002':

    Il n'a jamais été conseillé de modifier les classes de Minecraft. Ça cause de trop problème de compatibilité.
    Et il est possible de changer le menu de Minecraft sans modifier directement la classe GuiMainMenu, en faisant un vrai mod et c'est beaucoup plus propre ainsi.

    Cela ne serrait pas trop complexe pour moi un peut debutant de le faire ? 
    j'aimerai juste , avoir mon Launcher qui va loader des mods , et un bouton ayant une ecriture en couleurs , avec une ip , de serveur qui nous connecte directement au serveur !


  • Administrateurs

    Étant donné le fort nombre de demande pour faire un menu custom, ça fait un moment que j'ai créé un petit pack disponible ici : http://dl.mcnanotech.fr/robin4002/mods/Sources/
    Et c'est loin d'être compliqué.



  • Tu pourrais m'envoyer le lien du tutoriel pour décompiler mon 1.7.10 forge autre que MCP , comme on m'a dit plus haut

    merci encore je test ca desuite 😉


  • Administrateurs



  • [font=ArialJ'ai reussi à télécharger et à faire ce que tu m'as dit , mais je ne comprends pas pourquoi ici , mon logo prends mon background , comme étant un logo , alors que le backgrund s'affiche bien , voici le bug : ]

    :::

    :::

    Voici mon code :

    :::

    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 final ResourceLocation backGround = new ResourceLocation("modid", "textures/gui/client_background.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!";
            }
    
            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 x, int y)
        {
            this.buttonList.add(new GuiButton(1, this.width / 2 - 100, x, 98, 20, I18n.format("menu.singleplayer")));
            this.buttonList.add(new GuiButton(2, this.width / 2 + 2, x + 0, 98, 20, I18n.format("menu.multiplayer")));
            this.buttonList.add(new GuiButton(20, this.width / 2 - 100, x + y * 1, "Buuton serveur"));
            GuiButton webSiteButton = new GuiButton(21, this.width / 2 - 100, x + y * 2, "Bouton site");
            GuiButton fmlModButton = new GuiButton(6, this.width / 2 - 100, x + y * 2, "Mods");
            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)
            {
                this.mc.displayGuiScreen(new GuiSelectWorld(this));
            }
    
            if(button.id == 2)
            {
                this.mc.displayGuiScreen(new GuiMultiplayer(this));
            }
    
            if(button.id == 4)
            {
                this.mc.shutdown();
            }
    
            if(button.id == 6)
            {
                this.mc.displayGuiScreen(new GuiModList(this));
            }
    
            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("ip du serveur", 25565); // 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.minecraftforgefrance.fr")});
                }
                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 renderBackGround()
        {
            GL11.glViewport(0, 0, 256, 256);
            this.mc.getTextureManager().bindTexture(backGround); 
            GL11.glDisable(GL11.GL_TEXTURE_2D);
            GL11.glEnable(GL11.GL_TEXTURE_2D);
            GL11.glViewport(0, 0, this.mc.displayWidth, this.mc.displayHeight);
            Tessellator tessellator = Tessellator.instance;
            tessellator.startDrawingQuads();
            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);
            tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F);
            int k = this.width;
            int l = this.height;
            tessellator.addVertexWithUV(0, 0, this.zLevel, 0, 0);
            tessellator.addVertexWithUV(0, l, this.zLevel, 0, 1);
            tessellator.addVertexWithUV(k, l, this.zLevel, 1, 1);
            tessellator.addVertexWithUV(k, 0, this.zLevel, 1, 0);
            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.renderBackGround();
            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);
    
            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);
                }
            }
            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(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);
                }
            }
        }
    }
    

    :::

    Et de plus tu sais comment faire disparaitre , le Minecraft 1.7.10 MCP etc.. Les données de mods en bas ,  et surtout Merci :</string>



  • 1-Il y a un tuto (fait par moi) sur le forum pour faire çà plus simplement
    2-il faut nous dire où ont été fait les changements
    3-nous ne te dirons certainement pas comment enlever les crédits, c'est un manque de respect pour forge de faire çà



  • Merci de ta réponse mais dans ton tutoriel tu n'éxpliques pas le fonctionnement du logo Minecrafttiletextures



  • Quel est le logo "Minecrafttiletextures" ?



  • Ca ici



  • C'est une simple image, un drawTextureModalRect devrait suffire pour la dessinée.



  • Vire ces lignes là pour le bug de logo
    this.drawGradientRect(0, 0, this.width, this.height, -2130706433, 16777215);
    this.drawGradientRect(0, 0, this.width, this.height, 0, Integer.MIN_VALUE);

    Et pour les données à faire disparaître, il faut un peu toucher à tout dans la méthode drawScreen, ce n'est pas compliqué…



  • Merci ca m'a bien enlever le fond opaque mais pas réglé le problème du logo vide alors que je n'en veux pas ;:( http://prntscr.com/8u2ho1



  • Je n'ai pas testé mais essaie de virer ça aussi

    
    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);
    }
    
    

    Le mieux selon moi serait que tu repartes de zéro, car là ta classe est un résidu de GuiMainMenu et plein de choses ne te servent à rien. Mets-toi en debug dans eclipse et vire certaines lignes, teste et tu verras bien par toi même ce qui cause ton problème 😃



  • Merci frere 🙂 Je vais faire ca bonne idée ! Comme ca je comprendrai :=



  • N'oublie pas la balise résolue 🙂