MFF

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

    ENREGISTER un item

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

      Salut,
      Il faut passer par l’event RegistryEvent.Register https://www.minecraftforgefrance.fr/showthread.php?tid=4367

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

        CC, j’ai fait Ce code mais je ne suis pas sur qu’il sois sois juste car  j’ai toujours la même erreur

        public static void register()
        {
        RegistryEvent.Register<itemvikingaxe>;
        }
        
        ```</itemvikingaxe>

        également rien

        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

          Tu n’as pas regardé le lien que je t’es envoyé.

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

            Si mais j’aimerais enregistrer mes items dans la class de base (1er code que je t envoyer) et pas recrée une autre class

            1. RegisteringHandler c’est possible ?

            également rien

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

              Coucou moi j’ai utilisé ses deux fonctions (la première pour le registry et le nom délocalisé et la seconde pour enregistrer mes items)

              public static void setItemName(Item item, String name)
                  {
                      // ici on va attribuer un nom à nos objets
                      item.setRegistryName(Reference.MODID, name).setUnlocalizedName(Reference.MODID + "." + name);
                  }
              
              public static void registerItem(Item item){
              ForgeRegistries.ITEMS.register(item);
              ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
              }
              

              **Je suis un membre apprécié et joueur, j'ai déjà obtenu 1[ point de réputation./…

              1 réponse Dernière réponse Répondre Citer 1
              • S Hors-ligne
                Sciron
                dernière édition par

                J’ai essayer ton code, il n’y a pue d’erreur mais l’item n’est toujours pas implenter 😢

                package init;
                
                import com.mod.TGOTG.Reference;
                
                import items.ItemVikingAxe;
                import net.minecraft.client.Minecraft;
                import net.minecraft.client.renderer.block.model.ModelResourceLocation;
                import net.minecraft.item.Item;
                import net.minecraftforge.client.model.ModelLoader;
                import net.minecraftforge.event.RegistryEvent;
                import net.minecraftforge.fml.common.registry.ForgeRegistries;
                import net.minecraftforge.fml.common.registry.GameRegistry;
                
                public class ModItems
                {
                public static Item Viking_axe;
                
                public static void init()
                {
                Viking_axe = new ItemVikingAxe();
                }
                
                public static void registerRenders()
                {
                registerRender(Viking_axe);
                }
                
                private static void registerRender(Item item)
                {
                Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(Reference.MOD_ID + ":" + item.getUnlocalizedName().substring(5), "inventory"));
                }
                
                public static void register()
                {
                ForgeRegistries.ITEMS.register(Viking_axe);
                ModelLoader.setCustomModelResourceLocation(Viking_axe, 0, new ModelResourceLocation(Viking_axe.getRegistryName(), "inventory"));
                }
                }
                

                également rien

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

                  Pourquoi s’embêter avec des methods ??? faites le instruction par instruction c’est tellement plus simple quand l’on débute a modder en 1.10 🙂

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

                    Suivez les tutoriels

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

                      Est-ce que tu as bien une classe RegistryHandler avec au moins ça dedans ?

                      public class RegisteryHandler {
                      
                      public static void Client(){
                      
                      }
                      public static void Common()
                      {
                      NomClasse.init();
                      NomClasse.register();}
                      }
                      

                      et j’aimerais voir tes proxy aussi s’il te plaît

                      **Je suis un membre apprécié et joueur, j'ai déjà obtenu 1[ point de réputation./…

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

                        C’est quoi cette convention très mal respectée ? Ensuite, il serait peut être temps d’arrêter de vous servir d’un classe poubelle (RegisteryHandler), il vaut mieux réunir tous les blocs ensemble, etc…

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

                          Je comprend pas les gens commencer par le modding avant de connaitre le langage à employer ce qui fait que le modder est complètement paumé dans un truc qui se nomme le “Code” et le rend dépendent d’autres personnes pour écrire son code

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

                            Merci de ta remarque Superloup10 je pense et j’espèreavoir correctement modifié mon poste pour respecter la convention java.Mais personnellment je ne pense pas que ma classe  RegistryHandler soit encore une classe “poubelle” elle sert juste a centralisé mes autres classe (j’ai maintenant une classe BlockInit une ArmorInit etc…) Elle me sert juste à éviter de surcharger ma classe principale  😉

                            **Je suis un membre apprécié et joueur, j'ai déjà obtenu 1[ point de réputation./…

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

                              Oui, j’ai une classe RegistryHandler qui contient exactement ton code à la ligne près et voila mes proxy

                              Le client :
                              
                              package com.mod.tgotg.client;
                              
                              import java.io.File;
                              
                              import com.mod.tgotg.TgotgCommon;
                              
                              public class TgotgClient extends TgotgCommon
                              {
                              
                              @Override
                              public void preInit(File configFile)
                              {
                              super.preInit(configFile);
                              System.out.println("pre init côté Client");
                              }
                              
                              @Override
                              public void Init()
                              {
                              super.Init();
                              }
                              
                              }
                              
                              

                              Le server

                              package com.mod.tgotg.server;
                              
                              import java.io.File;
                              
                              import com.mod.tgotg.TgotgCommon;
                              
                              public class TgotgServer extends TgotgCommon
                              {
                              
                              @Override
                              public void preInit(File configFile)
                              {
                              super.preInit(configFile);
                              System.out.println("pre init côté serveur");
                              }
                              
                              @Override
                              public void Init() {
                              
                              super.Init();
                              }
                              
                              }
                              
                              

                              Le common

                              package com.mod.tgotg;
                              
                              import java.io.File;
                              
                              import com.mod.tgotg.Items.TgotgItems;
                              
                              public class TgotgCommon
                              {
                              
                              public void preInit(File configFile)
                              {
                              System.out.println("pre init côté commun");
                              TgotgItems.register();
                              }
                              
                              public void Init()
                              {
                              
                              }
                              
                              }
                              
                              

                              également rien

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

                                Salut alors à mon avis il faut faire quelque changements dans tes proxys (je te donne ma méthode ce n’est surement pas la plus respectueuse des conventions car je suis encore débutante)
                                On va utiliser les events comme l’a dit Robin

                                Dans ton common proxy ajoute ça dans ta fonction preinit ```java
                                RegisteryHandler.Common();

                                
                                Dans ton Client proxy il faut que tu obtienne quelquechose comme ceci
                                ```java
                                
                                public class ClientProxy extends CommonProxy
                                {
                                  public void preInit(FMLPreInitializationEvent event)
                                {
                                super.preInit(event);
                                }
                                
                                public void init(FMLInitializationEvent event)
                                {
                                super.init(event);
                                RegisteryHandler.Client();
                                }
                                
                                public void postInit(FMLPostInitializationEvent event)
                                {
                                super.postInit(event);
                                }
                                }
                                
                                

                                et dans ta classe principale vérifie que tu as bien dans toutes fonctions une ligne comme celle-ci

                                proxy.nomdetafonction(event); ex proxy.preInit(event);
                                

                                **Je suis un membre apprécié et joueur, j'ai déjà obtenu 1[ point de réputation./…

                                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