Développer des plugins pour Craftbukkit

Statut
N'est pas ouverte pour d'autres réponses.

Lattyange

Architecte en herbe
20 Juillet 2011
716
27
147
Excellent tutoriel, vraiment ! Toutefois, aurons nous droit à une mise à jour pour PermissionsBukkit ?
 

wildfier

Aventurier
25 Septembre 2011
4
0
1
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] ?
 

Lattyange

Architecte en herbe
20 Juillet 2011
716
27
147
La classe JavaPlugin, celle sur laquelle ton plugin hérite, possède une méthode getServer(). ;)
 

wildfier

Aventurier
25 Septembre 2011
4
0
1
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 ?
 

Ptibiscuit

Modérateur sucre vanillé
11 Mars 2011
620
25
13
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.
 

Lattyange

Architecte en herbe
20 Juillet 2011
716
27
147
Ptitbiscuit, je fait un HS pour te dire que je t'ai envoyé un MP, je sait pas si tu l'as reçu ?
 

wildfier

Aventurier
25 Septembre 2011
4
0
1
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.
 

Ptibiscuit

Modérateur sucre vanillé
11 Mars 2011
620
25
13
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.