package nl.sugcube.crystalquest.items;
import nl.sugcube.crystalquest.CrystalQuest;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import java.util.Random;
/**
* @author SugarCaney
*/
public class Anvil extends ItemExecutor {
private static final int RADIUS = 8;
private static final int ANVIL_AMOUNT = 20;
private static final Random RANDOM = new Random();
public Anvil() {
super(Material.ANVIL);
}
@Override
boolean execute(CrystalQuest plugin, Player player, ItemStack itemStack) {
for (int j = 0; j < ANVIL_AMOUNT; j++) {
Location location = player.getLocation();
location.setX(RADIUS - (RANDOM.nextInt(RADIUS * 2)) + location.getX());
location.setZ(RADIUS - (RANDOM.nextInt(RADIUS * 2)) + location.getZ());
for (int i = 0; i < 32; i++) {
location.add(0, 1, 0);
if (location.getBlock().getType() != Material.AIR) {
if (location.clone().add(0, -2, 0).getBlock().getType() == Material.AIR) {
location.add(0, -1, 0);
break;
}
}
}
if (location.getBlock().getType() == Material.AIR) {
location.getBlock().setType(Material.ANVIL);
}
}
player.playSound(player.getLocation(), Sound.BLOCK_ANVIL_PLACE, 12F, 12F);
return true;
}
}