var Drone = require('../drone').Drone;
var bkMaterial = org.bukkit.Material;

function canHang( material ) {

  if ( material.equals(bkMaterial.AIR) ||
       material.equals(bkMaterial.VINE) ) {
    return true;
  } else { 
    return false;
  }
}  
Drone.extend('hangtorch', function () { 
  var torch = '50:' + Drone.PLAYER_TORCH_FACING[this.dir];
  var moves = 0;
  var block = this.world.getBlockAt(this.x, this.y, this.z);

  while ( !canHang(block.type) ){

    moves++;
    this.back();
    if (moves == 10){
      this.fwd(moves);
      console.log('nowhere to hang torch');
      return;
    }
    block = this.world.getBlockAt(this.x, this.y, this.z);
  }
  this.box(torch)
    .fwd(moves);
});
