5651455a5fd2a2ce423c1ceac51d34fe9e7f7d49
Pull Request Build / Build (pull_request) Successful in 1m38s
A ray only moves diagonally if it could also reach the block by moving along the single axes of the direction one after another without passing an occluding block, so it no longer squeezes between blocks touching at an edge or corner. When a block stops occluding, the diagonal rays it blocked are continued, so incremental updates match a full initialisation. Double slabs now occlude as well, as slab materials do not; block updates pass the block data instead of the material for that. To keep the initialisation fast, a ray only checks a diagonal step after the cheaper checks, and the branch directions are computed once per hull.
Languages
Java
91.5%
Kotlin
8.1%
Lua
0.3%