SpoutDev/Spout — pull request #1890 by bergerkiller (2012-05-25 21:30:32+00:00)
Title: Implemented basic sky lighting

Signed-off-by: berger killer

Sky lighting (the column-based lighting) is fully implemented and works without the aid of a scheduled thread. I decided to do that to prevent a lot of unneeded (long) memory usage to store all chunks or column coordinates. All the lighting thread will do is smooth single-block lighting.

In this PR I disabled the lighting thread (running = false) as the current smooth code is untested and incomplete. Block light still needs some implementation, but will probably be nothing but smoothing.

Discussion: Should block updates be stored in the region, chunk or world, and which would have the best performance benefit? Note that block updates are scheduled very very often while smoothing, which is why I choose to store it in a long hashset (int21triple)

This code has been tested and works 100% of the time for vertical sky light. Dark shadows remain under blocks though.