- Баллы
- 173
Чанк загружен и я стою в соседнем, но ничего не происходит. В чате лишь
- Debug: пришло время спавнить гиганта!
- Debug: проверяем, загружен ли чанк на xxxx -zzzz
Java:
Bukkit.getScheduler().runTaskTimer(this, new Runnable() {
@Override
public void run() {
for (String spc : giantspawns) {
Bukkit.broadcastMessage("Debug: пришло время спавнить и тестить гиганта!");
double x = 0, y = 0, z = 0;
String[] s = spc.split(",");
try {
World w = Bukkit.getWorld("world");
Bukkit.broadcastMessage("Debug: проверяем, загружен ли чанк на " + Integer.parseInt(s[0]) + " " + Integer.parseInt(s[2]));
if (w.isChunkLoaded(Integer.parseInt(s[0]), Integer.parseInt(s[2]))) {
x = Double.parseDouble(s[0]) - 0.5;
y = Double.parseDouble(s[1]) + 0.5;
z = Double.parseDouble(s[2]) + 0.5;
Location l = new Location(w, x, y, z);
Bukkit.broadcastMessage("Debug: локация гиганта: " + x + ", " + y + ", " + z);
Entity e;
e = w.spawnEntity(l, EntityType.GIANT);
Bukkit.broadcastMessage("Debug: гигант заспавнен! Entity ID: " + e.getEntityId());
Boolean despawn = true;
for (Entity en : e.getNearbyEntities(250, 50, 250)) {
if (en instanceof Player) despawn = false;
if (en instanceof Giant) {
Bukkit.broadcastMessage("Debug: не спавним, поблизости найден другой гигант");
e.remove();
break;
}
}
if (despawn) e.remove();
Bukkit.broadcastMessage("_________________________");
}
} catch (Exception e) {
e.printStackTrace();
}
}
for (Player p : Bukkit.getOnlinePlayers()) {
savePlayerData(p, false);
p.playSound(p.getLocation(), Sound.AMBIENCE_CAVE, 1.0F, 1.0F);
}
}
}, 0L, 6000L);
