@@ -276,108 +276,67 @@ var TerrainManager = class TerrainManager {
276276 for ( var x = - 1 ; x <= 1 ; x ++ ) {
277277 for ( var y = - 1 ; y <= 1 ; y ++ ) {
278278 for ( var z = - 1 ; z <= 1 ; z ++ ) {
279- if (
279+ loaded [ ` ${ x } : ${ y } : ${ z } ` ] =
280280 _this . cellTerrain . getBlock (
281281 pos [ 0 ] + x ,
282282 pos [ 1 ] + y ,
283283 pos [ 2 ] + z
284284 ) . boundingBox === "block"
285- ) {
286- loaded [ `${ x } :${ y } :${ z } ` ] = 1 ;
287- } else {
288- loaded [ `${ x } :${ y } :${ z } ` ] = 0 ;
289- }
285+ ? 1
286+ : 0 ;
290287 }
291288 }
292289 }
293- var col1 = aoColor ( 0 ) ;
294- var col2 = aoColor ( 0 ) ;
295- var col3 = aoColor ( 0 ) ;
296- var col4 = aoColor ( 0 ) ;
297- if ( type === "py" ) {
298- col1 = aoColor (
299- loaded [ "1:1:-1" ] + loaded [ "0:1:-1" ] + loaded [ "1:1:0" ]
300- ) ;
301- col2 = aoColor (
302- loaded [ "1:1:1" ] + loaded [ "0:1:1" ] + loaded [ "1:1:0" ]
303- ) ;
304- col3 = aoColor (
305- loaded [ "-1:1:-1" ] + loaded [ "0:1:-1" ] + loaded [ "-1:1:0" ]
306- ) ;
307- col4 = aoColor (
308- loaded [ "-1:1:1" ] + loaded [ "0:1:1" ] + loaded [ "-1:1:0" ]
309- ) ;
310- }
311- if ( type === "ny" ) {
312- col2 = aoColor (
313- loaded [ "1:-1:-1" ] + loaded [ "0:-1:-1" ] + loaded [ "1:-1:0" ]
314- ) ;
315- col1 = aoColor (
316- loaded [ "1:-1:1" ] + loaded [ "0:-1:1" ] + loaded [ "1:-1:0" ]
317- ) ;
318- col4 = aoColor (
319- loaded [ "-1:-1:-1" ] + loaded [ "0:-1:-1" ] + loaded [ "-1:-1:0" ]
320- ) ;
321- col3 = aoColor (
322- loaded [ "-1:-1:1" ] + loaded [ "0:-1:1" ] + loaded [ "-1:-1:0" ]
323- ) ;
324- }
325- if ( type === "px" ) {
326- col1 = aoColor (
327- loaded [ "-1:-1:0" ] + loaded [ "-1:-1:-1" ] + loaded [ "-1:0:-1" ]
328- ) ;
329- col2 = aoColor (
330- loaded [ "-1:1:0" ] + loaded [ "-1:1:-1" ] + loaded [ "-1:0:-1" ]
331- ) ;
332- col3 = aoColor (
333- loaded [ "-1:-1:0" ] + loaded [ "-1:-1:1" ] + loaded [ "-1:0:1" ]
334- ) ;
335- col4 = aoColor (
336- loaded [ "-1:1:0" ] + loaded [ "-1:1:1" ] + loaded [ "-1:0:1" ]
337- ) ;
338- }
339- if ( type === "nx" ) {
340- col3 = aoColor (
341- loaded [ "1:-1:0" ] + loaded [ "1:-1:-1" ] + loaded [ "1:0:-1" ]
342- ) ;
343- col4 = aoColor (
344- loaded [ "1:1:0" ] + loaded [ "1:1:-1" ] + loaded [ "1:0:-1" ]
345- ) ;
346- col1 = aoColor (
347- loaded [ "1:-1:0" ] + loaded [ "1:-1:1" ] + loaded [ "1:0:1" ]
348- ) ;
349- col2 = aoColor (
350- loaded [ "1:1:0" ] + loaded [ "1:1:1" ] + loaded [ "1:0:1" ]
351- ) ;
352- }
353- if ( type === "pz" ) {
354- col1 = aoColor (
355- loaded [ "0:-1:1" ] + loaded [ "-1:-1:1" ] + loaded [ "-1:0:1" ]
356- ) ;
357- col2 = aoColor (
358- loaded [ "0:1:1" ] + loaded [ "-1:1:1" ] + loaded [ "-1:0:1" ]
359- ) ;
360- col3 = aoColor (
361- loaded [ "0:-1:1" ] + loaded [ "1:-1:1" ] + loaded [ "1:0:1" ]
362- ) ;
363- col4 = aoColor (
364- loaded [ "0:1:1" ] + loaded [ "1:1:1" ] + loaded [ "1:0:1" ]
365- ) ;
366- }
367- if ( type === "nz" ) {
368- col3 = aoColor (
369- loaded [ "0:-1:-1" ] + loaded [ "-1:-1:-1" ] + loaded [ "-1:0:-1" ]
370- ) ;
371- col4 = aoColor (
372- loaded [ "0:1:-1" ] + loaded [ "-1:1:-1" ] + loaded [ "-1:0:-1" ]
373- ) ;
374- col1 = aoColor (
375- loaded [ "0:-1:-1" ] + loaded [ "1:-1:-1" ] + loaded [ "1:0:-1" ]
290+ var aoMap = {
291+ py : [
292+ [ 1 , 1 , - 1 , 0 , 1 , - 1 , 1 , 1 , 0 ] ,
293+ [ 1 , 1 , 1 , 0 , 1 , 1 , 1 , 1 , 0 ] ,
294+ [ - 1 , 1 , - 1 , 0 , 1 , - 1 , - 1 , 1 , 0 ] ,
295+ [ - 1 , 1 , 1 , 0 , 1 , 1 , - 1 , 1 , 0 ] ,
296+ ] ,
297+ ny : [
298+ [ 1 , - 1 , 1 , 0 , - 1 , 1 , 1 , - 1 , 0 ] ,
299+ [ 1 , - 1 , - 1 , 0 , - 1 , - 1 , 1 , - 1 , 0 ] ,
300+ [ - 1 , - 1 , 1 , 0 , - 1 , 1 , - 1 , - 1 , 0 ] ,
301+ [ - 1 , - 1 , - 1 , 0 , - 1 , - 1 , - 1 , - 1 , 0 ] ,
302+ ] ,
303+ px : [
304+ [ - 1 , - 1 , 0 , - 1 , - 1 , - 1 , - 1 , 0 , - 1 ] ,
305+ [ - 1 , 1 , 0 , - 1 , 1 , - 1 , - 1 , 0 , - 1 ] ,
306+ [ - 1 , - 1 , 0 , - 1 , - 1 , 1 , - 1 , 0 , 1 ] ,
307+ [ - 1 , 1 , 0 , - 1 , 1 , 1 , - 1 , 0 , 1 ] ,
308+ ] ,
309+ nx : [
310+ [ 1 , - 1 , 0 , 1 , - 1 , 1 , 1 , 0 , 1 ] ,
311+ [ 1 , 1 , 0 , 1 , 1 , 1 , 1 , 0 , 1 ] ,
312+ [ 1 , - 1 , 0 , 1 , - 1 , - 1 , 1 , 0 , - 1 ] ,
313+ [ 1 , 1 , 0 , 1 , 1 , - 1 , 1 , 0 , - 1 ] ,
314+ ] ,
315+ pz : [
316+ [ 0 , - 1 , 1 , - 1 , - 1 , 1 , - 1 , 0 , 1 ] ,
317+ [ 0 , 1 , 1 , - 1 , 1 , 1 , - 1 , 0 , 1 ] ,
318+ [ 0 , - 1 , 1 , 1 , - 1 , 1 , 1 , 0 , 1 ] ,
319+ [ 0 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 1 ] ,
320+ ] ,
321+ nz : [
322+ [ 0 , - 1 , - 1 , 1 , - 1 , - 1 , 1 , 0 , - 1 ] ,
323+ [ 0 , 1 , - 1 , 1 , 1 , - 1 , 1 , 0 , - 1 ] ,
324+ [ 0 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , 0 , - 1 ] ,
325+ [ 0 , 1 , - 1 , - 1 , 1 , - 1 , - 1 , 0 , - 1 ] ,
326+ ] ,
327+ } ;
328+ var c1 = aoMap [ type ] ;
329+ var getCol = function ( num ) {
330+ return aoColor (
331+ loaded [ `${ c1 [ num ] [ 0 ] } :${ c1 [ num ] [ 1 ] } :${ c1 [ num ] [ 2 ] } ` ] +
332+ loaded [ `${ c1 [ num ] [ 3 ] } :${ c1 [ num ] [ 4 ] } :${ c1 [ num ] [ 5 ] } ` ] +
333+ loaded [ `${ c1 [ num ] [ 6 ] } :${ c1 [ num ] [ 7 ] } :${ c1 [ num ] [ 8 ] } ` ]
376334 ) ;
377- col2 = aoColor (
378- loaded [ "0:1:-1" ] + loaded [ "1:1:-1" ] + loaded [ "1:0:-1" ]
379- ) ;
380- }
335+ } ;
336+ var col1 = getCol ( 0 ) ;
337+ var col2 = getCol ( 1 ) ;
338+ var col3 = getCol ( 2 ) ;
339+ var col4 = getCol ( 3 ) ;
381340 var ile = 4 ;
382341 if ( block . name === "water" ) {
383342 col1 [ 0 ] /= ile ;
@@ -441,54 +400,32 @@ var TerrainManager = class TerrainManager {
441400 cellY * this . cellSize + j ,
442401 cellZ * this . cellSize + k ,
443402 ] ;
444- if (
445- this . cellTerrain . getBlock ( ...pos ) . boundingBox ===
446- "block"
447- ) {
448- for ( let l in this . neighbours ) {
449- let m = this . neighbours [ l ] ;
450- if ( this . cellTerrain . getBlock ( ...pos ) . transparent ) {
451- if (
452- this . cellTerrain . getBlock (
453- pos [ 0 ] + m [ 0 ] ,
454- pos [ 1 ] + m [ 1 ] ,
455- pos [ 2 ] + m [ 2 ]
456- ) . boundingBox !== "block"
457- ) {
458- addFace ( l , pos ) ;
459- }
460- } else {
461- if (
462- this . cellTerrain . getBlock (
463- pos [ 0 ] + m [ 0 ] ,
464- pos [ 1 ] + m [ 1 ] ,
465- pos [ 2 ] + m [ 2 ]
466- ) . boundingBox !== "block" ||
467- this . cellTerrain . getBlock (
468- pos [ 0 ] + m [ 0 ] ,
469- pos [ 1 ] + m [ 1 ] ,
470- pos [ 2 ] + m [ 2 ]
471- ) . transparent
472- ) {
473- addFace ( l , pos ) ;
474- }
475- }
476- }
477- } else if (
478- this . cellTerrain . getBlock ( ...pos ) . name === "water" ||
479- this . cellTerrain . getBlock ( ...pos ) . name === "lava"
480- ) {
481- for ( var l in this . neighbours ) {
482- let m = this . neighbours [ l ] ;
403+ var mainBlock = this . cellTerrain . getBlock ( ...pos ) ;
404+ for ( let l in this . neighbours ) {
405+ let m = this . neighbours [ l ] ;
406+ var neiBlock = this . cellTerrain . getBlock (
407+ pos [ 0 ] + m [ 0 ] ,
408+ pos [ 1 ] + m [ 1 ] ,
409+ pos [ 2 ] + m [ 2 ]
410+ ) ;
411+ if ( mainBlock . boundingBox === "block" ) {
483412 if (
484- this . cellTerrain . getBlock (
485- pos [ 0 ] + m [ 0 ] ,
486- pos [ 1 ] + m [ 1 ] ,
487- pos [ 2 ] + m [ 2 ]
488- ) . name === "air"
413+ mainBlock . transparent &&
414+ neiBlock . boundingBox !== "block"
415+ ) {
416+ addFace ( l , pos ) ;
417+ } else if (
418+ neiBlock . boundingBox !== "block" ||
419+ neiBlock . transparent
489420 ) {
490421 addFace ( l , pos ) ;
491422 }
423+ } else if (
424+ ( mainBlock . name === "water" ||
425+ mainBlock . name === "lava" ) &&
426+ neiBlock . name === "air"
427+ ) {
428+ addFace ( l , pos ) ;
492429 }
493430 }
494431 }
0 commit comments