Undyed bundles have a "filled" model predicate which outputs as a decimal percentage of the bundle's fullness. However, dyed bundles do not have this predicate, meaning that it isn't possible to have model overrides for them using it.
While this predicate is no longer used in vanilla following 24w33a, its behavior may still be useful for resource pack creators who wish to add different textures for the bundle depending on the fullness.
Attached is a resource pack that applies different textures to bundles based on this filled predicate, as well as corresponding models for white bundles that should in theory mimic this behavior; however, when using the pack, you can see that this is not the case and that only undyed bundles have this behavior.
Linked issues
relates to 1
Attachments
Comments 3
Code analysis (Yarn mappings)
The call registering the minecraft:filled
model predicate only applies to the minecraft:bundle
item:
register(Items.BUNDLE, Identifier.ofVanilla("filled"), (stack, world, entity, seed) -> BundleItem.getAmountFilled(stack));
A suggested fix for this issue is to call the registration method for every bundle variant so that colored bundles can use the model provider.
can confirm, tried to retexture them as well only to find this out heh