Jump to content

Different textures for an item


honn3x

Recommended Posts

is it possible to create an item with several different texture variations that change as the "NBT" tag changes as well? (e.g. I'm currently making a "bandage" system, where if the player bleeds, the bandage should change the texture to another bandage with more blood, eg:

change "bandage_layer_1" to "bandage2_layer_1" when NBT "bloodCount:1" -> NBT "bloodCount:2"

{I don't know exactly if NBT would be the ideal use to "count" the amount of blood, if there is another better way please let me know... (I want this count to be per item)}

Link to comment
Share on other sites

On 6/18/2023 at 9:21 AM, honn3x said:

I don't know exactly if NBT would be the ideal use to "count" the amount of blood, if there is another better way please let me know... (I want this count to be per item)}

yep, nbt in item stack is fine.

12 hours ago, perromercenary00 said:

for some reason nbt fails to read part of the times from the client side 

if a system worked "part of the time", trust me it would not exist for years. it's simply a storage format - a WAY to write data. it can not "not work" because it doesn't do anything magically on it's own.

Link to comment
Share on other sites



in the old version i have some issues animating mi guns  
i set some System.outs to figure out what was happends and from the class reading the value to chose what model to render  was returning zeroes when it was a value on it 
ModItemModelProperties.make_bow_bow( ItemInit.BOW_CARBON.get() );

	//###### ###### ###### ###### ###### ######
public static void make_bow_bow(Item item) {
ItemProperties.register(item, new ResourceLocation("pull"), (helditem, warudo, le, p_174638_) -> {
//ItemModelsProperties.register(item, new ResourceLocation("pull"), (helditem, warudo, le) -> {

if (le == null) {
return 0.0F;
} else {
CompoundTag tags = helditem.getTag();
int anim = tags.getInt("anim");
System.out.println("anim=" + anim);

return anim;
}
});
}
	

anim was return zeroes most of the time this code fires in average 3 times per tick so it must be like 000 111 222 333 but was more like 

000 010 000 033

 

 

 

 

 

 


 

 

Link to comment
Share on other sites

yeah, i should have probably been more verbose.

yep, nbt in item stack is fine.

yes, nbt in item stack is fine. it will persist through putting an item in chest, pulling it out, tossing it onto the ground and quitting and restarting the game.

but it will not automatically be transferred to client where we need it in order to have property-dependent textures.

still, if it's a simple property (number of bandage usages in this case), you should be okay by maintaining both client and server values in item use event.

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.