protected RecursiveBlueprintReader(TileArchitect iArchitect, BlueprintBase iParentBlueprint) {
parentBlueprint = iParentBlueprint;
architect = iArchitect;
if (architect.box.isInitialized()) {
blockScanner = new BlockScanner(architect.box, architect.getWorldObj(), SCANNER_ITERATION);
if (parentBlueprint instanceof Blueprint) {
writingBlueprint = new Blueprint(architect.box.sizeX(), architect.box.sizeY(), architect.box.sizeZ());
} else if (parentBlueprint instanceof Template) {
writingBlueprint = new Template(architect.box.sizeX(), architect.box.sizeY(), architect.box.sizeZ());