으БlackՖcarx으
Premium
Si vous venez d'arrivé je vous conseil de commencer par le début ici
Donc dans cette partie on va géré les joueurs qui rejoins la partie.
On va donc créer une nouvel class qu'on va appellé JoinManager et qui va implements Listener
comme ceci
Et on va récupéré notre class principale
Pour cela on va faire "private <Nom de la class principale> plugin;"
puis "public JoinManager(<Nom de la class principale> main) {
this.plugin = main;
}"
Pour moi cela va donné ça
Maintenant qu'on a créé le constructeur on va retourné dans la class principale et l'écuté dans le onEnable()
j'ai déclaré une variable JoinManager que j'ai appellé jm et dans le onEnable j'ai dit que jm est égal a new JoinManager(this);
Maintenant faut dire au plugin qu'on doit enregistré des events dans cette class
Donc on récupére le PluginManager du serveur et on enregistre les events de la class JoinManager
Maintenant on va créer ces events on retourne donc dans la class JoinManager
et on va récupéré le PlayeJoinEvent et aussi le PlayerLoginEvent
Le player join event est appelé lorsque le joueur a rejoins le serveur
le login lui est appelé lorsque le joueur tente de se connecté
Imaginons donc que quand la partie a commencé on ne veut plus que les joueurs puissent rejoindre la partie.
Donc ici quand un joueur tente de se connecte je teste si la partie n'est pas en WAITING. Si cela est le cas on régle le resultat de la connection a kick_other et on refuse la connection avec le résultat que l'on vient de modifier et un petit message de pourquoi il a pas pu se connecté. Mais moi je préfère laisser les joueurs rejoindre mais ils seront en spectateur. Donc moi dans mon login event j'aurai ça
Si la phase est en end je refuse car le serveur va bientôt redémarré.
Maintenant passons au join
Ici tout dépend de si vous ferais un reset de map a la fin ou pas. Si oui y aura pas grand chose a faire a par donné les items au joueur. Mais moi je suis maniaque et vous allez voir pourquoi.
Donc en gros ici avant les condition je vais dire que je réinitialise le joueur. Pourquoi je lui retire l'achievement OPEN_INVENTORY vous verrez dans un prochaine partie
Si la phase est en WAITING je leur donne ce qu'ils faut par rapport au jeu. Ici y aura deux équipe donc je leur donne un item pour rejoindre l'équipe bleu et un pour la rouge et je les met en Adventure. Comme ça ils peuvent pas cassé de bloc. Si la phase n'est pas en Waiting le les met simplement en specateur.
Voilà a vous de personalisés cela a votre besoin et dans la prochaine partie on va géré la salle d'attente
Donc dans cette partie on va géré les joueurs qui rejoins la partie.
On va donc créer une nouvel class qu'on va appellé JoinManager et qui va implements Listener
comme ceci

Et on va récupéré notre class principale
Pour cela on va faire "private <Nom de la class principale> plugin;"
puis "public JoinManager(<Nom de la class principale> main) {
this.plugin = main;
}"
Pour moi cela va donné ça

Maintenant qu'on a créé le constructeur on va retourné dans la class principale et l'écuté dans le onEnable()

j'ai déclaré une variable JoinManager que j'ai appellé jm et dans le onEnable j'ai dit que jm est égal a new JoinManager(this);
Maintenant faut dire au plugin qu'on doit enregistré des events dans cette class

Donc on récupére le PluginManager du serveur et on enregistre les events de la class JoinManager
Maintenant on va créer ces events on retourne donc dans la class JoinManager
et on va récupéré le PlayeJoinEvent et aussi le PlayerLoginEvent

Le player join event est appelé lorsque le joueur a rejoins le serveur
le login lui est appelé lorsque le joueur tente de se connecté
Imaginons donc que quand la partie a commencé on ne veut plus que les joueurs puissent rejoindre la partie.

Donc ici quand un joueur tente de se connecte je teste si la partie n'est pas en WAITING. Si cela est le cas on régle le resultat de la connection a kick_other et on refuse la connection avec le résultat que l'on vient de modifier et un petit message de pourquoi il a pas pu se connecté. Mais moi je préfère laisser les joueurs rejoindre mais ils seront en spectateur. Donc moi dans mon login event j'aurai ça

Si la phase est en end je refuse car le serveur va bientôt redémarré.
Maintenant passons au join
Ici tout dépend de si vous ferais un reset de map a la fin ou pas. Si oui y aura pas grand chose a faire a par donné les items au joueur. Mais moi je suis maniaque et vous allez voir pourquoi.

Donc en gros ici avant les condition je vais dire que je réinitialise le joueur. Pourquoi je lui retire l'achievement OPEN_INVENTORY vous verrez dans un prochaine partie
Si la phase est en WAITING je leur donne ce qu'ils faut par rapport au jeu. Ici y aura deux équipe donc je leur donne un item pour rejoindre l'équipe bleu et un pour la rouge et je les met en Adventure. Comme ça ils peuvent pas cassé de bloc. Si la phase n'est pas en Waiting le les met simplement en specateur.
Voilà a vous de personalisés cela a votre besoin et dans la prochaine partie on va géré la salle d'attente