public void updateEntity() {
      this.lastProgress = this.progress;
      if(this.lastProgress >= 1.0F) {
         this.func_31010_a(1.0F, 0.25F);
         this.worldObj.removeBlockTileEntity(this.xCoord, this.yCoord, this.zCoord);
         this.invalidate();
         if(this.worldObj.getBlockId(this.xCoord, this.yCoord, this.zCoord) == Block.pistonMoving.blockID) {
            this.worldObj.setBlockAndMetadataWithNotify(this.xCoord, this.yCoord, this.zCoord, this.storedBlockID, this.storedMetadata);
         }

      } else {
         this.progress += 0.5F;
         if(this.progress >= 1.0F) {
            this.progress = 1.0F;
         }

         if(this.extending) {
            this.func_31010_a(this.progress, this.progress - this.lastProgress + 0.0625F);
         }

      }
   }