@@ -183,18 +183,32 @@ class TerrainManager
183183 for k in [0 .. @cellSize - 1 ]
184184 pos = [cellX* @cellSize + i,cellY* @cellSize + j,cellZ* @cellSize + k]
185185 if @cellTerrain .getBlock (pos... ).boundingBox is " block"
186- if (@cellTerrain .getBlock (pos[0 ]+ 1 ,pos[1 ],pos[2 ]).boundingBox isnt " block" )
187- addFace " nx" ,pos
188- if (@cellTerrain .getBlock (pos[0 ]- 1 ,pos[1 ],pos[2 ]).boundingBox isnt " block" )
189- addFace " px" ,pos
190- if (@cellTerrain .getBlock (pos[0 ],pos[1 ]- 1 ,pos[2 ]).boundingBox isnt " block" )
191- addFace " ny" ,pos
192- if (@cellTerrain .getBlock (pos[0 ],pos[1 ]+ 1 ,pos[2 ]).boundingBox isnt " block" )
193- addFace " py" ,pos
194- if (@cellTerrain .getBlock (pos[0 ],pos[1 ],pos[2 ]+ 1 ).boundingBox isnt " block" )
195- addFace " pz" ,pos
196- if (@cellTerrain .getBlock (pos[0 ],pos[1 ],pos[2 ]- 1 ).boundingBox isnt " block" )
197- addFace " nz" ,pos
186+ if @cellTerrain .getBlock (pos... ).transparent
187+ if (@cellTerrain .getBlock (pos[0 ]+ 1 ,pos[1 ],pos[2 ]).boundingBox isnt " block" )
188+ addFace " nx" ,pos
189+ if (@cellTerrain .getBlock (pos[0 ]- 1 ,pos[1 ],pos[2 ]).boundingBox isnt " block" )
190+ addFace " px" ,pos
191+ if (@cellTerrain .getBlock (pos[0 ],pos[1 ]- 1 ,pos[2 ]).boundingBox isnt " block" )
192+ addFace " ny" ,pos
193+ if (@cellTerrain .getBlock (pos[0 ],pos[1 ]+ 1 ,pos[2 ]).boundingBox isnt " block" )
194+ addFace " py" ,pos
195+ if (@cellTerrain .getBlock (pos[0 ],pos[1 ],pos[2 ]+ 1 ).boundingBox isnt " block" )
196+ addFace " pz" ,pos
197+ if (@cellTerrain .getBlock (pos[0 ],pos[1 ],pos[2 ]- 1 ).boundingBox isnt " block" )
198+ addFace " nz" ,pos
199+ else
200+ if (@cellTerrain .getBlock (pos[0 ]+ 1 ,pos[1 ],pos[2 ]).boundingBox isnt " block" or @cellTerrain .getBlock (pos[0 ]+ 1 ,pos[1 ],pos[2 ]).transparent )
201+ addFace " nx" ,pos
202+ if (@cellTerrain .getBlock (pos[0 ]- 1 ,pos[1 ],pos[2 ]).boundingBox isnt " block" or @cellTerrain .getBlock (pos[0 ]- 1 ,pos[1 ],pos[2 ]).transparent )
203+ addFace " px" ,pos
204+ if (@cellTerrain .getBlock (pos[0 ],pos[1 ]- 1 ,pos[2 ]).boundingBox isnt " block" or @cellTerrain .getBlock (pos[0 ],pos[1 ]- 1 ,pos[2 ]).transparent )
205+ addFace " ny" ,pos
206+ if (@cellTerrain .getBlock (pos[0 ],pos[1 ]+ 1 ,pos[2 ]).boundingBox isnt " block" or @cellTerrain .getBlock (pos[0 ],pos[1 ]+ 1 ,pos[2 ]).transparent )
207+ addFace " py" ,pos
208+ if (@cellTerrain .getBlock (pos[0 ],pos[1 ],pos[2 ]+ 1 ).boundingBox isnt " block" or @cellTerrain .getBlock (pos[0 ],pos[1 ],pos[2 ]+ 1 ).transparent )
209+ addFace " pz" ,pos
210+ if (@cellTerrain .getBlock (pos[0 ],pos[1 ],pos[2 ]- 1 ).boundingBox isnt " block" or @cellTerrain .getBlock (pos[0 ],pos[1 ],pos[2 ]- 1 ).transparent )
211+ addFace " nz" ,pos
198212 else if @cellTerrain .getBlock (pos... ).name is " water" or @cellTerrain .getBlock (pos... ).name is " lava"
199213 if (@cellTerrain .getBlock (pos[0 ]+ 1 ,pos[1 ],pos[2 ]).name is " air" )
200214 addFace " nx" ,pos
0 commit comments