From 23b66673431018edeebc8c11eae34c99f4267a26 Mon Sep 17 00:00:00 2001 From: leomelki Date: Wed, 18 Mar 2020 13:44:22 +0100 Subject: [PATCH] Reame update for devs & other MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Mise à jour du ReadMe pour les développeurs voulant rajouter des rôles. - Modification d'une partie du code pour permettre de tester un rôle dans modifier le ressourcepack. --- README.md | 32 ++++++++++++++++++- .../loupgarou/classes/LGCustomItems.java | 2 ++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 02f7986..d4ae6ce 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,10 @@ - [Crédits](#crédits) - [Aide](#aide) - [Questions fréquentes](#questions-fréquentes) +- [Indications pour les développeurs](#indications-développeurs) + - [Ajouter des rôles](#ajouter-rôles) + - [Publier un rôle](#publier-rôle) + - [Quelques classes utiles](#classes-utiles) ## À propos @@ -62,4 +66,30 @@ Il suffit d'ouvrir le fichier `plugins\LoupGarou\config.yml` et de supprimer les - Puis-je mettre plusieurs fois le même rôle dans une seule partie ? Cela est possible pour les rôles `Loup-Garou`, `Villageois` et `Chasseur`. -D'autres rôles peuvent aussi marcher mais n'ont pas été testés avec plusieurs joueurs ayant ce rôle dans une seule partie. C'est à vos risques et périls. \ No newline at end of file +D'autres rôles peuvent aussi marcher mais n'ont pas été testés avec plusieurs joueurs ayant ce rôle dans une seule partie. C'est à vos risques et périls. + +##Indications pour les développeurs + +Ce plugin LoupGarou ayant été modifiés de nombreuses fois, parfois dans des timings tendus, le code n'est pas très propre. +De plus, il n'est pas documenté. +Cependant, si l'envie vous prend de modifier ou d'utiliser la totalité ou une partie du code présent dans cette repo, merci de créditer `leomelki` et `Shytoos`. + +###Ajouter des rôles + +Ce plugin de Loup-Garou est organisé autour d'un système d'évènements, disponnibles dans le package `fr.leomelki.loupgarou.events`. +N'ayant pas le temps de les documenter, vous devriez comprendre vous-même quand ils sont appelés. + +Pour vous aider à créer des rôles, copiez des rôles ayant déjà été créés pour ainsi les modifier. + +⚠️ Ce projet a été créé de façon à ce que les rôles soient - presque - totalement indépendants du reste du code (LGGame, LGPlayer...). +Merci de garder ça en tête lors du développement de nouveaux rôles : utilisez un maximum les évènements et, s'il en manque, créez les ! + +####Quelques classes utiles +`LGGame` : Contient le coeur du jeu, à modifier le minimum possible ! +`LGPlayer` : Classe utilisée pour interragir avec les joueurs et stocker leurs données, à modifier le minimum possible ! +`LGVote` : Système gérant les votes +`RoleSort`: Classement de l'apparition des rôles durant la nuit. + +###Publier un rôle + +Si vous arrivez à créer un rôle, je vous invite à faire une demande de publication dans cette repo afin de les faire partager à l'ensemble de la communauté ! \ No newline at end of file diff --git a/src/main/java/fr/leomelki/loupgarou/classes/LGCustomItems.java b/src/main/java/fr/leomelki/loupgarou/classes/LGCustomItems.java index 6a3d8d6..72c4905 100644 --- a/src/main/java/fr/leomelki/loupgarou/classes/LGCustomItems.java +++ b/src/main/java/fr/leomelki/loupgarou/classes/LGCustomItems.java @@ -46,6 +46,8 @@ public class LGCustomItems { Collections.sort(constraints); HashMap mapps = mappings.get(player.getRole().getClass()); + if(mapps == null) + return Material.AIR;//Lors du développement de rôles. StringJoiner sj = new StringJoiner("_"); for(String s : constraints) sj.add(s);