Salut,
Déjà évite les System.out... Tu fais du spigot, pas du java de base xD (bon, ok la c'est moi qui suis un peu chiant
).
Ensuite, il me semblait l'avoir déjà écrit, mais je ne sais plus où...
Ceci:
Code:
Block blockToTest = Bukkit.getServer().getWorld(playerLocation.getWorld().getName()).getBlockAt(playerLocation);
Sera quand même plus simple comme ceci:
Code:
Block blockToTest = playerLocation.getWorld().getBlockAt(playerLocation);
Bon, enfin si tu veux le block en dessous du joueur tu peux avoir une méthode comme ceci:
PHP:
private Block getPlayerGroundBlock(final Location loc) {
while(loc.getY() > 0 && loc.getBlock().getType().equals(Material.AIR)) {
loc.setY(loc.getY()-1);
}
// Peut être rajouter une condition si getY() est == à 0
return loc.getBlock();
}
Donc dans ton code:
PHP:
@EventHandler
public void touchWaterCheck(PlayerMoveEvent event) {
final Player player = event.getPlayer();
if (playerList.contains(player)) {
if (Main.getGameIsJoinable() && Main.getGameIsLaunched()) {
final Block blockToTest = getPlayerGroundBlock(player.getLocation());
if (blockToTest.getType().equals(Material.WATER)) {
System.out.println("eau");
player.teleport(Main.getGroundLocation());
blockToTest.setType(Material.WOOL);
teleportNextPlayer();
} else if (blockToTest.getType().equals(Material.WOOL)) {
System.out.println("laine");
player.teleport(Main.getGroundLocation());
playerList.remove(player);
incremantator = playerList.size();
teleportNextPlayer();
}
}
}
}
Cordialement,
Detobel36