Jump to content

[1.16.4] [SOLVED] Model at: ... does not exist


nicolas14101

Recommended Posts

Hi guys,

 

Sorry for asking help here. I've been trying to figure out what was wrong in my code for 5 hours now and I still get the same issue.

 

So, when the block [opal_ore] is place in-game, the texture is there, the JSONs are created with the DataGenerator.

The item from the block [opal_ore] in the inventory, however, doesn't get any textures.

 

When I introduce this in my class IFItemModelProvider:

withExistingParent("opal_ore", modLoc("block/opal_ore"));

I get the error: 

[14:41:36] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:660]: Caused by: java.lang.IllegalStateException: Model at icefeeling:block/block/opal_ore does not exist

 

Once I remove it, the client launches normally but the textures won't appear on the item block.

 

Below is my package explorer. All the files are spelled correctly.

assets.thumb.png.99c17748fa12bf8eabedb2af49f69c89.png

FILES.thumb.png.839f905f2d64c35339179f2f57bfcfb1.png

 

It must be stupid and I hope it is but I can't find the problem. Even when I change the withExistingParent, I still get the errors.

 

Here's the code:

package dmz.faction.icefeeling.data.client;

import dmz.faction.icefeeling.mod.Main;
import net.minecraft.data.DataGenerator;
import net.minecraftforge.client.model.generators.ItemModelBuilder;
import net.minecraftforge.client.model.generators.ItemModelProvider;
import net.minecraftforge.client.model.generators.ModelFile;
import net.minecraftforge.common.data.ExistingFileHelper;

public class IFItemsModelProvider extends ItemModelProvider 
{
	    public IFItemsModelProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) 
	    {
	        super(generator, Main.MOD_ID, existingFileHelper);
	    }
	    
	    @Override
	    protected void registerModels() 
	    {
	    	
	        ModelFile itemGenerated = getExistingFile(mcLoc("item/generated"));

	        //withExistingParent(IFBlocks.OPAL_ORE.get().getRegistryName().getPath(), new ResourceLocation(Main.MOD_ID, "block/opal_ore"));
	        withExistingParent("opal_ore", modLoc("block/block/opal_ore"));
	        
	        
	        /*withExistingParent("jade_ore", modLoc("block/jade_ore"));
	        withExistingParent("mythril_ore", modLoc("block/mythril_ore"));
	        withExistingParent("titanite_ore", modLoc("block/titanite_ore"));*/

	        builder(itemGenerated, "jade");
	    }

		private ItemModelBuilder builder(ModelFile itemGenerated, String name) 
		{
		return getBuilder(name).parent(itemGenerated).texture("layer0", "item/" + name);
		}
}

 

 

JSON created in the blockstates folder: 

{
  "variants": {
    "": {
      "model": "icefeeling:block/opal_ore"
    }
  }
}

 

JSON created in the model folder:

{
  "parent": "minecraft:block/cube_all",
  "textures": {
    "all": "icefeeling:block/jade_ore"
  }
}

Edit: this is also opal_ore, not jade_ore.

 

 

Thanks in advance,

 

Nicolas

Edited by nicolas14101
Link to comment
Share on other sites

Still the same problem here,

 

[16:03:34] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:660]: Caused by: java.lang.IllegalStateException: Model at icefeeling:block/opal_ore does not exist

 

            withExistingParent("opal_ore", modLoc("block/opal_ore"));

 

When I remove the code above, the file opal_ore.json get created in src/generated/resources/assets/icefeeling/models/opal_ore.json.

Then, going in game gives me no texture for the block in the inventory. Obviously, the withExistingParent has been removed. So when the code above is written again, I still get the error:

 

[16:03:34] [main/INFO] [STDERR/]: [java.lang.Throwable:printStackTrace:660]: Caused by: java.lang.IllegalStateException: Model at icefeeling:block/opal_ore does not exist

 

Link to comment
Share on other sites

Take a look how i registered Block and ItemBlock datas using data generators here: https://github.com/Beethoven92/BetterEndForge/tree/master/src/main/java/mod/beethoven92/betterendforge/data/client

It seems that the blocks you need to create jsons for are simple cube blocks right? I think you overcomplicated the thing a lot

Check out the port of the BetterEnd fabric mod (WIP): https://www.curseforge.com/minecraft/mc-mods/betterend-forge-port

Link to comment
Share on other sites

Thanks a lot !

 

It helped me understand better the way it work.

On 1/2/2021 at 7:44 PM, Beethoven92 said:

Take a look how i registered Block and ItemBlock datas using data generators here: https://github.com/Beethoven92/BetterEndForge/tree/master/src/main/java/mod/beethoven92/betterendforge/data/client

It seems that the blocks you need to create jsons for are simple cube blocks right? I think you overcomplicated the thing a lot

 

Link to comment
Share on other sites

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.