Posted June 18, 20232 yr 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)}
June 19, 20232 yr the bandage model change must be done the same way the shield change models and it has to be done whit a capability for some reason nbt fails to read part of the times from the client side
June 19, 20232 yr 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.
June 19, 20232 yr 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
June 19, 20232 yr 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.
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.