Jump to content

[1.11.2] Proper Way to Do SubItems Textures Issue


HalestormXV

Recommended Posts

Alright so I did some SubItems and am getting the errors relating to textures. I have done searching on these forums and on the web and I have seen a number of topics relating to the same thing but just about all of them are for different reasons. I also so the ForgeDocs which in my honest opinion are rather difficult to read/understand for items sake at least.

 

So here are my relevant sections of the code:

ItemClass: https://pastebin.com/bzyfbTZ8 (yes registerRender is also called appropraitely in my proxy, as I said these are jsut the relevant portions of the code, everything else works fine, just the subitems have issues)

CardEssence: https://pastebin.com/yJTH9m3T (yes chariot is supposed to be the default if something goes wrong)

EnumHandler: https://pastebin.com/VnR6wH18

ModelBakery: https://pastebin.com/zy0sv8i6 (Called in the Client Proxy PreInt)

 

ErrorLog: https://pastebin.com/w9xeJbhR (in sum indicating that it can't find the item varients, or StarWars terms, "these are not the droids you are looking for")

JSON: https://pastebin.com/gAckr66d (this is for the essence_chariot, all of the others are named accordingly (essence_knight, essence_strength). I.E. essence_knight pointing to the essence_knight image, etc.)

 

Maybe I am missing something? Maybe there is a method that I didn't call. But all I know is the items are registered correctly, appear in game, have their appropriate sub-types but just don't render the textures.

 

I read in a number of posts that perhaps having a single .JSON called "essence" and implementing varients into it but likewise many other posts indicate that this isn't necessary. 

 

 

Edited by HalestormXV
Link to comment
Share on other sites

16 minutes ago, HalestormXV said:

Maybe there is a method that I didn't call. But all I know is the items are registered correctly, appear in game, have their appropriate sub-types but just don't ren

If you are going to call ModelLoader.setCustomModelResourceLocation do not call ModelBakery.registerItemVariants. The later overrides the other. The problem is that you do

new ResourceLocation(Reference.MODID, "items/essence_chariot") 

having the "items/" there adds it to the path so instead of looking for assets/modid/models/item/model.json it instead looks for assets/modid/models/item/items/model.json.

  • Like 1

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

1 hour ago, Animefan8888 said:

If you are going to call ModelLoader.setCustomModelResourceLocation do not call ModelBakery.registerItemVariants. The later overrides the other. The problem is that you do


new ResourceLocation(Reference.MODID, "items/essence_chariot") 

having the "items/" there adds it to the path so instead of looking for assets/modid/models/item/model.json it instead looks for assets/modid/models/item/items/model.json.

Okay, so i took your advise and no longer call the ModelBaker.registerVarients anywhere. All that is called is the ModelLoader.setCustomModelResourceLocation and the items still get registered and placed in game but still no textures generate for them, however the error has also disappeared. 

Link to comment
Share on other sites

2 minutes ago, HalestormXV said:

Okay, so i took your advise and no longer call the ModelBaker.registerVarients anywhere. All that is called is the ModelLoader.setCustomModelResourceLocation and the items still get registered and placed in game but still no textures generate for them, however the error has also disappeared. 

Post the new log and if possible a image of your package explorer so I can see the location of your textures and JSONs accurately.


Edit: also it would be easier if you provided a git repository.

Edited by Animefan8888
  • Like 1

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

31 minutes ago, Animefan8888 said:

Post the new log and if possible a image of your package explorer so I can see the location of your textures and JSONs accurately.


Edit: also it would be easier if you provided a git repository.

	[18:02:05] [Client thread/DEBUG] [FML/]: Bar Finished: ModelLoader: blocks took 1.516s
