MFF

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

    Creation de gui

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.2
    11 Messages 3 Publieurs 3.4k 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.
    • DeletedD Hors-ligne
      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
      • BurningCraftB Hors-ligne
        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
        • DeletedD Hors-ligne
          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
          • BurningCraftB Hors-ligne
            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
            • AymericRedA Hors-ligne
              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
              • BurningCraftB Hors-ligne
                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
                • AymericRedA Hors-ligne
                  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
                  • BurningCraftB Hors-ligne
                    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
                    • AymericRedA Hors-ligne
                      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
                      • BurningCraftB Hors-ligne
                        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
                        ContactMentions Légales

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB