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

      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