Salut,
Je vais un peu me répéter mais je pense vraiment que tu n'as "pas le niveau" pour te lancer dans le développement d'un plugin.
Ce n'est pas la bonne manière de réfléchir...
Java est un langage orienté objet. Sais-tu ce que ça veut dire et ce que ça implique ? Si la réponse est non, ça confirme ce que je dis ci-dessus.
En effet, Java est un langage OO mais l'API Bukkit/Spigot impose de parfois "contourner" cet orienté objet. Donc comprendre un concept dans une situation ou le dit concept ne peux pas être appliqué à 100% est compliqué.
Pour expliqué l'OO, j'aime bien partir d'un jeu de société. Partont par exemple du Monopoly. Dans un Monopoly on a un plateau de jeu, des pions, des cases (que l'on peut acheter), ... Tout cela se sont des classes. C'est quelque chose de "physique" que l'on peut toucher, représenter, décrire.
Ces objets ont des propriétés. La taille du plateau par exemple, la couleur des pions, ... toutes ces informations sont des "attributs".
Enfin, on peut faire des actions avec ces objets. Les cases peuvent être acheté, misent en hypothèque, les pions peuvent avancer.
Ce qui est difficile avec l'informatique c'est qu'il n'y a pas UNE bonne manière de faire. C'est un peu comme en mathématique. Peut important la démonstration, tant que la situation de base et la situation final sont la même, les formules entre les deux doivent juste être vrai et logiques l'une avec l'autre...
Donc si on reprend la partie de Monopoly, une structure possible serait:
Java:
public class plateau {
private final ArrayList<Pion> listeDesPionsEnJeu;
private Integer idJoueurDevantJouer;
public plateau(ArrayList<Pion> listeDesPions) {
this.listeDesPionsEnJeu = listeDesPions;
idJoueurDevantJouer = 0;
}
public void lancerLesDes() {
int resultatDes = new Random()....;
listeDesPionsEnJeu.get(joueurDevantJouer).avance(resultatDes);
joueurSuivant();
}
private void joueurSuivant() {
joueurDevantJouer = (joueurDevantJouer+1) % listeDesPionsEnJeu.size();
}
}
public abstract class Pion { // On imagine que chaque pion est un enfant de cet objet. Par exemple "Avion" serait le pion en forme d'avion...
protected final Couleur couleur;
private Integer position;
protected Pion() {
position = 0;
}
public void avance(Integer nombreDeCase) {
position += nombreDeCase;
}
}
Tout ceci n'est qu'un exemple et la structure est discutable... Mais ça montre que ce sont des objets qui "discutent" entre eux.
Dans spigot/bukkit, tu ne "peux pas" faire ça a 100%. En effet, l'API défini ce qu'est un "Material", ce qu'est un "Player" ect. Tu ne peux pas les extends et leur ajouter tes propres méthodes.
Par contre, ton projet lui doit suivre l'OO...
Cordialement,
Detobel36