Plugin Développement Java - Changer les messages de Join/Quit

Krown0s

Développeur débutant :3
29 Mai 2016
84
20
56
Salut tout le monde, ceci est mon premier tutoriel alors faites des remarques constructives si quelque chose vous déplait. Ce premier tutoriel va vous apprendre à changer les messages quand un joueur rejoint ou quitte le serveur.

---------------------------------------------------------------------------------------------
Difficulté [1/5]
Messages Join/Quit
Partie I:

Nous allons d'abord créer la class Main, puis étendre JavaPlugin. Nous allons rajouter les méthodes de bases:

Code:
    @Override[/COLOR][/COLOR][/LEFT]
[COLOR=#ff0000][COLOR=#000000][LEFT]        public void onEnable() {
        System.out.println("[Tuto] Activation");
    }


    @Override
    public void onDisable() {
        System.out.println("[Tuto] Desactivation");

    }






Cela permet juste d'afficher dans la console

1464551890-screenshot-1.png


Il faut créer un fichier qui se nomme "plugin.yml" pour indiquer quelques informations:
Code:
name: Main[/COLOR][/COLOR][/LEFT]
[COLOR=#ff0000][COLOR=#000000][LEFT]version: 0.1
main: fr.chronoos89.Main
description: Permet de ban des joueurs







Name: C'est le nom de votre plugin qui va apparaitre dans le /pl
Main: Ici, c'est pour indiquer l'endroit de votre Main (regardez bien le nom de votre package)
Description: La description du plugin ^^
Version: C'est la version du plugin


Maintenant, il faut indiquer que nous allons enregistrer les events dans une nouvelle class, que se nomme Events.
Code:
Events.registerEvents(this);
Il faut rajouter cette ligne dans le onEnable.

Partie II:

Après avoir créer notre class, vous devriez avoir une erreur dans votre Main, il suffit de dire à la class Events, qu'il va devoir écouter les events., avec cette ligne:

Code:
implements Listener

Et rajouter:
Code:
    public static void registerEvents(Main pl){[/COLOR][/COLOR][/COLOR][/COLOR][/LEFT]
[COLOR=#ff0000][COLOR=#000000][COLOR=#ff0000][COLOR=#000000][LEFT]  PluginManager pm = Bukkit.getPluginManager();
        pm.registerEvents(new JoinQuit(), pl);
    }






Le JoinQuit correspond à une nouvelle class que nous allons créer pour les events Join et Quit.


Maintenant, nous allons nous attaquer à nos deux événements:
  • PlayerJoinEvent
  • PlayerQuitEvent
Donc ça nous donne:
Code:
    @EventHandler[/COLOR][/LEFT][/COLOR][/LEFT]
[COLOR=#000000]
[LEFT][COLOR=#000000][LEFT]    public void onJoin(PlayerQuitEvent e){
 
    }

    @EventHandler
    public void onJoin(PlayerJoinEvent e){
 
    }







Et ensuite il suffit de faire:
Code:
e.setQuitMessage(quitMessage);[/COLOR][/LEFT]
[COLOR=#000000][LEFT]]e.setJoinMessage(joinMessage);







Et il suffit de remplacer quitMessage ou joinMessage par ce que vous voulez.
Par exemple:
Code:
e.setJoinMessage("Un joueur vient de se connecter");

1464553211-screenshot-2.png


Ce n'est pas très jolie et il n'y a pas le nom du joueur, nous allons nous attaquer à ça.

Code:
Player p = e.getPlayer();

Ce bout de code permet de récupérer le joueur qui exécute l'event (le joueur qui se connecte).
Et on l'affiche:

Code:
e.setJoinMessage(p.getName() + " vient de se connecter");

1464553466-screenshot-3.png


Vous pouvez également rajouter de la couleur soit avec "§" ou "ChatColor.NOMDELACOULEUR".
Et il faut faire pareil pour l'autre event:
Code:
        Player p = e.getPlayer();

        e.setJoinMessage(ChatColor.AQUA + p.getName() + " vient de se deconnecter");
1464553834-screenshot-4.png


Voilà, j'espère que ce premier tuto vous a plu, si vous avez des questions, dites les en commentaire.


---------------------------------------------------------------------------------------------

Erreurs ?
1464554230-screenshot-5.png


Il faut rajouter
Code:
p.getName()
-----​
1464554341-screenshot-6.png

Il faut mettre ChatColor.AQUA et non Color.AQUA
-----
1464554670-screenshot-7.png

Là il faut aller voir le fichier plugin.yml et la ligne "main", vous avez dû vous tromper, vous devez suivre ceci:
1464554765-screenshot-8.png

ça donne: fr.chronoos89.Main

Voilà voilà :)

Edit: je sais pas trop si c'est au bon endroit.​
 

Fichiers joints

  • upload_2016-5-29_21-56-30.png
    upload_2016-5-29_21-56-30.png
    592 bytes · Affichages: 554
Dernière édition:
  • J'aime
Reactions: XTReMxLogik

XTReMxLogik

Admnistrateur d'Helyrios
22 Juin 2016
180
12
80
23
Bonjour,
Le tuto est bien réaliser !

En revanche tu aurais du mettre le code complet a la fin pour se rendre compte du Travail :)
 

Krown0s

Développeur débutant :3
29 Mai 2016
84
20
56
Bonjour, je pense que je n'avais pas mit le code complet car je devais penser que les gens allaient uniquement copier / coller le code sans essayer de comprendre. Et ce n'est pas le but de ce tutoriel :)

Et merci bien :D
 
  • J'aime
Reactions: XTReMxLogik

EvroxFR

Bucheron
20 Janvier 2018
26
2
16
23
Bon tuto, malheureusement la plupart des personnes vont copier / coller ...
Il faudrait un tuto qui explique les évents et là ce serait le top ! ;)
 

