-
[1.11.2] Texture Not Loading Due to Missing File
Wow, Thank you everyone. I feel like an idiot. Haha.
-
[1.11.2] Texture Not Loading Due to Missing File
These are the files I have in src/main/jav: FirstMod.java package com.christopherb216.firstmod; import com.christopherb216.firstmod.proxy.CommonProxy; import init.ModItems; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; @Mod(modid = Reference.MOD_ID, name = Reference.NAME, version = Reference.VERSION, acceptedMinecraftVersions = Reference.ACCEPTED_VERSIONS) public class FirstMod { @Instance public static FirstMod instance; @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS) public static CommonProxy proxy; @EventHandler public void PreInit(FMLPreInitializationEvent event){ ModItems.init(); ModItems.register(); } @EventHandler public void Init(FMLInitializationEvent event){ proxy.init(); } @EventHandler public void PostInit(FMLPostInitializationEvent event){ } } Reference.java package com.christopherb216.firstmod; public class Reference { // Mod metadata public static final String MOD_ID = "chrfstmdmd"; public static final String NAME = "First Mod"; public static final String VERSION = "1.0"; public static final String ACCEPTED_VERSIONS = "[1.11.2]"; // Proxy data public static final String CLIENT_PROXY_CLASS = "com.christopherb216.firstmod.proxy.ClientProxy"; public static final String SERVER_PROXY_CLASS = "com.christopherb216.firstmod.proxy.ServerProxy"; // Item data public static enum FirstModItems { OBSIDIANINGOT("obsidianingot", "ItemObsidianIngot"); private String unlocalizedName; private String registryName; FirstModItems(String unlocalizedName, String registryName){ this.unlocalizedName = unlocalizedName; this.registryName = registryName; } public String getUnlocalizedName(){ return unlocalizedName; } public String getRegistryName(){ return registryName; } } } ModItems.java package init; import com.christopherb216.firstmod.Reference; import items.ItemObsidianIngot; 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.fml.common.registry.GameRegistry; public class ModItems { public static Item obsidianingot; public static void init(){ obsidianingot = new ItemObsidianIngot(); } public static void register(){ GameRegistry.register(obsidianingot); } public static void registerRenders(){ registerRender(obsidianingot); } private static void registerRender(Item item){ ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory")); } } ItemObsidianIngot.java package items; import com.christopherb216.firstmod.Reference; import net.minecraft.item.Item; public class ItemObsidianIngot extends Item { public ItemObsidianIngot(){ setUnlocalizedName(Reference.FirstModItems.OBSIDIANINGOT.getUnlocalizedName()); setRegistryName(Reference.FirstModItems.OBSIDIANINGOT.getRegistryName()); } } ClientProxy.java package com.christopherb216.firstmod.proxy; import init.ModItems; public class ClientProxy implements CommonProxy{ @Override public void init() { ModItems.registerRenders(); } } itemobsidianingot.json { "parent": "item/generated", "textures": { "layer0": "chrfstmdmd:items/obsidianingot" }, "display": { "thirdperson": { "rotation": [-90,0,0], "translation": [0,1,-3], "scale": [0.55,0.55,0.55] }, "firstperson": { "rotation": [0,-135,25], "translation": [0,4,2], "scale": [1.7,1.7,1.7] } } } en_US.lang item.obsidianingot.name=Obsidian Ingot So I know that in my src/main/resources folder, everything is in the assests.chrfstmdmd folder (I should've picked an easier name). "chrfstmdmd" is my ModID. When I run the code I get this output (The two spots I'm getting my error): [01:22:31] [Client thread/ERROR] [FML]: Exception loading model for variant chrfstmdmd:itemobsidianingot#inventory for item "chrfstmdmd:itemobsidianingot", normal location exception: net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model chrfstmdmd:item/itemobsidianingot with loader VanillaLoader.INSTANCE, skipping at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?] at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:336) ~[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:156) ~[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:122) [SimpleReloadableResourceManager.class:?] at net.minecraft.client.Minecraft.init(Minecraft.java:541) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:387) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_131] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_131] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_131] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_131] 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_131] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_131] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_131] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_131] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:26) [start/:?] Caused by: java.io.FileNotFoundException: chrfstmdmd:models/item/itemobsidianingot.json at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:69) ~[SimpleReloadableResourceManager.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:334) ~[ModelBakery.class:?] at net.minecraftforge.client.model.ModelLoader.access$1600(ModelLoader.java:126) ~[ModelLoader.class:?] at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:937) ~[ModelLoader$VanillaLoader.class:?] at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?] ... 20 more [01:22:31] [Client thread/ERROR] [FML]: Exception loading model for variant chrfstmdmd:itemobsidianingot#inventory for item "chrfstmdmd:itemobsidianingot", blockstate location exception: net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model chrfstmdmd:itemobsidianingot#inventory with loader VariantLoader.INSTANCE, skipping at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?] at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:344) ~[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:156) ~[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:122) [SimpleReloadableResourceManager.class:?] at net.minecraft.client.Minecraft.init(Minecraft.java:541) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:387) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_131] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_131] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_131] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_131] 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_131] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_131] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_131] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_131] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:26) [start/:?] Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:78) ~[ModelBlockDefinition.class:?] at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1253) ~[ModelLoader$VariantLoader.class:?] at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?] ... 20 more I've been trying to fix the "Caused by: java.io.FileNotFoundException: chrfstmdmd:models/item/itemobsidianingot.json" to no avail. I'm almost positive this should work; the file "chrfstmdmd/models/item/itemobsidianingot.json" does in fact exists but can't be found. I've also tried using: Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory")); instead of "ModelLoader.setCustom..." and that didn't work. I've tried moving when I register the obsidian ingot (i.e. proxy.init() that calls ModItems.registerRender(obsidianingot)) to the preInit method of FirstMod.java and it fails with a NullPointerException (for anyone interested): I hate to ask anyone to try to read over my code for typos (as I've done for hours and haven't found any), but if there's is anything wrong with this code, it'd be greatly appreciated. Thanks.
IPS spam blocked by CleanTalk.