MFF

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

    [Résolu]Petit problème

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8.8
    66 Messages 7 Publieurs 10.5k 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.
    • conquerorguepardC Hors-ligne
      conquerorguepard
      dernière édition par

      package fr.minecraftforgefrance.modzoic.common;
      
      import fr.minecraftforgefrance.modzoic.proxy.CommonProxy;
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.item.Item;
      import net.minecraftforge.fml.common.Mod;
      import net.minecraftforge.fml.common.Mod.EventHandler;
      import net.minecraftforge.fml.common.Mod.Instance;
      import net.minecraftforge.fml.common.SidedProxy;
      import net.minecraftforge.fml.common.event.FMLInitializationEvent;
      import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
      import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
      import net.minecraftforge.fml.common.registry.GameRegistry;
      import organisation.dinomeat;
      
      @Mod(modid = "modzoic", name = "Modzoic", version = "1.0.0")
      
      public class Modzoic
      {
          @Instance("modzoic")
          public static Modzoic instance;
      
          @SidedProxy(clientSide = "fr.minecraftforgefrance.modzoic.proxy.ClientProxy", serverSide = "fr.minecraftforgefrance.modzoic.proxy.CommonProxy")
          public static CommonProxy proxy;
      
          public static Item meatEpanterias;
      
          @EventHandler
          public void preInit(FMLPreInitializationEvent event)
          {
              meatEpanterias = new MeatEpanterias().setCreativeTab(CreativeTabs.tabFood);
              GameRegistry.registerItem(meatEpanterias, "meatEpanterias");
              dinomeat.register();
              dinomeat.init();
          }
      
          @EventHandler
          public void init(FMLInitializationEvent event)
          {
              proxy.registerRender();
          }
      
          @EventHandler
          public void postInit(FMLPostInitializationEvent event)
          {
      
          }
      }
      
      1 réponse Dernière réponse Répondre Citer 0
      • AymericRedA Hors-ligne
        AymericRed
        dernière édition par

        Définition de initialisation : “Donner une valeur initiale à.”. Alors pourquoi tu register ton item avant de l’initialiser, alors qu’il n’a pas de valeur ?
        Il faut que tu inverses les appels de “dinomeat;register();” et "dinomeat.init();’

        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 1
        • conquerorguepardC Hors-ligne
          conquerorguepard
          dernière édition par

          Ah oui il fallait juste faire ça x’). J’aurai pas cru que cela puisse avoir une telle incidence, je l’avais même pas remarqué que j’avais inversé. J’aurai pu chercher longtemps x). Merci beaucoup! Maintenant je peux faire items illimités. Et n’hésitez pas à prendre mes codes comme modèle pour le tuto 1.8, ça pourrait aider, vous en pensez quoi?

          Sinon je laisse mon post ouvert pour mes prochains problèmes que je pourrai rencontrer ultérieurement (notamment quand je vais créer mon premier mob :))

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

            Enregistrer directement dans la classe dans l’item ou enregistrer dans la classe principale ne change pas tellement de choses, mais tu auras plus de fonctions dans les classes de tes items et presque autant de lignes dans ta classe principale. Personellement je préfère tout centraliser dans une classe (j’ai une classe BlockRegistry, ItemRegistry…) mais après à chacun sa manière de faire ça.

            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
            • robin4002R Hors-ligne
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
              dernière édition par

              J’ai déjà un modèle de prévu pour les tutoriels 1.8.
              Organisation du type :

              • classe principale
              • classe commune (common proxy)
              • classe client (client proxy)
              • classe serveur (server proxy)
              • classe blocs (avec toutes les déclarations de blocs dedans)
              • classe items (avec toutes les déclarations d’items dedans)
              • classe entité (avec toutes les fonctions d’enregistrement d’entité)

              C’est quelque chose de mieux organisé que ce qui est utilisé dans les tuto 1.7

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

                Par contre il se nomme item.null.basic
                Comment je dois lui donner une valeur ou un nom (pour remplacer le “null” après je sais faire pour les dossiers lang)?
                Et il ne veut pas prendre sa texture ni son model. Je crois que j’ai fait une faute dans mon “dinomeat”, vous la voyez?
                nom du model: dinomeat.json
                nom du texture: dinomeat.pgn

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

                  Pour le nom tu fais .setUnlicalizedName(lenom) comme avec le .setCreativeTab.
                  Tu appelé bien ta fonction d’enregistrement des rendus dans ton proxy.

                  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
                  • conquerorguepardC Hors-ligne
                    conquerorguepard
                    dernière édition par

                    Le nom c’est bon, mais les textures et les ressources ça veut pas.
                    Voici ce que j’ai actuellement sur clientproxy:

                    package fr.minecraftforgefrance.modzoic.proxy;
                    
                    import fr.minecraftforgefrance.modzoic.common.MeatEpanterias;
                    import fr.minecraftforgefrance.modzoic.common.Modzoic;
                    import net.minecraft.client.Minecraft;
                    import net.minecraft.client.resources.model.ModelResourceLocation;
                    import net.minecraft.creativetab.CreativeTabs;
                    import net.minecraft.client.renderer.entity.RenderItem;
                    
                    public class ClientProxy extends CommonProxy
                    {
                    
                        @Override
                        public void registerRender()
                        {
                            RenderItem registerMesher = Minecraft.getMinecraft().getRenderItem();
                            registerMesher.getItemModelMesher().register(Modzoic.meatEpanterias, 0, new ModelResourceLocation("modzoic" + ":meatEpanterias", "inventory"));
                        }
                    }
                    

                    Sur principal:

                    package fr.minecraftforgefrance.modzoic.common;
                    
                    import fr.minecraftforgefrance.modzoic.proxy.CommonProxy;
                    import net.minecraft.creativetab.CreativeTabs;
                    import net.minecraft.item.Item;
                    import net.minecraftforge.fml.common.Mod;
                    import net.minecraftforge.fml.common.Mod.EventHandler;
                    import net.minecraftforge.fml.common.Mod.Instance;
                    import net.minecraftforge.fml.common.SidedProxy;
                    import net.minecraftforge.fml.common.event.FMLInitializationEvent;
                    import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
                    import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
                    import net.minecraftforge.fml.common.registry.GameRegistry;
                    import organisation.dinomeat;
                    
                    @Mod(modid = "modzoic", name = "Modzoic", version = "1.0.0")
                    
                    public class Modzoic
                    {
                        @Instance("modzoic")
                        public static Modzoic instance;
                    
                        @SidedProxy(clientSide = "fr.minecraftforgefrance.modzoic.proxy.ClientProxy", serverSide = "fr.minecraftforgefrance.modzoic.proxy.CommonProxy")
                        public static CommonProxy proxy;
                    
                        public static Item meatEpanterias;
                    
                        @EventHandler
                        public void preInit(FMLPreInitializationEvent event)
                        {
                            meatEpanterias = new MeatEpanterias().setCreativeTab(CreativeTabs.tabFood);
                            GameRegistry.registerItem(meatEpanterias, "meatEpanterias");
                            dinomeat.init();
                            dinomeat.register();
                        }
                    
                        @EventHandler
                        public void init(FMLInitializationEvent event)
                        {
                            proxy.registerRender();
                        }
                    
                        @EventHandler
                        public void postInit(FMLPostInitializationEvent event)
                        {
                    
                        }
                    }
                    

                    et sur dinomeat:

                    package organisation;
                    
                    import net.minecraft.client.Minecraft;
                    import net.minecraft.client.resources.model.ModelResourceLocation;
                    import net.minecraft.creativetab.CreativeTabs;
                    import net.minecraft.item.Item;
                    import net.minecraftforge.fml.common.registry.GameRegistry;
                    
                    public class dinomeat
                    {
                        public static Item dinomeat;
                    
                        public static void init()
                        {
                            dinomeat = new Item().setUnlocalizedName("dinomeat").setCreativeTab(CreativeTabs.tabFood);
                        }
                    
                        public static void register()
                        {
                            GameRegistry.registerItem(dinomeat, "dinomeat");
                        }
                    
                        public static void registerRenders()
                        {
                            registerRender(dinomeat);
                        }
                    
                        public static void registerRender(Item item)
                        {
                           Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation("modzoic" + ":dinomeat" + item.getUnlocalizedName().substring(5), "inventory"));
                        }
                    }
                    
                    

                    Sinon, je tiens à préciser que pour faire tout ça j’ai suivi un tuto sur youtube (checconio).
                    Et lui ne va pas du tout sur proxy du coup je suppose qu’il faut rien rajouter dans proxy.
                    Cependant, pour en être sûr, j’ai rajouté ça à l’endroit qui aurait pu être approprié:

                    registerMesher.getItemModelMesher().register(Modzoic.*dinomeat*, 0, new ModelResourceLocation("modzoic" + ":dinomeat", "inventory"));
                    

                    Ici, le mot souligné m’a causé des soucis d’erreurs, me demandant, pour la réparer, de faire public static Item dinomeat;
                    sauf que du coup ensuite c’était dinomeat.init(); dinomeat.register(); en erreur. Du coup je fais comment x’)?

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

                      Pour le rendu, t’appelle où la fonction registerRenders ? Et pour l’histoire du proxy, il y a d’autre méthodes qui peuvent ne pas passer par lui.
                      Pour ton rendu, la variable n’es pas déclaré dans ModZoic mais directement dans la classe de ton Item.

                      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
                      • conquerorguepardC Hors-ligne
                        conquerorguepard
                        dernière édition par

                        Du coup je fais comment?
                        Si je bouge ma variable ça casse tout…
                        Je suis un peu coincé là.
                        Après si je modifie tout va être croix rouge…et plus rien ne marchera tout court. Y’a pas une solution, après tout ce n’est qu’une texture…?

                        Sinon j’ai essayé ça:

                        package organisation;
                        
                        import net.minecraft.client.Minecraft;
                        import net.minecraft.client.resources.model.ModelResourceLocation;
                        import net.minecraft.creativetab.CreativeTabs;
                        import net.minecraft.item.Item;
                        import net.minecraftforge.fml.common.registry.GameRegistry;
                        
                        public class dinomeat
                        {
                            public static Item dinomeat;
                        
                            public static void init()
                            {
                                dinomeat = new Item().setUnlocalizedName("dinomeat").setCreativeTab(CreativeTabs.tabFood);
                            }
                        
                            public static void register()
                            {
                                GameRegistry.registerItem(dinomeat, "dinomeat");
                            }
                        
                            public static void registerRenders()
                            {
                        
                            }
                        
                            public static void registerRender()
                            {
                               Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(dinomeat, 0, new ModelResourceLocation("modzoic" + ":dinomeat" + dinomeat.getUnlocalizedName().substring(5), "inventory"));
                            }
                        }
                        
                        

                        Rappel de mon ancienne version:

                        package organisation;
                        
                        import net.minecraft.client.Minecraft;
                        import net.minecraft.client.resources.model.ModelResourceLocation;
                        import net.minecraft.creativetab.CreativeTabs;
                        import net.minecraft.item.Item;
                        import net.minecraftforge.fml.common.registry.GameRegistry;
                        
                        public class dinomeat
                        {
                            public static Item dinomeat;
                        
                            public static void init()
                            {
                                dinomeat = new Item().setUnlocalizedName("dinomeat").setCreativeTab(CreativeTabs.tabFood);
                            }
                        
                            public static void register()
                            {
                                GameRegistry.registerItem(dinomeat, "dinomeat");
                            }
                        
                            public static void registerRenders()
                            {
                                registerRender(dinomeat);
                            }
                        
                            public static void registerRender(Item item)
                            {
                               Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation("modzoic" + ":dinomeat" + item.getUnlocalizedName().substring(5), "inventory"));
                            }
                        }
                        
                        ``` (on voit ici en bas registerRender et registerRenders)
                        
                        Mais aucun changement... De même avec : dinomeat.registerRenders(); dans clientproxy
                        1 réponse Dernière réponse Répondre Citer 0
                        • AymericRedA Hors-ligne
                          AymericRed
                          dernière édition par

                          Bah c’est bon tu n’as plus de problème avec ta variable (du moins j’en vois pas), tu as juste à appeler registerRenders dans ton proxy.

                          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
                          • conquerorguepardC Hors-ligne
                            conquerorguepard
                            dernière édition par

                            Je comprends pas… J’ai tout essayé ça veut pas:

                            package organisation;
                            
                            import net.minecraft.client.Minecraft;
                            import net.minecraft.client.resources.model.ModelResourceLocation;
                            import net.minecraft.creativetab.CreativeTabs;
                            import net.minecraft.item.Item;
                            import net.minecraftforge.fml.common.registry.GameRegistry;
                            
                            public class dinomeat
                            {
                                public static Item dinomeat;
                            
                                public static void init()
                                {
                                    dinomeat = new Item().setUnlocalizedName("dinomeat").setCreativeTab(CreativeTabs.tabFood);
                                }
                            
                                public static void register()
                                {
                                    GameRegistry.registerItem(dinomeat, "dinomeat");
                                }
                            
                                public static void registerRenders()
                                {
                            
                                }
                            
                                public static void registerRender()
                                {
                                   Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(dinomeat, 0, new ModelResourceLocation("modzoic" + ":dinomeat" + dinomeat.getUnlocalizedName().substring(5), "inventory"));
                                }
                            }
                            
                            package fr.minecraftforgefrance.modzoic.common;
                            
                            import fr.minecraftforgefrance.modzoic.proxy.CommonProxy;
                            import net.minecraft.creativetab.CreativeTabs;
                            import net.minecraft.item.Item;
                            import net.minecraftforge.fml.common.Mod;
                            import net.minecraftforge.fml.common.Mod.EventHandler;
                            import net.minecraftforge.fml.common.Mod.Instance;
                            import net.minecraftforge.fml.common.SidedProxy;
                            import net.minecraftforge.fml.common.event.FMLInitializationEvent;
                            import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
                            import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
                            import net.minecraftforge.fml.common.registry.GameRegistry;
                            import organisation.dinomeat;
                            
                            @Mod(modid = "modzoic", name = "Modzoic", version = "1.0.0")
                            
                            public class Modzoic
                            {
                                @Instance("modzoic")
                                public static Modzoic instance;
                            
                                @SidedProxy(clientSide = "fr.minecraftforgefrance.modzoic.proxy.ClientProxy", serverSide = "fr.minecraftforgefrance.modzoic.proxy.CommonProxy")
                                public static CommonProxy proxy;
                            
                                public static Item meatEpanterias;
                            
                                @EventHandler
                                public void preInit(FMLPreInitializationEvent event)
                                {
                                    meatEpanterias = new MeatEpanterias().setCreativeTab(CreativeTabs.tabFood);
                                    GameRegistry.registerItem(meatEpanterias, "meatEpanterias");
                                    dinomeat.init();
                                    dinomeat.register();
                                }
                            
                                @EventHandler
                                public void init(FMLInitializationEvent event)
                                {
                                    proxy.registerRender();
                                }
                            
                                @EventHandler
                                public void postInit(FMLPostInitializationEvent event)
                                {
                            
                                }
                            }
                            
                            package fr.minecraftforgefrance.modzoic.proxy;
                            
                            import fr.minecraftforgefrance.modzoic.common.MeatEpanterias;
                            import fr.minecraftforgefrance.modzoic.common.Modzoic;
                            import net.minecraft.client.Minecraft;
                            import net.minecraft.client.resources.model.ModelResourceLocation;
                            import net.minecraft.creativetab.CreativeTabs;
                            import organisation.dinomeat;
                            import net.minecraft.client.renderer.entity.RenderItem;
                            import organisation.dinomeat;
                            
                            public class ClientProxy extends CommonProxy
                            {
                            
                                @Override
                                public void registerRender()
                                {
                                    RenderItem registerMesher = Minecraft.getMinecraft().getRenderItem();
                                    registerMesher.getItemModelMesher().register(Modzoic.meatEpanterias, 0, new ModelResourceLocation("modzoic" + ":meatEpanterias", "inventory"));
                                    dinomeat.registerRenders();
                                }
                            }
                            

                            (j’ai aussi essayé registerMesher.getItemModelMesher().register(Modzoic.dinomeat, 0, new ModelResourceLocation(“modzoic” + “:dinomeat”, “inventory”)); dans clientproxy mais ça me fait la même erreur que tout à l’heure)…

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

                              Dans ton proxy, tu appelles la fonction qui est vide, tu appelles pas la bonne…

                              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
                              • conquerorguepardC Hors-ligne
                                conquerorguepard
                                dernière édition par

                                J’appelle quoi alors. Dis stp parce que là je suis paumé.
                                ça?dinomeat.registerRender();
                                Marche pas non plus

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

                                  " + dinomeat.getUnlocalizedName().substring(5)" dans registerRender() dans dinomeat, retire ça, cela ne sert à rien à part qu’il peut pas trouver ton json

                                  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 1
                                  • conquerorguepardC Hors-ligne
                                    conquerorguepard
                                    dernière édition par

                                    YOUPIE! x’)
                                    Merci, je t’aime <3!

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

                                      Re! Désolé du double post, mais ça fait presque 24 heures et sinon personne le verrait ^^".
                                      Du coup voilà. A présent j’essaie de faire un item nourriture (avant c’était un item basique). J’ai à peu près tout fini je crois, cependant je rencontre deux petits erreurs, dont une dont je n’ai aucune idée de comment la régler.
                                      La première est dans ma classe principale:

                                          public static void registerRenders()
                                          {
                                              registerRender(meatzoic);
                                          }
                                      
                                          public static void registerRender()
                                          {
                                             Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(dinomeat, 0, new ModelResourceLocation("modzoic" + ":dinomeat", "inventory"));
                                          }
                                      }
                                      

                                      Avec pour erreur:
                                      The method registerRender() in the type dinomeat is not applicable for the arguments (Item)

                                      Si vous avez besoin de d’autres trucs, demandez moi :).
                                      Le deuxième c’est ça:
                                      (screen)

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

                                        résolu ?

                                        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
                                        • 1
                                        • 2
                                        • 3
                                        • 4
                                        • 3 / 4
                                        • Premier message
                                          Dernier message
                                        Design by Woryk
                                        ContactMentions Légales

                                        MINECRAFT FORGE FRANCE © 2024

                                        Powered by NodeBB