Développer des plugins pour Craftbukkit

Statut
N'est pas ouverte pour d'autres réponses.
Excellent tutoriel, vraiment ! Toutefois, aurons nous droit à une mise à jour pour PermissionsBukkit ?
 
Salut, à la fin de ton tuto, tu expliques comment passer du nom d'un joueur à l'objet Player en question :
Code:
[Server].getPlayer("bobeuuh");
Par quoi doit on remplacer [Server] ?
 
Merci pour ta réponse aussi rapide ! En effet ça marche, merci bien.

Entre temps j'avais trouvé un truc qui marche aussi la méthode statique org.bukkit.Bukkit.getPlayer(String name) (pas très pratique :p )

De même que d'autres personnes qui on posé la question, j'ai besoin de stocker des infos dans un fichier donc la doc de SnakeYaml m'intéresse. Il vaut mieux que je cherche dans la javadoc de SnakeYaml ou dans celle de bukkit ? Y a-t'il des choses à savoir pour arriver à faire le lien entre les deux ?
 
Je ferais très prochainement un tutoriel pour utiliser SnakeYaml et pouvoir le prendre sous toute ses coutures. J'introduirai aussi une API baptisée CookYaml de ma création qui permet de plus facilement gérer le Yaml en général.
 
Ptitbiscuit, je fait un HS pour te dire que je t'ai envoyé un MP, je sait pas si tu l'as reçu ?
 
Désolé du double post mais j'aurais une question par rapport à SnakeYaml.

Si on regarde le fichier de config.yml de Permission on peut voir que dans :
"groups.[nomDuGroupe].permissions" au lieu d'y avoir une valeur quelconque, il y a une liste de valeur.

Ma question est simple comment faire ? La seule méthode dans Configuration est setProperty mais elle ne permet que de definir une valeur et pas une liste.
 
Si tu veux définir des listes, il faut utiliser SnakeYaml différemment qu'avec Configuration. Celui-ci ne permet que de faire des clé-valeur, un peu comme Properties.
En gros, voici comment tu accéderais au truc:
Code:
Yaml yml = new Yaml();
Hashmap<String, Object> root = yml.load([InputJeNeSaisPasQuoi]);
ArrayList<String> = root.get("groups").get("NomDuGroupe").get("permissions");
La dernière ligne est simplifié, tu dois normalement avoir une tonne de (cast).
Quand tu fais .get(), tu récupères la matérialisation d'une indentation pour la valeur. Seulement, le type de l'objet retournée par .get() peut-être de tout type. Si tu as ça:

list:
- 1
- 2
- 3

.get("list") te retournera une ArrayList.
Pour ça:
list:
[Espacement]name: Mineur
[Espacement]fonction: Miner
(Il faut remplacer [Espacement] par 2 espaces, mais le forum les prends pas en compte.)
.get("list") te retournera une HashMap.
 
Statut
N'est pas ouverte pour d'autres réponses.