Bonjour, j'expose mon problème ci-dessous:
Ce que je veux : Un joueur doit être téléporté instantanément sans attendre dans le vide (lag).
Ce que j'ai fais :
Ce que j'ai obtenu : Rien ne change .. j'ai bien reçu le message "LOADED." mais ca me téléporte toujours dans le vide, et je dois attendre 2 ou 3 secondes avant d'atterir sur un block.
Je remercie ceux qui m'aideront.
Ce que je veux : Un joueur doit être téléporté instantanément sans attendre dans le vide (lag).
Ce que j'ai fais :
PHP:
@SuppressWarnings("deprecation")
public void teleportRandomLocation(Player p, final Location loc, int x, int z) {
loc.setX(x);
loc.setZ(z);
loc.setY(p.getWorld().getHighestBlockYAt(loc) + 10);
Chunk c = loc.getChunk();
loc.getWorld().loadChunk(c);
loc.getWorld().refreshChunk(c.getX(), c.getZ());
if (c.isLoaded()) {
Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getInstance(), new Runnable() {
public void run() {
Material type = loc.getBlock().getType();
if (type == Material.AIR && type != Material.WATER && type != Material.LAVA) {
p.teleport(loc);
}
}
}, 2L);
}
}
Ce que j'ai obtenu : Rien ne change .. j'ai bien reçu le message "LOADED." mais ca me téléporte toujours dans le vide, et je dois attendre 2 ou 3 secondes avant d'atterir sur un block.
Je remercie ceux qui m'aideront.