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.
    • 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