Bonsoir,
Préfère nommer ta classe principale avec le nom du plugin, parce que ce n'est pas vraiment un
Main
puisque c'est un autre programme qui t'appelle. De plus ta variable
temp
n'est pas vraiment temporaire, et c'est un peu obscure d'abréger
Player
en
plrs
.
Après pour parcourir une liste en boucle tu peux prendre un indice, l'incrémenter d'un à chaque fois, et récupérer le reste de la division euclidienne de ton indice par la taille de ta liste pour éviter un débordement ; si ta liste est de taille
n = 3
:
Java:
// 0 = (0 × 3) + 0
0 / 3 == 0
0 % 3 == 0
// 1 = (0 × 3) + 1
1 / 3 == 0
1 % 3 == 1
// 2 = (0 × 3) + 2
2 / 3 == 0
2 % 3 == 2
// 3 = (1 × 3) + 0
3 / 3 == 1
3 % 3 == 0
// 4 = (1 × 3) + 1
4 / 3 == 1
4 % 3 == 1
Ou sinon plus simple pour l'incrémentation :
Java:
i += 1;
if(i == n) {
i = 0;
}
// 0 <= i < n
Et le mieux serait de créer une classe afin de pouvoir créer des parties à un autre emplacement et avec une sous-partie des joueurs connectés :
Java:
public class Game {
private final List<Player> players;
private final Location divingPlatform;
private int nextIndex;
public Game(List<Player> players, Location divingPlatform) {
if(players.isEmpty()) {
throw new IllegalArgumentException("`players` must not be empty");
}
if(divingPlatform == null || divingPlatform.getWorld() == null) {
throw new IllegalArgumentException("`divingPlatform.getWorld()` must not be null");
}
this.players = players;
this.divingPlatform = divingPlatform;
this.nextIndex = 0;
}
public Player teleportNextPlayer() {
Player p = players.get(this.nextIndex);
this.nextIndex = (this.nextIndex + 1) % this.players.size();
if(!p.teleport(this.divingPlatform)) {
throw new RuntimeException("teleportation was denied by another plugin");
}
p.sendTitle("§3À toi de jouer !", "", 20, 40, 20);
return p;
}
}
Game game = new Game(Bukkit.getOnlinePlayers(), MyPlugin.playLocation);
Player teleported = game.teleportNextPlayer();
// ...
Tu peux aussi télécharger le code source de Spigot afin d'avoir les noms des paramètres au lieu de
s
,
s1
,
i
,
i1
et
i2
; positionne ton curseur sur le nom d'une fonction de Bukkit (style
sendTitle
), puis appuie sur
CTRL
+
B
, puis clique sur « Download sources » qui devrait être apparu en haut du nouvel onglet qui s'est ouvert.
Cordialement,
ShE3py