-
Bug
-
Resolution: Invalid
-
None
-
1.17.1, 21w39a, 21w40a, 1.19, 1.20.2
-
Community Consensus
-
Particles
The bug
The particles used for grass blocks do not appear tinted by default. This is likely due to grass blocks using the dirt texture for particles and not incorporating any grass textures, and therefore the tint is hardcoded not to appear as to avoid cases like MC-132734 and MC-169697. However, as a result, even if the model is changed to use the top texture for particles instead, they will never appear tinted, resulting in very out of place gray particles appearing.
How to reproduce
- Download and apply the attached TopOfTheGrass resource pack, whcih changes the grass model to use the top texture for particles
- Now cause any action which results in block particles appearing: breaking, sprinting, falling, iron golems walking, ...
- Note how the particles are completely gray and not tinted green as one would expect
Expected result
The particles used by the block would be tinted since the top texture of grass is now used as the particle.
Actual result
The particles are completely gray and therefore look very out of place.
How to fix
As this is due to whether or not particles are tinted being hardcoded, this cannot be fixed with models alone (outside of introducing a second faux top texture, which would only look good in some biomes anyway). There are two ways that could be used to fix this in a data-driven way, rather than having to rely on hardcoding:
- A new optional top level parameter could be added to model files, such as "tint_particles": "true/false", to configure whether or not the block's particles appear tinted or do not. This would allow for very easy fixes to issues like MC-132734, MC-169697 and
MC-213503, where this parameter could easily just be set to "false" (and grass blocks would also have this set to "false" by default as well, and could be set to "true" by a resource pack maker who desires tinted particles), as well as possiblyMC-238099, where a "true" may be missing somewhere. - There could also be a block tag which contains blocks which use tints, which specifically overrides its members to not use tints. As tags can only contain IDs and not specific state combinations, this may pose a problem in future if only a specific state needs to be tinted, but should work for now.