diff --git a/src/main/java/mod/chiselsandbits/chiseledblock/TileEntityBlockChiseled.java b/src/main/java/mod/chiselsandbits/chiseledblock/TileEntityBlockChiseled.java index 58365a6e..ef135753 100644 --- a/src/main/java/mod/chiselsandbits/chiseledblock/TileEntityBlockChiseled.java +++ b/src/main/java/mod/chiselsandbits/chiseledblock/TileEntityBlockChiseled.java @@ -879,4 +879,9 @@ public void invalidate() } } + public void finishUpdate() + { + // nothin. + } + } diff --git a/src/main/java/mod/chiselsandbits/chiseledblock/TileEntityBlockChiseledTESR.java b/src/main/java/mod/chiselsandbits/chiseledblock/TileEntityBlockChiseledTESR.java index 7a07e195..e92e240c 100644 --- a/src/main/java/mod/chiselsandbits/chiseledblock/TileEntityBlockChiseledTESR.java +++ b/src/main/java/mod/chiselsandbits/chiseledblock/TileEntityBlockChiseledTESR.java @@ -191,7 +191,12 @@ public void completeEditOperation( final VoxelBlob vb ) { super.completeEditOperation( vb ); + finishUpdate(); + } + @Override + public void finishUpdate() + { if ( renderChunk != null ) { if ( renderChunk.singleInstanceMode ) diff --git a/src/main/java/mod/chiselsandbits/core/api/BitAccess.java b/src/main/java/mod/chiselsandbits/core/api/BitAccess.java index 7f8756bc..2f1f3d56 100644 --- a/src/main/java/mod/chiselsandbits/core/api/BitAccess.java +++ b/src/main/java/mod/chiselsandbits/core/api/BitAccess.java @@ -109,22 +109,23 @@ public void commitChanges( final boolean triggerUpdates ) { TileEntityBlockChiseled tile = ModUtil.getChiseledTileEntity( world, pos, true ); - final BlobStats cb = blob.getVoxelStats(); + final BlobStats cb = blob.getVoxelStats(); if ( tile == null && BlockChiseled.replaceWithChisled( world, pos, world.getBlockState( pos ), cb.mostCommonState, false ) ) - { + { tile = ModUtil.getChiseledTileEntity( world, pos, true ); - } + } - if ( tile != null ) - { - final VoxelBlobStateReference before = tile.getBlobStateReference(); - tile.setBlob( blob, triggerUpdates ); - final VoxelBlobStateReference after = tile.getBlobStateReference(); + if ( tile != null ) + { + final VoxelBlobStateReference before = tile.getBlobStateReference(); + tile.setBlob( blob, triggerUpdates ); + tile.finishUpdate(); + final VoxelBlobStateReference after = tile.getBlobStateReference(); UndoTracker.getInstance().add( world, pos, before, after ); + } } - } @Override public void commitChanges()