Créer un item simple



  • Merci beaucoup tout marche maintenant 🙂



  • Bonjour,
    Ma première question est plus de l'ordre de la vérification. L'ajout de l'annotation @SubscribeEvent depuis la version 1.12.2, concernant la fonction registerItemModels, si je comprends bien, c'est parce qu'à partir de la 1.12.2, quelque chose (fml, je suppose), attend un événement bien particulier, celui qui signale qu'il est prêt à register, pour faire le register de tous les items du mod, c'est ça ? Et est-ce que du coup cela explique qu'on ait plus besoin à partir de la 1.12.2 d'appeler registerItemsModels dans la pré-initialisation du fichier client ?

    Ma deuxième question est concernant cette syntaxe :

    item.setRegistryName(ClassePrincipale.MODID, name).setUnlocalizedName(ClassePrincipale.MODID + "." + name);
    

    À la base, je code plutôt en C++, même si j'ai les bases de java. Pour moi, cette syntaxe signifie qu'on set le registryName de l'item et que ce "set" renvoit un objet qui possède une méthode permettant d'initialiser son unlocalized name. Est-ce que c'est bien ça, ou bien est-ce que ça fonctionne autrement sous java ? (D'ailleurs, tandis que je dis ça, je suis en train de regarder les fichiers java correspondant, et ça ne peut pas être ça puisque setRegistryName renvoit un String et que setUnlocalizedName est une méthode de l'objet item, donc rien à voir avec un String... )

    [Tu feras attention, il manque une parenthèse fermée, sur ce bout de code :

    ModelLoader.setCustomModelResourceLocation(item, metadata, new ModelResourceLocation(resourceName, "inventory");
    

    ]

    Ma troisième question est peut-être un poil flemmarde dans la mesure où je suppose que je pourrais chercher par moi-même (je comprendrais qu'on me réponde : "Bah va chercher !" ^^') : c'est quoi un fichier .json ?

    Et puis enfin, ma quatrième question : j'arrive ni à afficher une texture, ni à afficher un nom correct. Le jeu se lance sans problème, mais sans texture pour mon item et avec un nom standardisé de type "item.modid.nom_de_mon_item.name". Pour le nom d'item, j'ai crée mes fichiers fr_fr.lang et en_us.lang et dans les deux, j'ai essayé le format "item.modid.nom_de_mon_item.name=Nom de l'item" ainsi que "item.nom_de_mon_item.name=Nom de l'item" et même "item.modid.name=Nom de l'item". Et puis pour la texture, je ne sais pas quoi dire, j'ai suivi le tutoriel à la lettre...

    Merci par avance pour les réponse et la patience de celui qui me répondra ! 😃


  • Administrateurs

    1. En effet, l'annotation SubscribeEvent indique que ta méthode va écoute un event, forge va donc l'appeler quand cette event sera déclenché. Par contre pour qu'il sache que ta classe contient des event il faut l'indiquer, avec @EventBusSubscriber ou la fonction MinecraftForge.EVENT_BUS.register.

    2. Tu peux faire un ctrl + clic sur la fonction pour que ton IDE ouvre la classe Block et voir sa définition. En fait la méthode setRegistryName renvoie this (le bloc lui même donc) ce qui te permet de chaîner une autre fonction de la classe directement après, sans le faire sur une nouvelle ligne.

    3. Le json est un format conçu pour représenter un objet, à la base fait pour le JS, mais désormais largement utilisé dans tout le monde informatique pour représenter des données.

    4. Toutes les ressources se trouve bien dans le dossier src/main/resources ? puis ensuite dans le bon package ? (assets.tonmodid.lang ) ?



  • Ouah ! Merci ! Je m'attendais pas à une réponse aussi tard !

    Pour la seconde question, autant pour moi, je viens de vérifier et effectivement, la fonction renvoie "this" et c'est donc beaucoup plus logique ainsi.

    Et pour la dernière, après vérification avec ce que tu m'as transmis comme nom de package, je me suis rendu compte que j'avais créé un dossier "asset" au lieu de "assets". Ce qui règle mon problème de .lang, mais pas mon problème de texture.

    Encore merci pour ton aide, vraiment !

    P.S. : Après vérification, je ne comprends pas bien pourquoi mais ma fonction registerItemModels n'est jamais appelée. Si j'ai bien compris, elle devrait être appelée automatiquement à l'appel de l'événement auquel elle est liée, non ?

    P.S. 2 : Après avoir étudié en long en large et en travers la documentation de forge, j'ai finis par mettre dans ma fonction de pré-initialisation un :

    MinecraftForge.EVENT_BUS.register(<modid>Items.class);
    

    Et il semblerait que ça marche. Est-ce que c'est un oubli dans le tutoriel que j'ai réussis à retrouver seul ou bien est-ce que j'ai fais une manipulation imprévue qui fonctionne ? Voire même est-ce que je devrais pas faire ça ?


  • Administrateurs

    Salut,
    Ce n'est pas un oublie du tutoriel, qui lui utilise la ligne suivante :

    @EventBusSubscriber(value = Side.CLIENT, modid = ModTutorial.MODID) // En 1.12+
    

    en haut de la déclaration de la classe qui réalise la même chose (ou presque, si ta ligne de se trouve dans ton client proxy c'est bien la même chose, sinon tu l'as mis dans la classe principale ou en commun, cela risque de causer des problèmes pour si ton mod est installé sur un serveur)



  • Super ! Je comprends maintenant, j'avais effectivement loupé cette information. Merci beaucoup !



  • This post is deleted!


  • Bonjour j'ai une question cette partie du tutoriel est elle valide en 1.12.2 car j'ai une erreur
    @Pchom a dit dans Créer un item simple :

    @SubscribeEvent signifie que la fonction qui suit utilise un événement, ici, l'événement est RegistryEvent. Cet événement est appelé une fois par Registre. Ici, nous voulons enregistrer un Item, alors nous allons utiliser le registre des items, soit Register. Cette fonction sera appelée une fois AVANT le pre-init. J'insiste sur le mot avant. Vos items sont enregistrés AVANT que le pre-init soit appelé. Vous devez le savoir.

    > event.getRegistry().registerAll(TutorialItems.TUTORIAL);
    

    Cette ligne enregistre tous les items passés en argument. Nous ne voulons en enregistrer qu'un : TUTORIAL. Mais si nous en avions plusieurs, nous devrions écrire :

    > event.getRegistry().registerAll(block1, block2, block3);
    

    Merci !


  • Administrateurs

    Oui, cette partie est toujours valide en 1.12.2.
    Quelle est ton erreur ?



  • java.lang.ExceptionInInitializerError
    	at notfound.administration.RegisteringHandler.registerItems(RegisteringHandler.java:13)
    	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_4_RegisteringHandler_registerItems_Register.invoke(.dynamic)
    	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
    	at net.minecraftforge.fml.common.eventhandler.EventBus$1.invoke(EventBus.java:144)
    	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
    	at net.minecraftforge.registries.GameData.fireRegistryEvents(GameData.java:782)
    	at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:628)
    	at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:252)
    	at net.minecraft.client.Minecraft.init(Minecraft.java:513)
    	at net.minecraft.client.Minecraft.run(Minecraft.java:421)
    	at net.minecraft.client.main.Main.main(Main.java:118)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
    	at GradleStart.main(GradleStart.java:25)
    Caused by: java.lang.IllegalStateException: Attempted to set registry name with existing registry name! New: administration:item_carte_identite Old: administration:item_carte_identite
    	at net.minecraftforge.registries.IForgeRegistryEntry$Impl.setRegistryName(IForgeRegistryEntry.java:71)
    	at net.minecraftforge.registries.IForgeRegistryEntry$Impl.setRegistryName(IForgeRegistryEntry.java:80)
    	at notfound.administration.items.AdministrationItems.setItemName(AdministrationItems.java:22)
    	at notfound.administration.items.ItemCarteIdentite.<init>(ItemCarteIdentite.java:14)
    	at notfound.administration.items.AdministrationItems.<clinit>(AdministrationItems.java:16)
    	... 23 more

  • Administrateurs

    Tu peux envoyer ta classe RegisteringHandler ?



  • package notfound.administration;
    
    import net.minecraft.item.Item;
    import net.minecraftforge.event.RegistryEvent;
    import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
    import notfound.administration.items.AdministrationItems;
    
    public class RegisteringHandler
    {
        @SubscribeEvent
        public void registerItems(RegistryEvent.Register<Item> event)
        {   
            event.getRegistry().registerAll(AdministrationItems.CARTE_IDENTITE, AdministrationItems.PERMIS_DE_CONDUIRE);
        }  
    }
    

  • Administrateurs

    Hum j'ai du mal à comprendre comment il peut avoir un npe ici.
    Tu peux envoyer la classe AdministrationItems ?



  • Voici

    package notfound.administration.items;
    
    import net.minecraft.client.renderer.block.model.ModelResourceLocation;
    import net.minecraft.item.Item;
    import net.minecraftforge.client.event.ModelRegistryEvent;
    import net.minecraftforge.client.model.ModelLoader;
    import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
    import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
    import net.minecraftforge.fml.relauncher.Side;
    import net.minecraftforge.fml.relauncher.SideOnly;
    import notfound.administration.ModAdministration;
    
    @EventBusSubscriber(value = Side.CLIENT, modid = ModAdministration.MODID)
    public class AdministrationItems
    {
        public static final Item CARTE_IDENTITE = new ItemCarteIdentite();
        public static final Item PERMIS_DE_CONDUIRE = new ItemPermisDeConduire();
        
        public static void setItemName(Item item, String name)
        {
            item.setRegistryName(ModAdministration.MODID, name).setTranslationKey(ModAdministration.MODID + "." + name);
            item.setRegistryName(ModAdministration.MODID, name).setTranslationKey(ModAdministration.MODID + "." + name); 
        }
        
        @SideOnly(Side.CLIENT)
    @SubscribeEvent   
        public static void registerItemModels(ModelRegistryEvent event)
        {
            registerModel(CARTE_IDENTITE, 0);
            registerModel(PERMIS_DE_CONDUIRE, 0);
        }
        
        @SideOnly(Side.CLIENT)
        public static void registerModel(Item item, int metadata)
        {
            if (metadata < 0) metadata = 0;
            String ressourceName = item.getTranslationKey().substring(5).replace('.', ':');
            if (metadata > 0) ressourceName += "_m" + String.valueOf(metadata);
            
            ModelLoader.setCustomModelResourceLocation(item, metadata, new ModelResourceLocation(ressourceName, "inventory"));
        }
    }
    

  • Administrateurs

    Ahh en fait le problème n'est pas là où je pensais, j'ai mal lu le stacktrace.

    Le sousics est à la ligne 21 / 22 de la classe AdministrationItems, cette ligne est en double or il ne faudrait pas.



  • Oui c'est sa merci pour l'aide je sais pas pourquoi je l'avait mit deux fois d'ailleurs je l'avait fait pour la ligne 36 a 38 mais je l'avait remarquer
    Bonne soirée !
    Merciii



  • J'ai un problème. Je lance le jeu et j'ai en item un nom non-localisé et en plus pas de texture alors que j'ai tout suivis à la lettre ! Svp aidez moi 😞 .


  • Administrateurs

    Salut,
    Peux-tu envoies les logs de ton jeu ainsi qu'un screenshot du contenu de src/main/resources ?



  • @robin4002 Je croye que je m'était trompé de package



  • @robin4002 Ca a pas marché les packages

    [21:28:06] [main/INFO] [GradleStart]: username: abbylui4a25@gmail.com
    [21:28:06] [main/INFO] [GradleStart]: Extra: []
    [21:28:06] [main/INFO] [GradleStart]: Password found, attempting login
    [21:28:06] [main/INFO] [mojang/YggdrasilUserAuthentication]: Logging in with username & password
    [21:28:10] [main/INFO] [GradleStart]: Login Succesful!
    [21:28:10] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, [], --assetsDir, C:/Users/plusq/.gradle/caches/minecraft/assets, --assetIndex, 1.12, --userType, mojang, --accessToken{REDACTED}, --version, 1.12.2, --uuid, c00467ffcca241ceb455602bcdc48803, --username, abbylui2229, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
    [21:28:10] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
    [21:28:10] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
    [21:28:10] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
    [21:28:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
    [21:28:10] [main/INFO] [FML]: Forge Mod Loader version 14.23.5.2823 for Minecraft 1.12.2 loading
    [21:28:10] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_191, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_191
    [21:28:10] [main/ERROR] [FML]: Apache Maven library folder was not in the format expected. Using default libraries directory.
    [21:28:10] [main/ERROR] [FML]: Full: C:\Users\plusq\.gradle\caches\modules-2\files-2.1\org.apache.maven\maven-artifact\3.5.3\7dc72b6d6d8a6dced3d294ed54c2cc3515ade9f4\maven-artifact-3.5.3.jar
    [21:28:10] [main/ERROR] [FML]: Trimmed: c:/users/plusq/.gradle/caches/modules-2/files-2.1/org.apache.maven/maven-artifact/3.5.3/
    [21:28:10] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
    [21:28:10] [main/INFO] [FML]: Detected deobfuscated environment, loading log configs for colored console logs.
    2019-04-12 21:28:12,921 main WARN Disabling terminal, you're running in an unsupported environment.
    [21:28:13] [main/INFO] [FML]: Ignoring missing certificate for coremod FMLCorePlugin (net.minecraftforge.fml.relauncher.FMLCorePlugin), we are in deobf and it's a forge core plugin
    [21:28:13] [main/INFO] [FML]: Ignoring missing certificate for coremod FMLForgePlugin (net.minecraftforge.classloading.FMLForgePlugin), we are in deobf and it's a forge core plugin
    [21:28:13] [main/INFO] [FML]: Searching C:\Users\plusq\Desktop\Forge\run\.\mods for mods
    [21:28:13] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
    [21:28:13] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
    [21:28:13] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
    [21:28:13] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [21:28:13] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
    [21:28:13] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
    [21:28:13] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [21:28:13] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [21:28:13] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
    [21:28:16] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
    [21:28:16] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
    [21:28:16] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
    [21:28:16] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
    [21:28:16] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
    [21:28:16] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
    [21:28:16] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
    [21:28:17] [Client thread/INFO] [minecraft/Minecraft]: Setting user: abbylui2229
    [21:28:23] [Client thread/WARN] [minecraft/GameSettings]: Skipping bad option: lastServer:
    [21:28:23] [Client thread/INFO] [minecraft/Minecraft]: LWJGL Version: 2.9.4
    [21:28:26] [Client thread/INFO] [FML]: -- System Details --
    Details:
    	Minecraft Version: 1.12.2
    	Operating System: Windows 10 (amd64) version 10.0
    	Java Version: 1.8.0_191, Oracle Corporation
    	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    	Memory: 802649080 bytes (765 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
    	JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    	FML: 
    	Loaded coremods (and transformers): 
    	GL info: ' Vendor: 'Intel' Version: '4.5.0 - Build 23.20.16.4973' Renderer: 'Intel(R) HD Graphics 520'
    [21:28:26] [Client thread/INFO] [FML]: MinecraftForge v14.23.5.2823 Initialized
    [21:28:26] [Client thread/INFO] [FML]: Starts to replace vanilla recipe ingredients with ore ingredients.
    [21:28:26] [Client thread/INFO] [FML]: Replaced 1036 ore ingredients
    [21:28:27] [Client thread/INFO] [FML]: Searching C:\Users\plusq\Desktop\Forge\run\.\mods for mods
    [21:28:29] [Thread-3/INFO] [FML]: Using sync timing. 200 frames of Display.update took 100644477 nanos
    [21:28:29] [Client thread/INFO] [FML]: Forge Mod Loader has identified 5 mods to load
    [21:28:30] [Client thread/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, modfuturastia] at CLIENT
    [21:28:30] [Client thread/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, modfuturastia] at SERVER
    [21:28:31] [Client thread/INFO] [minecraft/SimpleReloadableResourceManager]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Mod Futurastia
    [21:28:31] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
    [21:28:31] [Client thread/INFO] [FML]: Found 1168 ObjectHolder annotations
    [21:28:31] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
    [21:28:31] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
    [21:28:31] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
    [21:28:31] [Forge Version Check/INFO] [forge.VersionCheck]: [forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
    [21:28:31] [Client thread/ERROR] [modfuturastia]: Une erreur est survenue
    [21:28:31] [Client thread/INFO] [FML]: Applying holder lookups
    [21:28:31] [Client thread/INFO] [FML]: Holder lookups applied
    [21:28:31] [Client thread/INFO] [FML]: Applying holder lookups
    [21:28:31] [Client thread/INFO] [FML]: Holder lookups applied
    [21:28:31] [Client thread/INFO] [FML]: Applying holder lookups
    [21:28:31] [Client thread/INFO] [FML]: Holder lookups applied
    [21:28:31] [Client thread/INFO] [FML]: Applying holder lookups
    [21:28:31] [Client thread/INFO] [FML]: Holder lookups applied
    [21:28:31] [Client thread/INFO] [FML]: Injecting itemstacks
    [21:28:31] [Client thread/INFO] [FML]: Itemstack injection complete
    [21:28:32] [Forge Version Check/INFO] [forge.VersionCheck]: [forge] Found status: OUTDATED Target: 14.23.5.2835
    [21:29:02] [Sound Library Loader/INFO] [minecraft/SoundManager]: Starting up SoundSystem...
    [21:29:02] [Thread-5/INFO] [minecraft/SoundManager]: Initializing LWJGL OpenAL
    [21:29:02] [Thread-5/INFO] [minecraft/SoundManager]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
    [21:29:02] [Thread-5/INFO] [minecraft/SoundManager]: OpenAL initialized.
    [21:29:02] [Sound Library Loader/INFO] [minecraft/SoundManager]: Sound engine started
    [21:29:12] [Client thread/INFO] [FML]: Max texture size: 8192
    [21:29:12] [Client thread/INFO] [minecraft/TextureMap]: Created: 512x512 textures-atlas
    [21:29:13] [Client thread/ERROR] [FML]: Exception loading model for variant modfuturastia:item_test#inventory for item "modfuturastia:item_test", normal location exception: 
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model modfuturastia:item/item_test with loader VanillaLoader.INSTANCE, skipping
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:161) ~[ModelLoaderRegistry.class:?]
    	at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:302) ~[ModelLoader.class:?]
    	at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:151) ~[ModelLoader.class:?]
    	at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    	at net.minecraft.client.Minecraft.init(Minecraft.java:560) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:422) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_191]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_191]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_191]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_191]
    	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_191]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_191]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_191]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_191]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    	at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: java.io.FileNotFoundException: modfuturastia:models/item/item_test.json
    	at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:69) ~[FallbackResourceManager.class:?]
    	at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:65) ~[SimpleReloadableResourceManager.class:?]
    	at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:334) ~[ModelBakery.class:?]
    	at net.minecraftforge.client.model.ModelLoader.access$1400(ModelLoader.java:115) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:861) ~[ModelLoader$VanillaLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?]
    	... 20 more
    [21:29:14] [Client thread/ERROR] [FML]: Exception loading model for variant modfuturastia:item_test#inventory for item "modfuturastia:item_test", blockstate location exception: 
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model modfuturastia:item_test#inventory with loader VariantLoader.INSTANCE, skipping
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:161) ~[ModelLoaderRegistry.class:?]
    	at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:296) ~[ModelLoader.class:?]
    	at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:151) ~[ModelLoader.class:?]
    	at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    	at net.minecraft.client.Minecraft.init(Minecraft.java:560) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:422) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_191]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_191]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_191]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_191]
    	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_191]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_191]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_191]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_191]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    	at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
    	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
    	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1175) ~[ModelLoader$VariantLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?]
    	... 20 more
    [21:29:15] [Client thread/INFO] [FML]: Applying holder lookups
    [21:29:15] [Client thread/INFO] [FML]: Holder lookups applied
    [21:29:15] [Client thread/INFO] [FML]: Injecting itemstacks
    [21:29:15] [Client thread/INFO] [FML]: Itemstack injection complete
    [21:29:15] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 5 mods
    [21:29:15] [Client thread/WARN] [minecraft/GameSettings]: Skipping bad option: lastServer:
    [21:29:15] [Client thread/INFO] [mojang/NarratorWindows]: Narrator library for x64 successfully loaded
    [21:29:20] [Server thread/INFO] [minecraft/IntegratedServer]: Starting integrated minecraft server version 1.12.2
    [21:29:20] [Server thread/INFO] [minecraft/IntegratedServer]: Generating keypair
    [21:29:20] [Server thread/INFO] [FML]: Injecting existing registry data into this server instance
    [21:29:21] [Server thread/INFO] [FML]: Applying holder lookups
    [21:29:21] [Server thread/INFO] [FML]: Holder lookups applied
    [21:29:21] [Server thread/INFO] [FML]: Loading dimension 0 (Monde de test Erystia Mod) (net.minecraft.server.integrated.IntegratedServer@7a25a0d8)
    [21:29:22] [Server thread/INFO] [minecraft/AdvancementList]: Loaded 488 advancements
    [21:29:22] [Server thread/INFO] [FML]: Loading dimension -1 (Monde de test Erystia Mod) (net.minecraft.server.integrated.IntegratedServer@7a25a0d8)
    [21:29:22] [Server thread/INFO] [FML]: Loading dimension 1 (Monde de test Erystia Mod) (net.minecraft.server.integrated.IntegratedServer@7a25a0d8)
    [21:29:22] [Server thread/INFO] [minecraft/MinecraftServer]: Preparing start region for level 0
    [21:29:23] [Server thread/INFO] [minecraft/MinecraftServer]: Preparing spawn area: 13%
    [21:29:24] [Server thread/INFO] [minecraft/MinecraftServer]: Preparing spawn area: 80%
    [21:29:25] [Server thread/INFO] [FML]: Unloading dimension -1
    [21:29:25] [Server thread/INFO] [FML]: Unloading dimension 1
    [21:29:25] [Server thread/INFO] [minecraft/IntegratedServer]: Changing view distance to 12, from 10
    [21:29:28] [Netty Local Client IO #0/INFO] [FML]: Server protocol version 2
    [21:29:28] [Netty Server IO #1/INFO] [FML]: Client protocol version 2
    [21:29:28] [Netty Server IO #1/INFO] [FML]: Client attempting to join with 5 mods : minecraft@1.12.2,FML@8.0.99.99,forge@14.23.5.2823,mcp@9.42,modfuturastia@0.1
    [21:29:28] [Netty Local Client IO #0/INFO] [FML]: [Netty Local Client IO #0] Client side modded connection established
    [21:29:28] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established
    [21:29:28] [Server thread/INFO] [minecraft/PlayerList]: abbylui2229[local:E:b081bc4c] logged in with entity id 332 at (72.92759080016529, 64.0, 165.40337565174198)
    [21:29:28] [Server thread/INFO] [minecraft/MinecraftServer]: abbylui2229 joined the game
    [21:29:30] [Server thread/INFO] [minecraft/IntegratedServer]: Saving and pausing game...
    [21:29:30] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'Monde de test Erystia Mod'/overworld
    [21:29:32] [Server thread/WARN] [minecraft/MinecraftServer]: Can't keep up! Did the system time change, or is the server overloaded? Running 3513ms behind, skipping 70 tick(s)
    [21:29:37] [Client thread/INFO] [minecraft/AdvancementList]: Loaded 29 advancements
    [21:29:42] [Server thread/INFO] [minecraft/IntegratedServer]: Saving and pausing game...
    [21:29:42] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'Monde de test Erystia Mod'/overworld
    [21:30:07] [Server thread/INFO] [minecraft/MinecraftServer]: Stopping server
    [21:30:07] [Server thread/INFO] [minecraft/MinecraftServer]: Saving players
    [21:30:07] [Server thread/INFO] [minecraft/NetHandlerPlayServer]: abbylui2229 lost connection: Disconnected
    [21:30:07] [Server thread/INFO] [minecraft/MinecraftServer]: abbylui2229 left the game
    [21:30:08] [Server thread/INFO] [minecraft/NetHandlerPlayServer]: Stopping singleplayer server as player logged out
    [21:30:08] [Server thread/INFO] [minecraft/MinecraftServer]: Saving worlds
    [21:30:08] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'Monde de test Erystia Mod'/overworld
    [21:30:08] [Server thread/INFO] [FML]: Unloading dimension 0
    [21:30:08] [Server thread/INFO] [FML]: Applying holder lookups
    [21:30:08] [Server thread/INFO] [FML]: Holder lookups applied
    [21:30:09] [Client thread/INFO] [minecraft/Minecraft]: Stopping!
    [21:30:09] [Client thread/INFO] [minecraft/SoundManager]: SoundSystem shutting down...
    [21:30:09] [Client thread/WARN] [minecraft/SoundManager]: Author: Paul Lamb, www.paulscode.com
    Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release```
    
    ![Capture.PNG](/assets/uploads/files/1555097683549-capture.png)

Log in to reply