Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.18.1] Vanilla client not loading custom item model/texture


LostThought
 Share

Recommended Posts

Hi,

This is my first foray into Forge and i am confident I am making a silly mistake somewhere, any advice would be appreciated.

Objective

  • Have a custom mod; mymod
  • Have a custom item with a custom texture; mymod_item
  • Provision resource pack for lang, model and texture assets for mymod_item
  • Run a dedicated Forge server with the mod installed and requiring the resource pack

Expected behaviour

  • Player connects to dedicated server and downloads asset pack
  • Player is given custom item
  • /give @p mymod.mymod_item
  • Player inventory to display item with custom texture and to be visible when dropped

Actual behavior

  • When running a Forge client from the IDE tasks, the textures load for singleplayer (via local Forge mod deployment)
  • When running a Forge client from the IDE tasks, the textures load for multiplayer games (via asset pack)
  • When running a vanilla client in singleplayer mode, as expected it does not work as it has no concept of my entities.
  • When running a vanilla client in multiplayer mode, the asset pack is downloaded and an invisible item is granted (I have some logging on the item so that i know I "have" it)

Noteworth

  • When giving the item to the player on the vanilla client, the name is displayed correctly implying that the lang/en_us.json is being loaded correctly.
  • My asset pack also overrides the minecraft:item/gold_ingot texture with the exact same one used for mymod:mymod_item and this is loaded fine as a replacement.

Asset pack tree

assets/minecraft/textures/item/gold_ingot.png
assets/mymod/textures/item/mymod_item.png
assets/mymod/models/item/mymod_item.json
assets/mymod/lang/en_us.json
pack.mcmeta

 

Summary

I suspect that i am doing something that i am not supposed to but unfortunately its not jumping out to me quite what that may be! One of the pieces i am struggling to understand is what ties the mymod_item class to the resources? In my code i do net set any explicit ResourceLocations for it, should I be?

Thanks

Link to comment
Share on other sites

Thank you both for the replies.

1 minute ago, diesieben07 said:

Custom items require the client to have forge and your mod installed.

This makes sense. I thought that i may be able to create something server side. I have seen servers that provide new items with the client only needing the resource pack. I mistakenly thought that this was achieved this way. I will keep looking for how this is implemented.

2 minutes ago, poopoodice said:

Is there any error/warning in the console telling something went wrong when trying to load the model?

Or reload resources in game (F3 + T) and it will show errors again if there are any.

There are no errors, for all intensive purposes things are working as expected. It was as if the client did not have the context of the namespace.

Link to comment
Share on other sites

2 minutes ago, diesieben07 said:

They don't. There is no way to add new items to a vanilla client.

It's probable that I am not using the correct terminology to explain what i am doing as the item functionality is working on the vanilla client its just the texture that is not!

I'll see if I can tidy up some example code and post a link.

Thanks.

Link to comment
Share on other sites

https://github.com/aLostThought/mymod

 /give @p mymod:mymod_item


To caveat, I am not suggesting that the way that the MyMod_Item is put together is sensible and performing logic on inventoryTick feels carelessly expensive. The initial objective was just to get an item in the hand and then work on what it does and how it does it.

This example should provide 1 gold ingot for every ~1 sec that mymod_item is held.

This version does not contain any assets (yet) as I pressed for time but I wanted to show the code behind my query. I will get the assets added soon.

Thanks.

Link to comment
Share on other sites

Yeah there is no way that this will ever work with a vanilla client. To the client the item will look like air at best and some random other item at worst. There is no guarantee that things will work properly if you connect to a forge server with additional registry entries from a vanilla client.

Link to comment
Share on other sites

It looks as though I have been tripping myself up on this one. The text I was reading was being read from the en_us.json but it was in the chat being sent from the server side which makes more sense!

I'll keep looking at how this is being done but it doesn't sound like with Forge! Thanks for clearing things up.

Link to comment
Share on other sites

2 minutes ago, LostThought said:

I'll keep looking at how this is being done but it doesn't sound like with Forge! Thanks for clearing things up.

The same techniques that are used on those servers can be done with Forge. But "adding a new Item" is not what they are doing.

Use F3+H to see the actual vanilla item being used.

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
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.

 Share



×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.