@Override public void doWork() { if (CoreProxy.proxy.isRenderWorld(worldObj)) { return; } if (done) { return; } if (builderRobot != null && !builderRobot.readyToBuild()) { return; } if (powerProvider.useEnergy(25, 25, true) < 25) { return; } iterateBpt(); if (bluePrintBuilder != null && !bluePrintBuilder.done) { if (!box.isInitialized()) { box.initialize(bluePrintBuilder); } if (builderRobot == null) { builderRobot = new EntityRobot(worldObj, box); worldObj.spawnEntityInWorld(builderRobot); } box.createLasers(worldObj, LaserKind.Stripes); builderRobot.scheduleContruction( bluePrintBuilder.getNextBlock( worldObj, new SurroundingInventory(worldObj, xCoord, yCoord, zCoord)), bluePrintBuilder.getContext()); } }