This commit is contained in:
AlgorithmX2 2014-06-20 12:12:48 -05:00
parent 5c0ac30bf9
commit dd9c85e43e
3 changed files with 14 additions and 6 deletions

View file

@ -551,7 +551,7 @@ public class CableBusPart extends JCuboidPart implements JNormalOcclusion, IReds
if ( tile() instanceof TIInventoryTile )
((TIInventoryTile) tile()).rebuildSlotMap();
if ( world() != null && world().blockExists( x(), y(), z() ) )
if ( world() != null && world().blockExists( x(), y(), z() ) && ! CableBusContainer.isLoading() )
world().notifyBlocksOfNeighborChange( x(), y(), z(), Platform.air );
}

View file

@ -320,12 +320,21 @@ public class CableBusContainer implements AEMultiTile, ICableBusContainer
return null;
}
private static final ThreadLocal<Boolean> isLoading = new ThreadLocal();
public static boolean isLoading() {
Boolean is = isLoading.get();
return is != null && is == true;
}
public void addToWorld()
{
if ( inWorld )
return;
inWorld = true;
isLoading.set( true );
TileEntity te = getTile();
hasRedstone = te.getWorldObj().isBlockIndirectlyGettingPowered( te.xCoord, te.yCoord, te.zCoord );
@ -372,6 +381,8 @@ public class CableBusContainer implements AEMultiTile, ICableBusContainer
}
partChanged();
isLoading.set(false);
}
public void removeFromWorld()

View file

@ -126,10 +126,7 @@ public class TileCableBus extends AEBaseTile implements AEMultiTile, ICustomColl
if ( cb.isEmpty() )
{
if ( worldObj.getTileEntity( xCoord, yCoord, zCoord ) == this )
{
worldObj.func_147480_a( xCoord, yCoord, zCoord, true );
// worldObj.destroyBlock( xCoord, yCoord, zCoord, true );
}
}
else
cb.addToWorld();
@ -295,7 +292,7 @@ public class TileCableBus extends AEBaseTile implements AEMultiTile, ICustomColl
@Override
public void notifyNeighbors()
{
if ( worldObj != null && worldObj.blockExists( xCoord, yCoord, zCoord ) )
if ( worldObj != null && worldObj.blockExists( xCoord, yCoord, zCoord ) && ! CableBusContainer.isLoading() )
worldObj.notifyBlocksOfNeighborChange( xCoord, yCoord, zCoord, Platform.air );
}