diff --git a/src/main/java/dan200/computercraft/shared/common/TileGeneric.java b/src/main/java/dan200/computercraft/shared/common/TileGeneric.java index 25175b97d..2e86ec148 100644 --- a/src/main/java/dan200/computercraft/shared/common/TileGeneric.java +++ b/src/main/java/dan200/computercraft/shared/common/TileGeneric.java @@ -65,9 +65,11 @@ protected final IBlockState getBlockState() public final void updateBlock() { + markDirty(); BlockPos pos = getPos(); + IBlockState state = worldObj.getBlockState( pos ); worldObj.markBlockRangeForRenderUpdate( pos, pos ); - worldObj.markChunkDirty( pos, this ); + worldObj.notifyBlockUpdate( getPos(), state, state, 3 ); } protected final void setBlockState( IBlockState newState ) @@ -208,4 +210,19 @@ public final void onDataPacket( NetworkManager net, SPacketUpdateTileEntity pack } } } + + @Override + public NBTTagCompound getUpdateTag () + { + NBTTagCompound tag = super.getUpdateTag(); + writeDescription( tag ); + return tag; + } + + @Override + public void handleUpdateTag (NBTTagCompound tag) + { + super.handleUpdateTag(tag); + readDescription( tag ); + } }