MFF

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

    Crash item

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    11 Messages 3 Publieurs 1.9k 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.
    • AmelyaA Hors-ligne
      Amelya
      dernière édition par

      J’ai créer un item simple et cela crash etje ne sait pas ou placer le fichier json ni comment il est implanter dans le code sinon voici tout les détails et il n’ya a pas d’erreur dans eclipse

      :::

      package fr.amelya.mod.common;
      
      import fr.amelya.mod.common.items.itemTest;
      import fr.amelya.mod.proxy.CommonProxy;
      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;
      
      @Mod(modid = References.MOD_ID, name = References.MOD_NAME, version = References.VERSION)
      
      public class MainClass
      {
      /* ITEMS */
      
      public static Item itemTest;
      
      /* FIN ITEMS */
      
      @Instance("amelya")
      public static MainClass instance;
      
      @SidedProxy(clientSide = References.CLIENT_PROXY_CLASS, serverSide = References.COMMON_PROXY_CLASS)
      public static CommonProxy proxy;
      
      @EventHandler
      public void preInit(FMLPreInitializationEvent event) {
      
      itemTest = new itemTest();
      
      GameRegistry.registerItem(itemTest, "itemTest");
      }
      
      @EventHandler
      public void init(FMLInitializationEvent event) {
      proxy.registerRender();
      }
      
      @EventHandler
      public void postInit(FMLPostInitializationEvent event) {
      
      }
      }
      
      

      :::

      :::

      package fr.amelya.mod.common;
      
      public class References
      {
      
      public static final String MOD_ID = "amelya";
      public static final String MOD_NAME = "ModAmelya";
      public static final String VERSION = "1.0";
      public static final String CLIENT_PROXY_CLASS = "fr.amelya.mod.proxy.ClientProxy";
      public static final String COMMON_PROXY_CLASS = "fr.amelya.mod.proxy.CommonProxy";
      
      }
      
      

      :::

      :::

      package fr.amelya.mod.common.items;
      
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.item.Item;
      
      public class itemTest extends Item {
      
         public itemTest()
         {
          this.setUnlocalizedName("itemTest");
          this.setCreativeTab(CreativeTabs.tabMisc);
         }
      
      }
      
      

      :::

      :::

      package fr.amelya.mod.proxy;
      
      import fr.amelya.mod.common.MainClass;
      import net.minecraft.client.Minecraft;
      import net.minecraft.client.renderer.entity.RenderItem;
      import net.minecraft.client.resources.model.ModelResourceLocation;
      
      public class ClientProxy extends CommonProxy
      {
      RenderItem registerMesher = Minecraft.getMinecraft().getRenderItem();
      
      @Override
      public void registerRender()
      {
      registerMesher.getItemModelMesher().register(MainClass.itemTest, 0, new ModelResourceLocation("amelya" + ":itemTest", "inventory"));
      }
      
      }
      
      

      :::

      log : http://pastebin.com/Xm68nmHu

      Crash : http://pastebin.com/AYD1ZDFH

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

        Essai de décortiquer pour voir où est le NPE exactement

        
        @Override
        public void registerRender()
        {
        RenderItem registerMesher = Minecraft.getMinecraft().getRenderItem();
        ItemModelMesher mesher = registerMesher.getItemModelMesher();
        ModelResourceLocation = new ModelResourceLocation("amelya" + ":itemTest", "inventory");
        mesher.register(MainClass.itemTest, 0, model);
        }
        
        
        1 réponse Dernière réponse Répondre Citer 0
        • AmelyaA Hors-ligne
          Amelya
          dernière édition par

          j’ai pas tout compris et il ya des erreurs avec ce code et c’est quoi le npe et je n’ao trouver aucune video ou page expliquant la base de la 1.8 pas comme la 1.7 ou je savais tout

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

            Remplace ta fonction registerRender() par ça :

            
            @Override
            public void registerRender() {
            RenderItem registerMesher = Minecraft.getMinecraft().getRenderItem();
            ItemModelMesher mesher = registerMesher.getItemModelMesher();
            ModelResourceLocation model = new ModelResourceLocation("amelya" + ":itemTest", "inventory");
            mesher.register(MainClass.itemTest, 0, model);
            }
            
            

            Lance le jeu, et renvoie le crashReport

            (Pour les bases, c’est plus ou moins pareil qu’en 1.7 sauf le proxy qui est expliqué dans le tutoriel pour créer un item)

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

              ok merci faut mettre sa a cahque nouvel item ?

              ModelResourceLocation model =  new ModelResourceLocation(“amelya” + “:itemTest”, “inventory”);
              mesher.register(MainClass.itemTest, 0, model); en chageant le nom bien sur

              et sinon le json on le met bien a la racine de src/ressource ?

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

                Je te conseil de regarder le tutoriel 1.8 sur la façon de créer un item simple, dedans tu verra comment enregistrer les textures facilement, et où mettre les json, parce que pour les blocs il en faut 3, et 1 pour les items dans des packages qu’il faut bien nommer

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

                  justement je suis parti de ce tutoriel mais jai l’impression que tout a changer depuis la 1.7 car pour les textures il ne faut plud de dossier modid comme avant ? et c’est bien cela le tuto non ? http://www.minecraftforgefrance.fr/showthread.php?tid=1901

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

                    Oui, c’est celui-ci
                    Excuse-moi, c’est dans celui-là qu’il explique comment organisé les packages, le proxy tout ça …
                    [http://www.minecraftforgefrance.fr/showthread.php?tid=1903#json, textures, nom](http://www.minecraftforgefrance.fr/showthread.php?tid=1903#json, textures, nom)

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

                      ok merci je vais faire un bloc avant de continuer les items au pire

                      les seuls tutos videos sont en anglais c’est vraiment domage

                      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

                        RenderItem registerMesher = Minecraft.getMinecraft().getRenderItem(); est null lors de l’initialisation du proxy.
                        Il faut mettre cette ligne à l’intérieur de la méthode registerRender

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

                          j’ai tout refait a partir d’un tuto video anglais et sa marche mieux dommage quil y en est pas en fr

                          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