MFF

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

    Main menu custom info serveur

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    53 Messages 6 Publieurs 14.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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      La question a déjà été posé : http://www.minecraftforgefrance.fr/showthread.php?tid=1757&pid=20462#pid20462
      Et la solution est sur ironcraft : http://forum.ironcraft.fr/index.php/topic/5729-aide-box-informations-du-serveur-guicustommainmenu-forge/

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

        Merci bien.

        EDIT: J’ai donc tout suivi à la lettre sauf que mon bouton n’apparait pas.

        Mes modifications:

        Dans la classe du GuiMainMenuCustom

        
        private ApiInfo info;
        
        public void initGui()
        {
        
        this.info = new ApiInfo("play.minefus.fr.25565");
        this.info.getInfo();
        }
        
        public void drawScreen(int x, int y, float partialTick)
        {
        int a = 10;
        
        this.info.drawIcon(this.width / 2 - 100 + a, 60 + y + a + 20);
        
        this.drawString(this.fontRendererObj, this.info.getMOTD(), 10, 20, 0xffffff);
        this.drawString(this.fontRendererObj, this.info.getIP(), 10, 30, 0xffffff);
        this.drawString(this.fontRendererObj, this.info.getVersion(), 10, 40, 0xffffff);
        this.drawString(this.fontRendererObj, String.valueOf(this.info.getAcceptTexture()), 10, 50, 0xffffff);
        this.drawString(this.fontRendererObj, String.valueOf(this.info.getPing()), 10, 60, 0xffffff);
        
        
        1 réponse Dernière réponse Répondre Citer 0
        • SnykerS Hors-ligne
          Snyker
          dernière édition par

          this.info = new ApiInfo("play.minefus.fr.25565");
          

          Ce serai pas plutot :

          this.info = new ApiInfo("play.minefus.fr:25565");
          

          Avec les deux points devant le port

          Aucune signature n'est disponible pour une barre chocolatée.

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

            iFuSion utilité de venir poster cela sur le forum alors que je viens de te dire a l’instant en vocal que ce n’était pas cela!

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

              @‘Degraduck’:

              Merci bien.

              EDIT: J’ai donc tout suivi à la lettre sauf que mon bouton n’apparait pas.

              Mes modifications:

              Dans la classe du GuiMainMenuCustom

              
              private ApiInfo info;
              
              public void initGui()
                 {
                 
                  this.info = new ApiInfo("play.minefus.fr.25565");
                  this.info.getInfo();
              }
              
              public void drawScreen(int x, int y, float partialTick)
                 {
                  int a = 10;
                 
                  this.info.drawIcon(this.width / 2 - 100 + a, 60 + y + a + 20);
                 
                  this.drawString(this.fontRendererObj, this.info.getMOTD(), 10,  20,  0xffffff);
                     this.drawString(this.fontRendererObj, this.info.getIP(), 10,  30,  0xffffff);
                     this.drawString(this.fontRendererObj, this.info.getVersion(), 10,  40,  0xffffff);
                     this.drawString(this.fontRendererObj, String.valueOf(this.info.getAcceptTexture()), 10,  50,  0xffffff);
                     this.drawString(this.fontRendererObj, String.valueOf(this.info.getPing()), 10,  60,  0xffffff);
              
              

              Sans la classe entière, on peut rien faire. (superbe rime)

              Site web contenant mes scripts : http://SCAREXgaming.github.io

              Pas de demandes de support par MP ni par skype SVP.
              Je n'accepte sur skype que l…

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

                La voilà```java
                package com.degraduck.minefusmainmenu.client;

                import java.awt.Desktop;
                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 GuiCustomMinefusMainMenu extends GuiScreen implements GuiYesNoCallback
                {
                private ApiInfo info;
                /** Declaration de l’instance de notre Api pour les informations du serveur*/
                private static final Logger logger = LogManager.getLogger();
                /** Le RNG utilisé par l’ écran du menu principal. /
                private static final Random rand = new Random();
                /
                * Compte le nombre de mises à jour d’écran. /
                private float updateCounter;
                /
                * Le message d’accueil . /
                private String splashText;
                private GuiButton buttonResetDemo;
                /
                * Minuterie utilisée pour faire tourner le panorama , augmente chaque tick. /
                private int panoramaTimer;
                /
                *

                • Texture alloué pour la fenêtre courante des panoramas de fond du menu principal.
                  /
                  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”);
                  /
                  * Un tableau de tous les chemins d’accès aux photos panoramiques. */
                  private static final ResourceLocation[] titlePanoramaPaths = new ResourceLocation[] {new ResourceLocation(“textures/gui/title/background/panorama_0.png”), new ResourceLocation(“textures/gui/title/background/panorama_1.png”), new ResourceLocation(“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 GuiCustomMinefusMainMenu()
                {
                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”;
                }
                }

                /**

                • Appelé par la boucle principale du jeu de mettre à jour l’écran.
                  */
                  public void updateScreen()
                  {
                  ++this.panoramaTimer;
                  }

                /**

                • Renvoie true si cette interface graphique devrait faire une pause le jeu quand il est affiché dans solo
                  */
                  public boolean doesGuiPauseGame()
                  {
                  return false;
                  }

                /**

                • Déclenché quand une clé est tapé . Ce est l’équivalent de KeyListener.keyTyped(KeyEvent e).
                  */
                  protected void keyTyped(char p_73869_1_, int p_73869_2_)
                  {}

                /**

                • Ajouts des boutons
                  */
                  public void initGui()
                  {
                  /*Initialisation de notre Gui/
                  this.info = new ApiInfo(“play.minefus.fr.25565”);
                  this.info.getInfo();

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

                /**

                • Ajoute monojoueur et le multijoueur boutons de menu principal pour les joueurs qui ont acheté le jeu .
                  */
                  private void addSingleplayerMultiplayerButtons(int x, int y)
                  {
                  int a = 10;

                this.buttonList.add(new GuiButton(1, this.width / 2 - 50, 108 + a, 98, 20, “\u00A77Singleplayer”));
                this.buttonList.add(new GuiButton(2, this.width / 2 - 50, 133 + a, 98, 20, “\u00A7fPuLse \u00A74Gaming”));
                this.buttonList.add(new GuiButton(20, this.width / 2 - 100, 60 + y + a, “\u00A7aServeur Minefus”));
                this.buttonList.add(new GuiButton(25, this.width / 2 - 100, 160 + a, 200, 20, “\u00A76Boutique”));
                GuiButton webSiteButton = new GuiButton(21, this.width / 2 - 200, 122 + a, 98, 20, " \u00A7bSite");
                GuiButton fmlModButton = new GuiButton(6, this.width / 2 - 200, 122 + a, 98, 20, “\u00A7cTeamspeak”);
                fmlModButton.xPosition = this.width / 2 + 100;
                webSiteButton.width = 98;
                fmlModButton.width = 98;
                this.buttonList.add(webSiteButton);
                this.buttonList.add(fmlModButton);

                }

                /**

                • Ajoute les boutons de démonstration dans le menu principal pour les joueurs qui jouent Démo .
                  */
                  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)
                {
                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://pulse-gaming.gg”)});
                }
                catch(Throwable throwable)
                {
                logger.error(“Couldn't open link”, throwable);
                }
                }

                if(button.id == 4)
                {
                this.mc.shutdown();
                }

                if(button.id == 6)
                {
                String ipts3 = “ts.minefus.fr”; // address serveur ts 3
                int portTs3 = 9987; //port ts 3 celui est par defaut
                URI uri = URI.create(“ts3server://”+ ipts3 +“?port=”+ portTs3);
                try { Desktop.getDesktop().browse(uri);
                }

                catch (IOException e) {
                // TODO Auto-generated catch block e.printStackTrace(); } }
                }
                }

                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(“play.minefus.fr”, 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://minefus.fr”)});
                }
                catch(Throwable throwable)
                {
                logger.error(“Couldn't open link”, throwable);
                }

                }

                if(button.id == 25)
                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://minefus.fr/boutique/”)});
                }
                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);
                }
                }

                /**

                • Dessine le menu principal 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);
                }

                /**

                • Rotation et brouille la vue skybox dans le menu principal
                  */
                  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();
                  }

                /**

                • Dessine l’écran et tous les composants en elle.
                  */
                  public void drawScreen(int x, int y, float partialTick)
                  {
                  int a = 20;

                this.info.drawIcon(this.width / 2 - 100 + a, 60 + y + a + 20);

                this.drawString(this.fontRendererObj, this.info.getMOTD(), 10, 20, 0xffffff);
                this.drawString(this.fontRendererObj, this.info.getIP(), 10, 30, 0xffffff);
                this.drawString(this.fontRendererObj, this.info.getVersion(), 10, 40, 0xffffff);
                this.drawString(this.fontRendererObj, String.valueOf(this.info.getAcceptTexture()), 10, 50, 0xffffff);
                this.drawString(this.fontRendererObj, String.valueOf(this.info.getPing()), 10, 60, 0xffffff);

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

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

                /**

                • Appelé lorsque la souris est cliquée .
                  */
                  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);
                }
                }
                }
                }

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

                  @‘Degraduck’:

                  La voilà

                  package com.degraduck.minefusmainmenu.client;
                  
                  import java.awt.Desktop;
                  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 GuiCustomMinefusMainMenu extends GuiScreen implements GuiYesNoCallback
                  {
                  private ApiInfo info;
                  /** Declaration de l'instance de notre Api pour les informations du serveur*/
                  private static final Logger logger = LogManager.getLogger();
                     /** Le RNG utilisé par l' écran du menu principal. */
                     private static final Random rand = new Random();
                     /** Compte le nombre de mises à jour d'écran. */
                     private float updateCounter;
                     /** Le message d'accueil . */
                     private String splashText;
                     private GuiButton buttonResetDemo;
                     /** Minuterie utilisée pour faire tourner le panorama , augmente chaque tick. */
                     private int panoramaTimer;
                     /**
                      * Texture alloué pour la fenêtre courante des panoramas de fond du menu principal.
                      */
                     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");
                     /** Un tableau de tous les chemins d'accès aux photos panoramiques. */
                     private static final ResourceLocation[] titlePanoramaPaths = new ResourceLocation[] {new ResourceLocation("textures/gui/title/background/panorama_0.png"), new ResourceLocation("textures/gui/title/background/panorama_1.png"), new ResourceLocation("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 GuiCustomMinefusMainMenu()
                     {
                         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";
                         }
                     }
                  
                     /**
                      * Appelé par la boucle principale du jeu de mettre à jour l'écran.
                      */
                     public void updateScreen()
                     {
                         ++this.panoramaTimer;
                     }
                  
                     /**
                      * Renvoie true si cette interface graphique devrait faire une pause le jeu quand il est affiché dans solo
                      */
                     public boolean doesGuiPauseGame()
                     {
                         return false;
                     }
                  
                     /**
                      * Déclenché quand une clé est tapé . Ce est l'équivalent de KeyListener.keyTyped(KeyEvent e).
                      */
                     protected void keyTyped(char p_73869_1_, int p_73869_2_)
                     {}
                  
                     /**
                      * Ajouts des boutons
                      */
                     public void initGui()
                     {
                      /**Initialisation de notre Gui*/
                      this.info = new ApiInfo("play.minefus.fr.25565");
                      this.info.getInfo();
                     
                         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;
                         }
                     }
                  
                     /**
                      * Ajoute monojoueur et le multijoueur boutons de menu principal pour les joueurs qui ont acheté le jeu .
                      */
                     private void addSingleplayerMultiplayerButtons(int x, int y)
                     {
                      int a = 10;
                     
                      this.buttonList.add(new GuiButton(1, this.width / 2 - 50, 108 + a, 98, 20, "\u00A77Singleplayer"));
                         this.buttonList.add(new GuiButton(2, this.width / 2 - 50, 133 + a, 98, 20, "\u00A7fPuLse \u00A74Gaming"));
                         this.buttonList.add(new GuiButton(20, this.width / 2 - 100, 60 + y + a, "\u00A7aServeur Minefus"));
                         this.buttonList.add(new GuiButton(25, this.width / 2 - 100, 160 + a, 200, 20, "\u00A76Boutique"));
                         GuiButton webSiteButton = new GuiButton(21, this.width / 2 - 200, 122 + a, 98, 20, " \u00A7bSite");
                         GuiButton fmlModButton = new GuiButton(6, this.width /  2 - 200, 122 + a, 98, 20, "\u00A7cTeamspeak");
                         fmlModButton.xPosition = this.width / 2 + 100;
                         webSiteButton.width = 98;
                         fmlModButton.width = 98;
                         this.buttonList.add(webSiteButton);
                         this.buttonList.add(fmlModButton);
                         
                     }
                  
                     /**
                      * Ajoute les boutons de démonstration dans le menu principal pour les joueurs qui jouent Démo .
                      */
                     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)
                         {
                          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://pulse-gaming.gg")});
                             }
                             catch(Throwable throwable)
                             {
                                 logger.error("Couldn\'t open link", throwable);
                             }
                         }
                  
                         if(button.id == 4)
                         {
                             this.mc.shutdown();
                         }
                  
                         if(button.id == 6)
                         {
                          String ipts3 = "ts.minefus.fr"; // address serveur ts 3
                             int portTs3 = 9987; //port ts 3 celui est par defaut
                             URI uri = URI.create("ts3server://"+ ipts3 +"?port="+ portTs3);
                             try { Desktop.getDesktop().browse(uri);
                             }
                             
                             catch (IOException e) {
                                 // TODO Auto-generated catch block e.printStackTrace(); } }
                         }
                         }
                  
                         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("play.minefus.fr", 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://minefus.fr")});
                             }
                             catch(Throwable throwable)
                             {
                                 logger.error("Couldn\'t open link", throwable);
                             }
                             
                             
                             
                         }
                         
                         if(button.id == 25)
                          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://minefus.fr/boutique/")});
                         }
                         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);
                         }
                     }
                  
                     /**
                      * Dessine le menu principal 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);
                     }
                  
                     /**
                      * Rotation et brouille la vue skybox dans le menu principal
                      */
                     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();
                     }
                  
                     /**
                      * Dessine l'écran et tous les composants en elle.
                      */
                     public void drawScreen(int x, int y, float partialTick)
                     {
                      int a = 20;
                     
                      this.info.drawIcon(this.width / 2 - 100 + a, 60 + y + a + 20);
                     
                      this.drawString(this.fontRendererObj, this.info.getMOTD(), 10,  20,  0xffffff);
                         this.drawString(this.fontRendererObj, this.info.getIP(), 10,  30,  0xffffff);
                         this.drawString(this.fontRendererObj, this.info.getVersion(), 10,  40,  0xffffff);
                         this.drawString(this.fontRendererObj, String.valueOf(this.info.getAcceptTexture()), 10,  50,  0xffffff);
                         this.drawString(this.fontRendererObj, String.valueOf(this.info.getPing()), 10,  60,  0xffffff);
                     
                     
                         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);
                         }
                  
                         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);
                     }
                  
                     /**
                      * Appelé lorsque la souris est cliquée .
                      */
                     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);
                             }
                         }
                     }
                  }
                  
                  ```</string>
                  

                  Mets un logger.info(“quelque chose”) dans ton drawScreen ou ton initGui parce que je vois pas d’où ça vient : tes boutons sont déclarés et tu as bien le super.drawScreen.

                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                  Pas de demandes de support par MP ni par skype SVP.
                  Je n'accepte sur skype que l…

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

                    Je ne suis pas chez moi je test des que je rentre et je te redis.

                    EDIT: Alors quand je met le logger dans initGui il apparait bien une fois mais quand je le met dans le drawScreen ça me spam la console.

                    1 réponse Dernière réponse Répondre Citer 0
                    • robin4002R Hors-ligne
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                      dernière édition par

                      iFuSion34 t’as dit où est le problème …
                      @‘iFuSion34’:

                      this.info = new ApiInfo("play.minefus.fr.25565");
                      

                      Ce serai pas plutot :

                      this.info = new ApiInfo("play.minefus.fr:25565");
                      

                      Avec les deux points devant le port

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

                        Non j’ai essayer avec les points cela ne change rien.

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

                          @‘Degraduck’:

                          Non j’ai essayer avec les points cela ne change rien.

                          Il faut mettre “:” et non “.” …

                          Site web contenant mes scripts : http://SCAREXgaming.github.io

                          Pas de demandes de support par MP ni par skype SVP.
                          Je n'accepte sur skype que l…

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

                            Je pense qu’il faudrait surrement mieux mettre l’ip en Chiffre et non en lettre

                            comme ceci :

                            111.111.25.35:25565

                            Aucune signature n'est disponible pour une barre chocolatée.

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

                              Mais dans mon code j’ai modifié et mis les " : " et cela ne change rien et pour l’ip chiffré je viens de tester et aucun changement.

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

                                @‘Degraduck’:

                                Mais dans mon code j’ai modifié et mis les " : " et cela ne change rien et pour l’ip chiffré je viens de tester et aucun changement.

                                C’est-à-dire “aucun chargement” ?

                                Site web contenant mes scripts : http://SCAREXgaming.github.io

                                Pas de demandes de support par MP ni par skype SVP.
                                Je n'accepte sur skype que l…

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

                                  bah que je mettes un " . " ou " : " ou alors en chiffre ou avec la redirection minefus.fr cela fais le même résultat.

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • robin4002R Hors-ligne
                                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                    dernière édition par

                                    Mets  :, ça doit être un double point.
                                    Si ça ne fonctionne toujours pas, il y a un autre problème.

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

                                      j’ai mis un double point et cela ne fonctionne toujours pas.

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • robin4002R Hors-ligne
                                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                        dernière édition par

                                        Envoie-moi un zip de ton dossier src, je vais regarder de mon côté.

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

                                          Edit : je t’envoie les sources en MP même si cela ne me dérange pas forcèrent

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • Superloup10S Hors-ligne
                                            Superloup10 Modérateurs
                                            dernière édition par

                                            Tu aurais pu l’envoyer à robin en MP, là tout le monde peut prendre tes sources.

                                            Envoyé de mon Nexus 4 en utilisant Tapatalk

                                            Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                                            Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB