Plugin [API BUKKIT] Récupérer nom du joueur exécutant la commande

  • Auteur de la discussion Auteur de la discussion Wundows
  • Date de début Date de début

Wundows

Architecte en herbe
16 Janvier 2012
142
8
125
29
Marseille
Salut à tous,

Je commence à créer des plugins et en avançant je me suis mis sur un projet important. Le joueur pourra créer une ville etc mais avant je teste l'écriture de données dans le fichier de configuration.

J'essaie d'entrer le pseudo et le nom de la ville du joueur exécutant la commande /create <nom>.
Voici le bout de code qui est lié à ceci :

Code:
if(sender instanceof Player)
            {
                // C'est un joueur qui a effectué la commande
                Player p = (Player) sender;// On récupère le joueur.
                if(args.length == 1)
                {
                    String name = args[0];
                    p.sendMessage("Félicitations " + p + "§2Vous avez créé la ville §6" + name);
                    villes.set( name+".Maire", p );
                    try {
                        villes.save(fichierVilles); // Et on n'oublie pas de sauvegarder !
                    } catch (IOException ex) {
                        ex.printStackTrace();
                    }
                }
            }
Normalement dans le fichier villes.yml si par exemple je fais /create Yolo
Il devrait avoir:
Code:
Yolo:
  Maire: Wundows
Mais ce n'est pas vraiment ça, on voit ceci en config:
Code:
Yolo:
  Maire: *id001

Avez vous une solution à ce problème?
 
Après ton Player p = (Player) sender; rajoute :

String name = sender.getName();

ou

String displayName = sender.getDisplayName();

Ensuite tu remplace villes.set( name+".Maire", p ); par villes.set( name+".Maire", name ); fin tu as compris :p
 
Au début j'avais mis le sender.getName() il mettais un erreur, puis on m'a dit sur un autre forum entre temps de faire p.getName et ça fonctionne, merci pour l'aide ;)