Improve Lighting cache.
This commit is contained in:
@@ -134,6 +134,20 @@ public class BusRenderHelper implements IPartRenderHelper
|
|||||||
bbc.started = false;
|
bbc.started = false;
|
||||||
p.getBoxes( bbc );
|
p.getBoxes( bbc );
|
||||||
|
|
||||||
|
if ( bbc.minX < 1 )
|
||||||
|
bbc.minX = 1;
|
||||||
|
if ( bbc.minY < 1 )
|
||||||
|
bbc.minY = 1;
|
||||||
|
if ( bbc.minZ < 1 )
|
||||||
|
bbc.minZ = 1;
|
||||||
|
|
||||||
|
if ( bbc.maxX > 15 )
|
||||||
|
bbc.maxX = 15;
|
||||||
|
if ( bbc.maxY > 15 )
|
||||||
|
bbc.maxY = 15;
|
||||||
|
if ( bbc.maxZ > 15 )
|
||||||
|
bbc.maxZ = 15;
|
||||||
|
|
||||||
setBounds( bbc.minX, bbc.minY, bbc.minZ, bbc.maxX, bbc.maxY, bbc.maxZ );
|
setBounds( bbc.minX, bbc.minY, bbc.minZ, bbc.maxX, bbc.maxY, bbc.maxZ );
|
||||||
|
|
||||||
bbr.renderBlockBounds( rbw, minX, minY, minZ, maxX, maxY, maxZ, ax, ay, az );
|
bbr.renderBlockBounds( rbw, minX, minY, minZ, maxX, maxY, maxZ, ax, ay, az );
|
||||||
|
|||||||
@@ -637,17 +637,16 @@ public class RenderBlocksWorkaround extends RenderBlocks
|
|||||||
return ((LightingCache) sim).lightHash == lh;
|
return ((LightingCache) sim).lightHash == lh;
|
||||||
}
|
}
|
||||||
|
|
||||||
int lightHashTmp[] = new int[7];
|
int lightHashTmp[] = new int[27];
|
||||||
|
|
||||||
private int getLightingHash(Block blk, IBlockAccess w, int x, int y, int z)
|
private int getLightingHash(Block blk, IBlockAccess w, int x, int y, int z)
|
||||||
{
|
{
|
||||||
lightHashTmp[0] = blk.getMixedBrightnessForBlock( this.blockAccess, x, y, z );
|
int o = 0;
|
||||||
lightHashTmp[1] = blk.getMixedBrightnessForBlock( this.blockAccess, x + 1, y, z );
|
|
||||||
lightHashTmp[2] = blk.getMixedBrightnessForBlock( this.blockAccess, x, y + 1, z );
|
for (int i = -1; i <= 1; i++)
|
||||||
lightHashTmp[3] = blk.getMixedBrightnessForBlock( this.blockAccess, x, y, z + 1 );
|
for (int j = -1; j <= 1; j++)
|
||||||
lightHashTmp[4] = blk.getMixedBrightnessForBlock( this.blockAccess, x - 1, y, z );
|
for (int k = -1; k <= 1; k++)
|
||||||
lightHashTmp[5] = blk.getMixedBrightnessForBlock( this.blockAccess, x, y - 1, z );
|
lightHashTmp[o++] = blk.getMixedBrightnessForBlock( this.blockAccess, x + i, y + j, z + k );
|
||||||
lightHashTmp[6] = blk.getMixedBrightnessForBlock( this.blockAccess, x, y, z - 1 );
|
|
||||||
|
|
||||||
return Arrays.hashCode( lightHashTmp );
|
return Arrays.hashCode( lightHashTmp );
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user