When switching the intensity of the light block, the texture displayed will overlap with its previous version.
This bug is a direct product of MC-47660, as since the particles do not immediately disappear, they are allowed to coincide like this.
MC-238261, which is considered Won't Fix (but in light of this is probabyl worth reopening), may also be considered partially at fault as more than one texture is allowed to coincide as a result.
How to reproduce
- Obtain a light block: /give @s light
- Place down the light block and wait for it to show itself via the particle
- Right click on the light block in order to change its light level
Overlapping textures are shown, giving a nonsensical result
Right clicking would change the texture to the actual light level, and that only
Overlapping occurs, which causes an ugly and hard to read combination of particles to appear
How to fix
According to JellySquid in the Sodium discord, it is not possible for a block to test for the existence of a particle in a given area, and as such the game simply spawns the particles randomly, giving rise to this bug, MC-47660 and
MC-238261. It may be advisable to ditch the particle approach entirely (although maybe keeping block_marker for mapmaking purposes), and use an alternate method of revealing these blocks when held.
The ability for blocks to check for the existence of particles could be added. With this, particle could be made to appear and disappear immediately depending on the held item, and for only a single particle to be able to exist per block. This would match Bedrock Edition's behaviour.
Light blocks and barriers could be made to render the same way all invisible blocks do when structure blocks are set to display invisible blocks. Light blocks could possibly be distinguished by using darker shades of yellow for lower light levels.
Models. My personal favorite solution, listed in
MC-238261 but will be rewritten and improved here.
MC-47660 Barrier & Light texture stays when broken / takes time to display when holding barrier or light in creative mode