• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Creation de gui

    1.7.x
    1.7.2
    3
    11
    2802
    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.
    • BurningCraft
      BurningCraft dernière édition par

      hello, j’aimerais crée un gui mais le problème c’est que je ne comprend pas du tout comment sa marche

      j’ai chercher sur internet quelque explication mais rien trouver de satisfaisant ^^

      si quelqu’un pourrait m’expliquer 🙂

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

        -Si tu souhaites extends GuiScreen : http://www.minecraftforge.net/wiki/Basic_GUI
        -Si tu souhaites extends GuiContainer : http://www.minecraftforge.net/wiki/Containers_and_GUIs

        1 réponse Dernière réponse Répondre Citer 0
        • BurningCraft
          BurningCraft dernière édition par

          @‘Plaigon’:

          -Si tu souhaites extends GuiScreen : http://www.minecraftforge.net/wiki/Basic_GUI
          -Si tu souhaites extends GuiContainer : http://www.minecraftforge.net/wiki/Containers_and_GUIs

          La page du GuiScreen je l’avais trouvé j’ai fait tout ce qui était mis mais le problème c’est que je ne savais pas comment ouvrir le gui via un bouton sur le menue echap et aussi comment ajouter une image ainsi que des composant ^^

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

            Pour draw un background sur un GuiScreen, voici la fonction que je te propose, à call dans la méthode drawScreen :

            
                    Minecraft.getMinecraft().getTextureManager().bindTexture(new ResourceLocation(TonMod.modid, "textures/gui/tongui.png"));
                    GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                    int xCoord = (width - 300) / 2;//300 est la longueur de ton gui, à remplacer par la tienne
                    int yCoord = (height - 300) / 2;//idem pour la hauteur
                    drawTexturedModalRect(xCoord, yCoord, 0, 0, 275, 275);
                    this.func_146270_b(1);
                    super.drawScreen(i, j, f);
            
            

            Pour l’ouvrir via un bouton, ce tuto devrait encore être bon, je pense
            Quant aux nouveaux composants, c’est un peu à toi de te débrouiller…Regarde des gui’s déjà existants, ça t’aidera bien !

            1 réponse Dernière réponse Répondre Citer 0
            • BurningCraft
              BurningCraft dernière édition par

              J’ai une erreur sur la ligne
               ```java
              this.func_146270_b(1);

              
              EDIT:
              enfaite je croit avoir trouver j'ai remplacer par 
              ```java
               this.drawWorldBackground(1);
              

              EDIT 2:

              Je vien de lancer le jeu pour voir si mon gui marche mais malheuresement mon jeu crash

              –-- Minecraft Crash Report ----
              // This is a token for 1 free hug. Redeem at your nearest Mojangsta: [HUG]

              Time: 05/05/16 18:06
              Description: There was a severe problem during mod loading that has caused the game to fail

              cpw.mods.fml.common.LoaderException: java.lang.ClassNotFoundException: fr.burning.testgui.ClientProxy
              at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:76)
              at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:512)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              at java.lang.reflect.Method.invoke(Unknown Source)
              at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
              at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
              at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
              at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
              at com.google.common.eventbus.EventBus.post(EventBus.java:275)
              at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
              at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              at java.lang.reflect.Method.invoke(Unknown Source)
              at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
              at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
              at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
              at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
              at com.google.common.eventbus.EventBus.post(EventBus.java:275)
              at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
              at cpw.mods.fml.common.Loader.loadMods(Loader.java:513)
              at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:208)
              at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:480)
              at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:878)
              at net.minecraft.client.main.Main.main(SourceFile:148)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              at java.lang.reflect.Method.invoke(Unknown Source)
              at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
              at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
              Caused by: java.lang.ClassNotFoundException: fr.burning.testgui.ClientProxy
              at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
              at java.lang.ClassLoader.loadClass(Unknown Source)
              at java.lang.ClassLoader.loadClass(Unknown Source)
              at cpw.mods.fml.common.ModClassLoader.loadClass(ModClassLoader.java:58)
              at java.lang.Class.forName0(Native Method)
              at java.lang.Class.forName(Unknown Source)
              at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:59)
              … 33 more
              Caused by: java.lang.NullPointerException
              at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
              … 39 more

              d’apres ce que je comprend le probleme vient de la classe ClientPorxy donc la voici ^^

              
              public class ClientProxy 
              {
              private static KeyBinding keyBindTest;
              Minecraft mc;
              public ClientProxy()
              {
              FMLCommonHandler.instance().bus().register(this);
              keyBindTest = new KeyBinding("guitest.key", Keyboard.KEY_T, "key.categories.testguimod");
              ClientRegistry.registerKeyBinding(keyBindTest);
              }
              
              @SubscribeEvent
              public void onEvent(KeyInputEvent event)
              {
              // Si vous remplacez isPressed() par getIsKeyPressed()
              // Le chat sera inondé à chaque fois que vous presserez la touche
              
              if(keyBindTest.isPressed())
              {
              keyTestTyped(); // Traitement de la touche
              }
              }
              
              private void keyTestTyped()
              {
              // La touche vient d'être appuyé !!
              mc.displayGuiScreen(new GuiTest());
              }
              }
              
              
              1 réponse Dernière réponse Répondre Citer 0
              • AymericRed
                AymericRed dernière édition par

                Forge arrive pas à trouver ton proxy client, vérifie que t’as bien écrit le nom du package où il est.

                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
                • BurningCraft
                  BurningCraft dernière édition par

                  @‘AymericRed’:

                  Forge arrive pas à trouver ton proxy client, vérifie que t’as bien écrit le nom du package où il est.

                  oui c’est bien écrit, c’est sa le problème

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

                    Montre le ligne où tu enregistres le proxy avec le chemin de la classe et montre le “package …” en haut de ton ClientProxy, on sait jamais une fois j’ai bien du passer 5-10 minutes pour trouver où il y avait un pb.

                    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
                    • BurningCraft
                      BurningCraft dernière édition par

                      @‘AymericRed’:

                      Montre le ligne où tu enregistres le proxy avec le chemin de la classe et montre le “package …” en haut de ton ClientProxy, on sait jamais une fois j’ai bien du passer 5-10 minutes pour trouver où il y avait un pb.

                      classe principale

                      package fr.buning.testgui;
                      
                      import cpw.mods.fml.common.Mod;
                      import cpw.mods.fml.common.Mod.Instance;
                      import cpw.mods.fml.common.SidedProxy;
                      import cpw.mods.fml.common.event.FMLInitializationEvent;
                      import cpw.mods.fml.common.event.FMLPostInitializationEvent;
                      import cpw.mods.fml.common.event.FMLPreInitializationEvent;
                      import cpw.mods.fml.common.network.NetworkRegistry;
                      
                      @Mod(modid = "gui", name = "Basic GUI", version = "1.0.0")
                      public class testgui 
                      {
                      
                      @Instance("gui")
                      public static testgui instance;
                      public static final String MODID = "gui";
                      
                          @SidedProxy(clientSide = "fr.burning.testgui.ClientProxy", serverSide = "fr.burning.testgui.CommonProxy")
                          public static CommonProxy proxy;
                      
                      @Mod.EventHandler
                      public void preInit(FMLPreInitializationEvent event) throws Exception
                      {
                      System.out.println("/***PreInit***/");
                      }
                      
                          @Mod.EventHandler
                          public void init(FMLInitializationEvent event) 
                          {
                      
                          System.out.println("/***Init***/");
                                  proxy.registerKeybindings();
                                  NetworkRegistry.INSTANCE.registerGuiHandler(instance, proxy);
                          }
                      
                      @Mod.EventHandler
                      public void postInit(FMLPostInitializationEvent event)
                      {
                      System.out.println("/***postInit***/");
                      }
                      
                      }
                      
                      

                      classe ClientProxy

                      package fr.buning.testgui;
                      
                      import org.lwjgl.input.Keyboard;
                      
                      import cpw.mods.fml.client.registry.ClientRegistry;
                      import cpw.mods.fml.common.FMLCommonHandler;
                      import cpw.mods.fml.common.eventhandler.SubscribeEvent;
                      import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent;
                      import net.minecraft.client.Minecraft;
                      import net.minecraft.client.gui.GuiChat;
                      import net.minecraft.client.settings.KeyBinding;
                      import net.minecraft.util.ChatComponentText;
                      
                      public class ClientProxy 
                      {
                      private static KeyBinding keyBindTest;
                      Minecraft mc;
                      public ClientProxy()
                      {
                      FMLCommonHandler.instance().bus().register(this);
                      keyBindTest = new KeyBinding("guitest.key", Keyboard.KEY_T, "key.categories.testguimod");
                      ClientRegistry.registerKeyBinding(keyBindTest);
                      }
                      
                      @SubscribeEvent
                      public void onEvent(KeyInputEvent event)
                      {
                      // Si vous remplacez isPressed() par getIsKeyPressed()
                      // Le chat sera inondé à chaque fois que vous presserez la touche
                      
                      if(keyBindTest.isPressed())
                      {
                      keyTestTyped(); // Traitement de la touche
                      }
                      }
                      
                      private void keyTestTyped()
                      {
                      // La touche vient d'être appuyé !!
                      mc.displayGuiScreen(new GuiTest());
                      }
                      }
                      
                      

                      sa doit etre un faute d’othographe a la con

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

                        Ton ClientProxy est dans fr.buning.testgui, tu as oublié le “r”.

                        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
                        • BurningCraft
                          BurningCraft dernière édition par

                          @‘AymericRed’:

                          Ton ClientProxy est dans fr.buning.testgui, tu as oublié le “r”.

                          Ha oui exact le con c’est sa quand on veut faire vite XD, merci 😉

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

                          MINECRAFT FORGE FRANCE © 2018

                          Powered by NodeBB