There is a small issue where Procedure Block that gets light value is somehow incorrect
The problem is with X coordinate where if you stand on a flat surface than It will gonna collect light correctly but if player stand next to block that is at X+1 than
the game will treat it as is there is no light,
I've also tried to use Entity X Position blocks but that makes it set the Light value to 15 if checking if its higher than a number and to 0 when its lower than a number
Issue comments
Did you ever get round to it? Because I tried some myself after trying to find out why a block that spreads fastest in high light levels wouldn't spread. However so far as I can tell, the get light level doesn't get the light level of the block, only the luminance, meaning, it works if you place torches right on top of it but not at X + 1, Y + 1 where it returns 0 (my procedure displays the light level of Y + 1 in chat). I'd appreciate if you had a look at the code for it to make sure it's working properly or if this is its intended function to rename it 'get block luminance' and add an actual 'get block light level' since this current one doesn't work properly :D
To add to this, I'm also experiencing that the offset may actually change for reasons unknown to me.
On first try once I figured out what was happening an offset of -1 x coordinate was needed, but after a while of changes this changed to -1 z coordinate.
Is it still trial and error? And is this difference somehow related to world generation or what? Slightly annoying if it breaks this way unexpectedly.
The block directly calls get light level method in code of vanilla code, it just passes the coordinates there so there is not much that can be done to change this behavior.
I would suggest printing the value and coordinates and do some experimenting to get it right, sometimes adding +1 to y helps.