[18:02:05] [Client thread/DEBUG] [FML/]: Item json isn't found for 'eangel:angelic_block#inventory', trying to load the variant from the blockstate json
[18:02:05] [Client thread/DEBUG] [FML/]: Item json isn't found for 'eangel:angelicore#inventory', trying to load the variant from the blockstate json
[18:02:05] [Client thread/DEBUG] [FML/]: Item json isn't found for 'eangel:azureite_ore#inventory', trying to load the variant from the blockstate json
[18:02:05] [Client thread/DEBUG] [FML/]: Item json isn't found for 'eangel:demonic_block#inventory', trying to load the variant from the blockstate json
[18:02:05] [Client thread/DEBUG] [FML/]: Item json isn't found for 'eangel:demonicore#inventory', trying to load the variant from the blockstate json
[18:02:05] [Client thread/DEBUG] [FML/]: Item json isn't found for 'minecraft:essence_knight#inventory', trying to load the variant from the blockstate json
[18:02:05] [Client thread/DEBUG] [FML/]: Item json isn't found for 'minecraft:essence_strength#inventory', trying to load the variant from the blockstate json
[18:02:05] [Client thread/DEBUG] [FML/]: Item json isn't found for 'minecraft:essence_chariot#inventory', trying to load the variant from the blockstate json
[18:02:05] [Client thread/DEBUG] [FML/]: Item json isn't found for 'eangel:mystalcite#inventory', trying to load the variant from the blockstate json
[18:02:05] [Client thread/DEBUG] [FML/]: Item json isn't found for 'eangel:otable#inventory', trying to load the variant from the blockstate json
[18:02:05] [Client thread/DEBUG] [FML/]: Item json isn't found for 'eangel:serpentine_ore#inventory', trying to load the variant from the blockstate json
[18:02:05] [Client thread/DEBUG] [FML/]: Item json isn't found for 'eangel:topazore#inventory', trying to load the variant from the blockstate json
[18:02:05] [Client thread/DEBUG] [FML/]: Bar Finished: ModelLoader: items took 0.705s

Found part of the error now in the new log. Its looking in minecraft: instead of eangel:

 

Spoiler

QaZXQoU.png

 

And as for a gitrepository I do have one, but it is hardly organized but still if necessary I could provide it.

Edited by HalestormXV
Link to comment
Share on other sites

3 minutes ago, HalestormXV said:

Found part of the error now in the new log. Its looking in minecraft: instead of eangel:

Correct this is because you don't specify your modid here,

public static void registerRenders()

    {

        for (int i = 0; i < EA_EnumHandler.CardEssences.values().length; i++)

        {

            goodRegisterRender(essence, i, "essence_" + EA_EnumHandler.CardEssences.values().getName());

        }

    }

And so it defaults to minecraft:

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

*cough*

item.getRegistryName() already has the mod ID baked in.

*cough*

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.

Link to comment
Share on other sites

18 minutes ago, Animefan8888 said:

Correct this is because you don't specify your modid here,

public static void registerRenders()

    {

        for (int i = 0; i < EA_EnumHandler.CardEssences.values().length; i++)

        {

            goodRegisterRender(essence, i, "essence_" + EA_EnumHandler.CardEssences.values().getName());

        }

    }

And so it defaults to minecraft:

I added the modID to it and still no results. However, no errors either.

 

13 minutes ago, Draco18s said:

*cough*

item.getRegistryName() already has the mod ID baked in.

*cough*

 

Even so, it still doesn't recognize my textures no matter which way I do it.Textures are there for sure as well as the JSONs linked above.

 

Link to comment
Share on other sites

Just now, HalestormXV said:

Even so, it still doesn't recognize my textures no matter which way I do it.Textures are there for sure as well as the JSONs linked above.

Post the whole console and if you can check the following or wait for a response.

 

@Draco18sCorrect me if I am wrong, but I believe models need to be registered in the Event starting in 1.11.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

5 minutes ago, Animefan8888 said:

 

@Draco18sCorrect me if I am wrong, but I believe models need to be registered in the Event starting in 1.11.

It is preferred, yes. However with build 1.12-14.21.0.2348 the registry events fire after preInit (rather before), so preInit registration still works.

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.

Link to comment
Share on other sites

20 minutes ago, Animefan8888 said:

Post the whole console and if you can check the following or wait for a response.

 

@Draco18sCorrect me if I am wrong, but I believe models need to be registered in the Event starting in 1.11.

Here's the whole console: https://pastebin.com/4TFJi5ae

 