Krown0s

Développeur débutant :3
29 Mai 2016
84
20
56
Pour ça je ne vois pas vraiment comment faire pour que les personnes travaillent eux-mêmes et ne copient pas uniquement ^^
Comment ça qui explique les events ?

PS : Je viens de voir que le formatage avec les couleurs et l'emplacement a tout défoncé le code, je ne sais pas d'où ça vient ..
 

EvroxFR

Bucheron
20 Janvier 2018
26
2
16
23
Pour ça je ne vois pas vraiment comment faire pour que les personnes travaillent eux-mêmes et ne copient pas uniquement ^^
Comment ça qui explique les events ?

PS : Je viens de voir que le formatage avec les couleurs et l'emplacement a tout défoncé le code, je ne sais pas d'où ça vient ..

Il faudrais expliquer chacun des mots à quoi servent-ils et seulement après montrer un exemple. Mais comme je l'ai dis ton tuto est très bien aussi ;)
 

Krown0s

Développeur débutant :3
29 Mai 2016
84
20
56
Dans ce tuto, la plupart des "mots" utilisés sont du java pur et dur, donc faire un cours de java je ne vois pas bien l'intérêt ^^ Normalement si on développe avec spigot c'est qu'on connait un minimum java (enfin je l'espère).

expliquer chacun des mots à quoi servent-ils et seulement après montrer un exemple

Dans ce cas là je fais un tuto spigot où j'explique plusieurs termes et ensuite je mets des exemples, mais si je veux faire un tuto sur un thème en particulier (exemple changer les messages de connexion / déconnexion) je ne vais pas montrer un exemple :) Je vais directement les utiliser et ensuite les expliquer.

Je pense que je vais refaire (cette semaine ?) un autre tutoriel, si tu as une idée sur quoi je peux le faire :)
 

EvroxFR

Bucheron
20 Janvier 2018
26
2
16
23
Dans ce tuto, la plupart des "mots" utilisés sont du java pur et dur, donc faire un cours de java je ne vois pas bien l'intérêt ^^ Normalement si on développe avec spigot c'est qu'on connait un minimum java (enfin je l'espère).



Dans ce cas là je fais un tuto spigot où j'explique plusieurs termes et ensuite je mets des exemples, mais si je veux faire un tuto sur un thème en particulier (exemple changer les messages de connexion / déconnexion) je ne vais pas montrer un exemple :) Je vais directement les utiliser et ensuite les expliquer.

Je pense que je vais refaire (cette semaine ?) un autre tutoriel, si tu as une idée sur quoi je peux le faire :)


Pour les débutants (je suppose que c'est à eux que s'adresse ces tutos), je pense qu'un tuto sur l'utilisation des commandes simples et des commandes à arguments serait simpas ^^
 
  • J'aime
Reactions: Krown0s