You’ll need an event system to detect when a voxel is created or removed. When that event is triggered, if it’s a light source (which is something you’d define yourself, perhaps also with an attribute), you would then set that voxel’s light level to 15 and then search for nearby voxels and modify their light level accordingly. Either search through the array or use the less performant GetPartBoundsInRadius method that I mentioned earlier.
If using an array, you can find nearby blocks by using offset math by adding or subtracting from the starting voxel’s position, and doing that for all 3 axis up to a certain distance away. But if you want that sort of star pattern, you’ll want to exclude voxels that are beyond a certain distance away, using something like magnitude perhaps, otherwise it’ll just light up the area as a square/cube.
This is probably about as much as I can say without outright giving you code.