Skip to content

Commit 9ec279e

Browse files
committed
transparent neighbour face
1 parent 5d5157f commit 9ec279e

File tree

1 file changed

+26
-12
lines changed

1 file changed

+26
-12
lines changed

src/client/scripts/World/chunk.worker.coffee

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)