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

Wundows

Architecte en herbe
16 Janvier 2012
142
8
125
28
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?
 

Whithel

Joueur et programmeur modeste
14 Août 2014
81
11
3
27
Nancy
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
 

Wundows

Architecte en herbe
16 Janvier 2012
142
8
125
28
Marseille
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 ;)