Fixes #2551: Prevent chunk rebuilds when drive is unchanged.
This commit is contained in:
parent
b6d3be41e1
commit
d7d99c5e7e
|
@ -206,15 +206,16 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
|
||||||
|
|
||||||
private void recalculateDisplay()
|
private void recalculateDisplay()
|
||||||
{
|
{
|
||||||
|
|
||||||
final boolean currentActive = this.getProxy().isActive();
|
final boolean currentActive = this.getProxy().isActive();
|
||||||
|
int newState = this.state;
|
||||||
|
|
||||||
if( currentActive )
|
if( currentActive )
|
||||||
{
|
{
|
||||||
this.state |= 0x80000000;
|
newState |= 0x80000000;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this.state &= ~0x80000000;
|
newState &= ~0x80000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( this.wasActive != currentActive )
|
if( this.wasActive != currentActive )
|
||||||
|
@ -232,12 +233,12 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
|
||||||
|
|
||||||
for( int x = 0; x < this.getCellCount(); x++ )
|
for( int x = 0; x < this.getCellCount(); x++ )
|
||||||
{
|
{
|
||||||
this.state |= ( this.getCellStatus( x ) << ( 3 * x ) );
|
newState |= ( this.getCellStatus( x ) << ( 3 * x ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
final int oldState = 0;
|
if( newState != this.state )
|
||||||
if( oldState != this.state )
|
|
||||||
{
|
{
|
||||||
|
this.state = newState;
|
||||||
this.markForUpdate();
|
this.markForUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue