MFF

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

    GuiIngameMenu help

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    6 Messages 3 Publieurs 1.1k 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.
    • T Hors-ligne
      TibaxSurYoutube
      dernière édition par

      bonjour ou bonsoir j ai fais un guiingamemenu qui marche sur ecplise est aficher mais quand je compile mon mod et je le mais sur mon minecraft de base il n aparais pas mais mes item aparaisse
      voici mon code

      package net.minecraft.client.gui;

      import cpw.mods.fml.client.FMLClientHandler;
      import cpw.mods.fml.relauncher.Side;
      import cpw.mods.fml.relauncher.SideOnly;
      import net.minecraft.client.gui.achievement.GuiAchievements;
      import net.minecraft.client.gui.achievement.GuiStats;
      import net.minecraft.client.multiplayer.WorldClient;
      import net.minecraft.client.resources.I18n;

      @SideOnly(Side.CLIENT)
      public class GuiIngameMenu extends GuiScreen
      {
          private int field_146445_a;
          private int field_146444_f;
          private static final String __OBFID = “CL_00000703”;

      /**
           * Adds the buttons (and other controls) to the screen in question.
           */
          public void initGui()
          {
              this.field_146445_a = 0;
              this.buttonList.clear();
              byte b0 = -16;
              boolean flag = true;
              this.buttonList.add(new GuiButton(1, this.width / 2 - 100, this.height / 4 + 120 + b0, I18n.format(“menu.returnToMenu”, new Object[0])));

      if (!this.mc.isIntegratedServerRunning())
              {
                  ((GuiButton)this.buttonList.get(0)).displayString = I18n.format(“menu.disconnect”, new Object[0]);
              }

      this.buttonList.add(new GuiButton(4, this.width / 2 - 100, this.height / 4 + 24 + b0, I18n.format(“menu.returnToGame”, new Object[0])));
              this.buttonList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 96 + b0, 98, 20, I18n.format(“menu.options”, new Object[0])));
              this.buttonList.add(new GuiButton(12, this.width / 2 + 2, this.height / 4 + 96 + b0, 98, 20, “Mod Options…”));
              GuiButton guibutton;
              this.buttonList.add(guibutton = new GuiButton(7, this.width / 2 - 100, this.height / 4 + 72 + b0, 200, 20, I18n.format(“menu.shareToLan”, new Object[0])));
              this.buttonList.add(new GuiButton(5, this.width / 2 - 100, this.height / 4 + 48 + b0, 98, 20, I18n.format(“gui.achievements”, new Object[0])));
              this.buttonList.add(new GuiButton(6, this.width / 2 + 2, this.height / 4 + 48 + b0, 98, 20, I18n.format(“gui.stats”, new Object[0])));
              guibutton.enabled = this.mc.isSingleplayer() && !this.mc.getIntegratedServer().getPublic();
          }

      protected void actionPerformed(GuiButton p_146284_1_)
          {
              switch (p_146284_1_.id)
              {
                  case 0:
                      this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
                      break;
                  case 1:
                      p_146284_1_.enabled = false;
                      this.mc.theWorld.sendQuittingDisconnectingPacket();
                      this.mc.loadWorld((WorldClient)null);
                      this.mc.displayGuiScreen(new GuiMainMenu());
                  case 2:
                  case 3:
                  default:
                      break;
                  case 4:
                      this.mc.displayGuiScreen((GuiScreen)null);
                      this.mc.setIngameFocus();
                      break;
                  case 5:
                      if (this.mc.thePlayer != null)
                      this.mc.displayGuiScreen(new GuiAchievements(this, this.mc.thePlayer.getStatFileWriter()));
                      break;
                  case 6:
                      if (this.mc.thePlayer != null)
                      this.mc.displayGuiScreen(new GuiStats(this, this.mc.thePlayer.getStatFileWriter()));
                      break;
                  case 7:
                      this.mc.displayGuiScreen(new GuiShareToLan(this));
                      break;
                  case 12:
                      FMLClientHandler.instance().showInGameModOptions(this);
                      break;
              }
          }

      /**
           * Called from the main game loop to update the screen.
           */
          public void updateScreen()
          {
              super.updateScreen();
              ++this.field_146444_f;
          }

      /**
           * Draws the screen and all the components in it.
           */
          public void drawScreen(int p_73863_1_, int p_73863_2_, float p_73863_3_)
          {
              this.drawDefaultBackground();
              this.drawCenteredString(this.fontRendererObj, I18n.format(“menu.game”, new Object[0]), this.width / 2, 40, 16777215);
              super.drawScreen(p_73863_1_, p_73863_2_, p_73863_3_);
          }
      }

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

        Bonsoir,
        Déjà, essayes d’utiliser les balises java ça sera plus clair pour nous ^^
        Ensuite si ton gui ne s’affiche pas, le problème doit être autre part, peux-tu donner la classe où tu fais s’afficher le gui (probablement ta classe d’event, et le code que tu utilises pour la register) ?

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

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

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

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

          @‘AymericRed’:

          Bonsoir,
          Déjà, essayes d’utiliser les balises java ça sera plus clair pour nous ^^
          Ensuite si ton gui ne s’affiche pas, le problème doit être autre part, peux-tu donner la classe où tu fais s’afficher le gui (probablement ta classe d’event, et le code que tu utilises pour la register) ?

          package net.minecraft.client.gui;
          
          import java.awt.Desktop;
          import java.net.URI;
          import java.util.List;
          import org.lwjgl.opengl.GL11;
          import org.lwjgl.opengl.GL12;
          
          import cpw.mods.fml.relauncher.Side;
          import cpw.mods.fml.relauncher.SideOnly;
          import net.minecraft.Reference;
          import net.minecraft.client.gui.achievement.GuiAchievements;
          import net.minecraft.client.gui.achievement.GuiStats;
          import net.minecraft.client.multiplayer.GuiConnecting;
          import net.minecraft.client.multiplayer.WorldClient;
          import net.minecraft.client.renderer.OpenGlHelper;
          import net.minecraft.client.renderer.RenderHelper;
          import net.minecraft.client.renderer.Tessellator;
          import net.minecraft.client.renderer.entity.RenderManager;
          import net.minecraft.client.renderer.texture.DynamicTexture;
          import net.minecraft.client.resources.I18n;
          import net.minecraft.entity.EntityLivingBase;
          import net.minecraft.util.EnumChatFormatting;
          import net.minecraft.util.ResourceLocation;
          
          @SideOnly(Side.CLIENT)
          public class GuiIngameMenu extends GuiScreen
          
          {
              private int field_146445_a;
              private int field_146444_f;
              private static final String __OBFID = "CL_00000703";
              private static final ResourceLocation head = new ResourceLocation("textures/gui/head.png");
          
              /**
               * Adds the buttons (and other controls) to the screen in question.
               */
              public void initGui()
              {
          
                  this.field_146445_a = 0;
                  this.buttonList.clear();
                  byte var1 = -16;
                  boolean var2 = true;
                  this.buttonList.add(new GuiButton(1, this.width / 2 - 100, this.height / 4 + 160 + var1, I18n.format(EnumChatFormatting.DARK_GREEN + "D�connexion", new Object[0])));
          
                  if (!this.mc.isIntegratedServerRunning())
                  {
                      ((GuiButton)this.buttonList.get(0)).displayString = I18n.format("D�connexion", new Object[0]);
                  }
          
                  this.buttonList.add(new GuiButton(4, this.width / 2 - 100, this.height / 4 + 130 + var1, I18n.format(EnumChatFormatting.GOLD + "Revenir en jeu", new Object[0])));
          
                  this.buttonList.add(new GuiButton(2, this.width / 2 - 200, this.height / 4 + 66 + var1, 98, 20, I18n.format(EnumChatFormatting.BLUE + "Site", new Object[0])));
          
                  this.buttonList.add( new GuiButton(3, this.width / 2 + 102, this.height / 4 + 66 + var1, 98, 20, I18n.format(EnumChatFormatting.DARK_PURPLE + "Vote", new Object[0])));
          
                  //this.buttonList.add(new GuiButton(10, this.width / 2 - ((mc.getSession().getUsername().length() * 8 + 10) / 2), this.height / 4 + 50 , mc.getSession().getUsername().length() * 8 + 10, 20, I18n.format(EnumChatFormatting.UNDERLINE + mc.getSession().getUsername(), new Object[0])));
          
                  this.buttonList.add(new GuiButton(0, this.width / 2 - 200, this.height / 4 + 96 + var1, 98, 20, I18n.format(EnumChatFormatting.GREEN +"Options", new Object[0])));
          
                  this.buttonList.add( new GuiButton(7, this.width / 2 + 102, this.height / 4 + 96 + var1, 98, 20, I18n.format(EnumChatFormatting.YELLOW + "Teamspeak", new Object[0])));
          
                  this.buttonList.add(new GuiButton(5, this.width / 2 - 180, this.height / 4 + 28 + var1, 98, 20, I18n.format(EnumChatFormatting.DARK_AQUA +"Boutique", new Object[0])));
                  this.buttonList.add(new GuiButton(6, this.width / 2 + 82, this.height / 4 + 28 + var1, 98, 20, I18n.format(EnumChatFormatting.RED +"R�glement", new Object[0])));
              }
          
              protected void actionPerformed(GuiButton p_146284_1_)
              {
                  switch (p_146284_1_.id)
                  {
                  case 0:
                      this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
                      break;
                      case 1:
                          p_146284_1_.enabled = false;
                          this.mc.theWorld.sendQuittingDisconnectingPacket();
                          this.mc.loadWorld((WorldClient)null);
                          this.mc.displayGuiScreen(new GuiMainMenu());
                          break;
                      case 2:
                          try
                          {
                              URI var2 = new URI("https://thurnfight.fr");
          
                              if (Desktop.isDesktopSupported())
                              {
                                  Desktop.getDesktop().browse(var2);
                              }
                          }
                          catch (Exception var7)
                          {
                              var7.printStackTrace();
                          }
                          break;
                      case 3:
                          try
                          {
                              URI var2 = new URI("https://thurnfight.fr/vote");
          
                              if (Desktop.isDesktopSupported())
                              {
                                  Desktop.getDesktop().browse(var2);
                              }
                          }
                          catch (Exception var7)
                          {
                              var7.printStackTrace();
                          }
                          break;
                      default:
                          break;
          
                      case 4:
                          this.mc.displayGuiScreen((GuiScreen)null);
                          this.mc.setIngameFocus();
                          break;
          
                      case 5:
                          try
                          {
                              URI var2 = new URI("https://thurnfight.fr/shop");
          
                              if (Desktop.isDesktopSupported())
                              {
                                  Desktop.getDesktop().browse(var2);
                              }
                          }
                          catch (Exception var7)
                          {
                              var7.printStackTrace();
                          }
                          break;
                      case 6:
                          try
                          {
                              URI var2 = new URI("https://thurnfight.fr/p/R�glement");
          
                              if (Desktop.isDesktopSupported())
                              {
                                  Desktop.getDesktop().browse(var2);
                              }
                              }
                              catch (Exception var7)
                              {
                                  var7.printStackTrace();
                              }
                              break;                    
                      case 7:
                          try
                          {
                              URI var2 = new URI("ts3server://ts.thurnfight.fr?nickname=" + mc.getSession().getUsername());
          
                              if (Desktop.isDesktopSupported())
                              {
                                  Desktop.getDesktop().browse(var2);
                              }
                          }
                          catch (Exception var7)
                          {
                              var7.printStackTrace();
                          }
                          break;
                      case 10:
                          try
                          {
                              URI var2 = new URI("https://thurnfight.fr" + mc.getSession().getUsername());
          
                              if (Desktop.isDesktopSupported())
                              {
                                  Desktop.getDesktop().browse(var2);
                              }
                          }
                          catch (Exception var7)
                          {
                              var7.printStackTrace();
                          }
                          break;
                  }
              }
          
              public static void func_147046_a(int p_147046_0_, int p_147046_1_, int p_147046_2_, float p_147046_3_, float p_147046_4_, EntityLivingBase p_147046_5_)
              {
                  GL11.glEnable(GL11.GL_COLOR_MATERIAL);
                  GL11.glPushMatrix();
                  GL11.glTranslatef((float)p_147046_0_, (float)p_147046_1_, 50.0F);
                  GL11.glScalef((float)(-p_147046_2_), (float)p_147046_2_, (float)p_147046_2_);
                  GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
                  float var6 = p_147046_5_.renderYawOffset;
                  float var7 = p_147046_5_.rotationYaw;
                  float var8 = p_147046_5_.rotationPitch;
                  float var9 = p_147046_5_.prevRotationYawHead;
                  float var10 = p_147046_5_.rotationYawHead;
                  GL11.glRotatef(135.0F, 0.0F, 1.0F, 0.0F);
                  RenderHelper.enableStandardItemLighting();
                  GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
                  GL11.glRotatef(-((float)Math.atan((double)(p_147046_4_ / 40.0F))) * 20.0F, 1.0F, 0.0F, 0.0F);
                  p_147046_5_.renderYawOffset = (float)Math.atan((double)(p_147046_3_ / 40.0F)) * 20.0F;
                  p_147046_5_.rotationYaw = (float)Math.atan((double)(p_147046_3_ / 40.0F)) * 40.0F;
                  p_147046_5_.rotationPitch = -((float)Math.atan((double)(p_147046_4_ / 40.0F))) * 20.0F;
                  p_147046_5_.rotationYawHead = p_147046_5_.rotationYaw;
                  p_147046_5_.prevRotationYawHead = p_147046_5_.rotationYaw;
                  GL11.glTranslatef(0.0F, p_147046_5_.yOffset, 0.0F);
                  RenderManager.instance.playerViewY = 180.0F;
                  p_147046_5_.renderYawOffset = var6;
                  p_147046_5_.rotationYaw = var7;
                  p_147046_5_.rotationPitch = var8;
                  p_147046_5_.prevRotationYawHead = var9;
                  p_147046_5_.rotationYawHead = var10;
                  GL11.glPopMatrix();
                  RenderHelper.disableStandardItemLighting();
                  GL11.glDisable(GL12.GL_RESCALE_NORMAL);
                  OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit);
                  GL11.glDisable(GL11.GL_TEXTURE_2D);
                  OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit);
              }
          
              public void drawTextureWithOptionalSize(int x, int y, int u, int v, int width, int height, int uSize, int vSize)
              {
                  float scaledX = (float)1/uSize;
                  float scaledY = (float)1/vSize;
                  Tessellator tessellator = Tessellator.instance;
                  tessellator.startDrawingQuads();
                  tessellator.addVertexWithUV((double)(x + 0), (double)(y + height), (double)this.zLevel, (double)((float)(u + 0) * scaledX), (double)((float)(v + height) * scaledY));
                  tessellator.addVertexWithUV((double)(x + width), (double)(y + height), (double)this.zLevel, (double)((float)(u + width) * scaledX), (double)((float)(v + height) * scaledY));
                  tessellator.addVertexWithUV((double)(x + width), (double)(y + 0), (double)this.zLevel, (double)((float)(u + width) * scaledX), (double)((float)(v + 0) * scaledY));
                  tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)this.zLevel, (double)((float)(u + 0) * scaledX), (double)((float)(v + 0) * scaledY));
                  tessellator.draw();
              }
          
              /**
               * Called from the main game loop to update the screen.
               */
              public void updateScreen()
              {
                  super.updateScreen();
                  ++this.field_146444_f;
              }
          
              /**
               * Draws the screen and all the components in it.
               */
              public void drawScreen(int par1, int par2, float par3)
              {
                  this.drawDefaultBackground();
          
                  func_147046_a(this.width / 2, height / 2, 35, (float)((this.width - 176) / 2 + height / 8) - par1, (float)((this.height - 166) / 2 + 75) - par2, this.mc.thePlayer);
          
                  this.drawCenteredString(this.fontRendererObj, EnumChatFormatting.GOLD + "- ThurnFight Menu -", this.width / 2, 40, 16777215);
          
                  super.drawScreen(par1, par2, par3);
          
              }
          }
          
          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

            En fait tu as bêtement override la classe avec le même package, ce qui fonctionne sur eclipse car eclipse va compiler ta classe et la charge à la place de celle de mc, mais pas en jeu car les mécaniques de chargement sont différentes (le jar de mc est en premier dans le classpath, les mods sont ajoutés ensuite).

            Il faudrait plutôt passer par l’event GuiOpenEvent pour remplacer le gui de mc par le tiens (et faire du-coup une classe de le package de ton mod).

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

              @‘robin4002’:

              En fait tu as bêtement override la classe avec le même package, ce qui fonctionne sur eclipse car eclipse va compiler ta classe et la charge à la place de celle de mc, mais pas en jeu car les mécaniques de chargement sont différentes (le jar de mc est en premier dans le classpath, les mods sont ajoutés ensuite).

              Il faudrait plutôt passer par l’event GuiOpenEvent pour remplacer le gui de mc par le tiens (et faire du-coup une classe de le package de ton mod).

              Comment faire alors un tuto

              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

                De la même façon qu’ici : https://www.minecraftforgefrance.fr/showthread.php?tid=4480#remplacermenu
                Mais en mettant GuiIngameMenu au lieu de GuiMainMenu

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

                MINECRAFT FORGE FRANCE © 2024

                Powered by NodeBB