Jump to content

Recommended Posts

Posted

I'm trying to Render my Item but my code throws an exception.
 

[06:13:42] [Client thread/ERROR] [FML]: Exception loading model for variant minecraft:hello#inventory for item "d:hello", normal location exception: 
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model minecraft:item/hello 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_212]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_212]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_212]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_212]
	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_212]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_212]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_212]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_212]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:25) [start/:?]
Caused by: java.io.FileNotFoundException: minecraft:models/item/hello.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
[06:13:42] [Client thread/ERROR] [FML]: Exception loading model for variant minecraft:hello#inventory for item "d:hello", blockstate location exception: 
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model minecraft:hello#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_212]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_212]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_212]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_212]
	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_212]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_212]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_212]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_212]
	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
{
    "parent": "item/generated",
    "textures": {
        "layer0": "d:item/angel"
    }
}

I have created the code. It seems to be isolated to the custom resource location. "d" is my modid, and "angel" is a png. I'm honestly at my wit's end trying to find what's wrong with the code. It doesn't seem to want to load the JSON file. 

 

Posted (edited)
  On 7/9/2019 at 10:23 PM, Noxxous said:

t.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model minecraft:item/hello 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_212] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_212] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_212] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_212] 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_212] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_212] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_212] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_212] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:25) [start/:?]

Expand  

Show me your source code please...

 

Edited by ProPane865
Grammatical error
Posted
package com.blake.cloudmod;

import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemAnvilBlock;
import net.minecraft.item.ItemAppleGold;
import net.minecraftforge.client.model.ModelLoader;

public class ClientProxy extends CommonProxy {
	
	//this appears to be the issue
	public void registerItemRenderer (Item item, int meta, String id) {
		ModelLoader.setCustomModelResourceLocation (item, meta, new ModelResourceLocation(item.getRegistryName(), id));
	}
	
}
package com.blake.cloudmod.util.handlers;

import com.blake.cloudmod.init.Items;
import com.blake.cloudmod.util.IHasModel;

import net.minecraft.item.Item;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

@EventBusSubscriber
public class RegistryHandler {
	
	@SubscribeEvent
	public static void onItemRegister(RegistryEvent.Register<Item> event) {
		event.getRegistry().registerAll(Items.ITEMS.toArray(new Item[0]));
	}
	
	@SubscribeEvent
	public static void onModelRegister(ModelRegistryEvent event) {
		for (Item item : Items.ITEMS) {
			if (item instanceof IHasModel) {
				((IHasModel)item).registerModels();
			}
		}
	}
	
}
package com.blake.cloudmod.init.items;

import com.blake.cloudmod.mainClass;
import com.blake.cloudmod.init.Items;
import com.blake.cloudmod.util.IHasModel;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;

public class ItemBase extends Item implements IHasModel {

	public ItemBase(String name) {
		setUnlocalizedName(name);
		setRegistryName(name);
		setCreativeTab(CreativeTabs.MISC);
		
		Items.ITEMS.add(this);
	}
	//this method is loaded
	@Override
	public void registerModels() {
		mainClass.proxy.registerItemRenderer(this, 0, "inventory");
	}

}


 

Posted

 

package com.blake.cloudmod;

import net.minecraft.item.Item;

public class CommonProxy {
	public void registerItemRenderer (Item item, int meta, String id) {}

}

 

Posted

Toss out everything and use a Tutorial that's not shit.

https://cubicoder.github.io/tutorials/1-12-2/tutorials/

  • Like 2

This is my Forum Signature, I am currently attempting to transform it into a small guide for fixing easier issues using spoiler blocks to keep things tidy.

 

As the most common issue I feel I should put this outside the main bulk:

The only official source for Forge is https://files.minecraftforge.net, and the only site I trust for getting mods is CurseForge.

If you use any site other than these, please take a look at the StopModReposts project and install their browser extension, I would also advise running a virus scan.

 

For players asking for assistance with Forge please expand the spoiler below and read the appropriate section(s) in its/their entirety.

  Reveal hidden contents

 

Posted (edited)

This way of registering items is not exactly efficient.

 

EDIT: DaemonUmbra seems to have read my mind lol.

 

Read my code!

 

package com.mods.propane865.undergrounddiscovery;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import com.mods.propane865.undergrounddiscovery.items.CustomAxeItem;
import com.mods.propane865.undergrounddiscovery.items.CustomPickaxeItem;
import com.mods.propane865.undergrounddiscovery.lists.ArmorMaterialList;
import com.mods.propane865.undergrounddiscovery.lists.BlockList;
import com.mods.propane865.undergrounddiscovery.lists.ItemList;
import com.mods.propane865.undergrounddiscovery.lists.ToolMaterialList;
import com.mods.propane865.undergrounddiscovery.world.OreGeneration;

import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ArmorItem;
import net.minecraft.item.BlockItem;
import net.minecraft.item.HoeItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ShovelItem;
import net.minecraft.item.SwordItem;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;

@Mod("undergrounddiscovery")
public class Main
{
	public static Main instance;
	public static final String MODID = "undergrounddiscovery";
	private static final Logger LOGGER = LogManager.getLogger(MODID);
	public static final ItemGroup MORE_METALS = new MoreMetals();
	
	public Main()
	{
		instance = this;
		
		FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
		FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientRegistries);
		
