package nl.sugcube.crystalquest.game;
import nl.sugcube.crystalquest.CrystalQuest;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.EnderCrystal;
import org.bukkit.entity.EntityType;
import java.util.Random;
/**
* @author SugarCaney
*/
public class CrystalSpawner implements Runnable {
public static CrystalQuest plugin;
Random ran = new Random();
public CrystalSpawner(CrystalQuest instance) {
plugin = instance;
}
/*
* Ticks every 2 gameticks
*/
public void run() {
for (Arena a : plugin.getArenaManager().getArenas()) {
if (!a.isInGame()) {
continue;
}
if (a.getTimeLeft() <= 0) {
continue;
}
for (Location loc : a.getCrystalSpawns()) {
if (a.isEndGame() || a.getCrystalLocations().containsValue(loc)) {
continue;
}
int chance = plugin.getConfig().getInt("arena.crystal-spawn-chance");
if (ran.nextInt(chance * 10) == 0) {
try {
EnderCrystal ec = (EnderCrystal)Bukkit.getPlayer(a.getPlayers().get(0))
.getWorld()
.spawnEntity(loc.add(0, 0.05, 0), EntityType.ENDER_CRYSTAL);
ec.setShowingBottom(false);
a.getGameCrystals().add(ec);
a.getCrystalLocations().put(ec, loc);
}
catch (Exception ignored) {
}
}
}
}
}
}