No errors relating to the essence items but no textures either. Still items are getting registered though.

Link to comment
Share on other sites

3 minutes ago, HalestormXV said:

No errors relating to the essence items but no textures either. Still items are getting registered though.

Could you post your Mod class and your ClientProxy.

  • Like 1

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

17 minutes ago, Animefan8888 said:

Could you post your Mod class and your ClientProxy.

 

 

Client PRoxy: https://pastebin.com/bfzbADyx

Main: https://pastebin.com/dxAyVpHY

 

Yes I know it is a mess but this is also remnants of 1.9 code that I've converted so it may not be efficent anymore but it does still work.

 

Edited by HalestormXV
Link to comment
Share on other sites

26 minutes ago, HalestormXV said:

Yes I know it is a mess but this is also remnants of 1.9 code that I've converted so it may not be efficent anymore but it does still work.

You need to call registerRenders in preInit not in init.

  • Like 1

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

36 minutes ago, Animefan8888 said:

You need to call registerRenders in preInit not in init.

That's what I thought orignally as well since I register all my entites preInit also, however it causes a crash. And I know rendering is clientside only to being with.

https://pastebin.com/AaYHiBRe

 

If I moved my registerRenders to init though. Game starts just fine and the only issue is those missing textures.

Link to comment
Share on other sites

1 minute ago, HalestormXV said:

That's what I thought orignally as well since I register all my entites preInit also, however it causes a crash. And I know rendering is clientside only to being with.

https://pastebin.com/AaYHiBRe

 

If I moved my registerRenders to init though. Game starts just fine and the only issue is those missing textures.

Post your new Main Mod class and your eAngelusItems class.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

4 minutes ago, Animefan8888 said:

Post your new Main Mod class and your eAngelusItems class.

Here is the main: https://pastebin.com/ReyQtCKa

Here is the items: https://pastebin.com/RJMfFP49

 

Those are the full classes. I also tried with 

  1.  eAngelusItems.initItems();
  2.  eAngelusBlocks.initBlocks();
 
in the main class to register under the init instead of preInit just to try and still same crash.
Edited by HalestormXV
Link to comment
Share on other sites

2 minutes ago, HalestormXV said:

Here is the main: https://pastebin.com/ReyQtCKa

Here is the items: https://pastebin.com/RJMfFP49

On line 173 of your eAngelusItems class you are using the ItemModelMesher use ModelLoader.setCustomModelResourceLocation instead. 

  • Like 1

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

9 minutes ago, Animefan8888 said:

On line 173 of your eAngelusItems class you are using the ItemModelMesher use ModelLoader.setCustomModelResourceLocation instead. 


Looks like I had to make the same change to my block class. Everything seems to be working now and I need to seriously clean up the code a bit for my next gihub push. But for my own edification sake. Was that method I was using a pre 1.11.2 method hense why it was still working? Or has this ModelLoader always been the preferred method?

Link to comment
Share on other sites

6 minutes ago, HalestormXV said:

Was that method I was using a pre 1.11.2 method hense why it was still working? Or has this ModelLoader always been the preferred method?

ModelLoader was the preferred method since JSON models were introduced. well a little after aka when forge implemented it. The ItemModelMesher is Minecrafts version.

  • Like 1

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

1 minute ago, Animefan8888 said:

ModelLoader was the preferred method since JSON models were introduced. well a little after aka when forge implemented it. The ItemModelMesher is Minecrafts version.

I see, well last I started coding was 1.7.10 and a little in 1.8.9 and then about 2 weeks ago got back into modding and jumped to 1.11.2, so I imagine quite a bit has changed that I am sure I will encounter along the way. But I thank you for your pateince and for the help. It is greatly apprecaited.

Link to comment
Share on other sites

Just now, HalestormXV said:

But I thank you for your pateince and for the help. It is greatly apprecaited.

No problem, I'm currently working on a way to get the in code models so I can display them on my Block so I am spending a lot of time crawling around the code, and that in it of itself is requiring a huge amount of patience I never new I had.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

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.



×
×
  • Create New...

Important Information

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