		MinecraftForge.EVENT_BUS.register(this);
	}
	
	private void setup(final FMLCommonSetupEvent event)
	{
		OreGeneration.setupOreGeneration();
		LOGGER.info("Setup method registered.");
	}
	
	private void clientRegistries(final FMLClientSetupEvent event)
	{
		LOGGER.info("clientRegistries method registered.");
	}
	
	@Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD)
	public static class RegistryEvents
	{
		@SubscribeEvent
		public static void registerItems(final RegistryEvent.Register<Item> event)
		{
			event.getRegistry().registerAll
			(
				ItemList.copper_ingot = new Item(new Item.Properties().group(MORE_METALS)).setRegistryName(location("copper_ingot")),
				
				ItemList.copper_block = new BlockItem(BlockList.copper_block, new Item.Properties().group(MORE_METALS)).setRegistryName(BlockList.copper_block.getRegistryName()),
				ItemList.copper_ore = new BlockItem(BlockList.copper_ore, new Item.Properties().group(MORE_METALS)).setRegistryName(BlockList.copper_ore.getRegistryName()),
				
				ItemList.copper_axe = new CustomAxeItem(ToolMaterialList.copper, 0.0f, -3.1f, new Item.Properties().group(MORE_METALS)).setRegistryName(location("copper_axe")),
				ItemList.copper_hoe = new HoeItem(ToolMaterialList.copper, -3.0f, new Item.Properties().group(MORE_METALS)).setRegistryName(location("copper_hoe")),
				ItemList.copper_pickaxe = new CustomPickaxeItem(ToolMaterialList.copper, (int) -3.0f, -3.0f, new Item.Properties().group(MORE_METALS)).setRegistryName(location("copper_pickaxe")),
				ItemList.copper_shovel = new ShovelItem(ToolMaterialList.copper, -4.0f, -3.0f, new Item.Properties().group(MORE_METALS)).setRegistryName(location("copper_shovel")),
				ItemList.copper_sword = new SwordItem(ToolMaterialList.copper, (int) -1.0f, -2.4f, new Item.Properties().group(MORE_METALS)).setRegistryName(location("copper_sword")),
				
				ItemList.copper_helmet = new ArmorItem(ArmorMaterialList.copper, EquipmentSlotType.HEAD, new Item.Properties().group(MORE_METALS)).setRegistryName(location("copper_helmet")),
				ItemList.copper_chestplate = new ArmorItem(ArmorMaterialList.copper, EquipmentSlotType.CHEST, new Item.Properties().group(MORE_METALS)).setRegistryName(location("copper_chestplate")),
				ItemList.copper_leggings = new ArmorItem(ArmorMaterialList.copper, EquipmentSlotType.LEGS, new Item.Properties().group(MORE_METALS)).setRegistryName(location("copper_leggings")),
				ItemList.copper_boots = new ArmorItem(ArmorMaterialList.copper, EquipmentSlotType.FEET, new Item.Properties().group(MORE_METALS)).setRegistryName(location("copper_boots"))
				
				
						
			);
			
			LOGGER.info("Items registered.");
		}
		
		@SubscribeEvent
		public static void registerBlocks(final RegistryEvent.Register<Block> event)
		{
			event.getRegistry().registerAll
			(
				BlockList.copper_block = new Block(Block.Properties.create(Material.IRON).hardnessAndResistance(2.0f, 3.0f).lightValue(0).sound(SoundType.METAL)).setRegistryName(location("copper_block")),
				BlockList.copper_ore = new Block(Block.Properties.create(Material.ROCK).hardnessAndResistance(1.5f, 2.0f).lightValue(0).sound(SoundType.STONE)).setRegistryName(location("copper_ore"))
			);
			
			LOGGER.info("Blocks registered.");
		}
		
		private static ResourceLocation location(String name)
		{
			return new ResourceLocation(MODID, name);
		}
	}
}

NOTE: My code is for 1.14.3 and above ONLY!

Edited by ProPane865
Posted

Ok I fixed that issue by lengthening my modid. That seemed to do the trick but there's one other error

 


[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]: The following texture errors were found.
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]: ==================================================
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]:   DOMAIN minecraft
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]: --------------------------------------------------
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]:   domain minecraft is missing 1 texture
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]:     domain minecraft has 3 locations:
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]:       unknown resourcepack type net.minecraft.client.resources.DefaultResourcePack : Default
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]:       unknown resourcepack type net.minecraft.client.resources.LegacyV2Adapter : FMLFileResourcePack:Forge Mod Loader
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]:       unknown resourcepack type net.minecraft.client.resources.LegacyV2Adapter : FMLFileResourcePack:Minecraft Forge
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]: -------------------------
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]:     The missing resources for domain minecraft are:
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]:       textures/items/angel.png
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]: -------------------------
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]:     No other errors exist for domain minecraft
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]: ==================================================
[07:01:31] [Client thread/ERROR] [FML.TEXTURE_ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

 

Posted
  On 7/9/2019 at 10:23 PM, Noxxous said:

"d" is my modid

Expand  

Use a longer modid. You have 64 characters available, use them.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

  • 3 months later...
Posted
  On 7/9/2019 at 11:10 PM, ProPane865 said:

Yes, but the way you wrote your code makes it very complicated to get an image from a model. Please use a more efficient way like in my code. You will not regret it.

Expand  

Hello ProPane, I'm new to minecraft modding and I would like to know why your code is more efficient and if you got a source where I can learn how to learn the approach you did. Thanks.

  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.