For the complete documentation index, see llms.txt. This page is also available as Markdown.

Les réformes

Table des matières

Vue d'ensemble

Le Système de Réformes permet d'implémenter de nouvelles façons de jouer et d'établir ses stratégies dans le jeu.

Guide d'implémentation

Créer une nouvelle Réforme

  1. Aller dans l'enum Perks : Il vous suffit d'ajouter une nouvelle Réforme. L'ID de la Réforme doit être unique à chaque Réforme !

NOM(
    id,
    nom,
    description,
    itemstack
    type de perk
    cooldown si PerksType.EVENT
)

id devra etre un int nom, un string description, une liste de components itemstack, un itemstack :

  • ItemStack.of(Material)

  • CustomItemRegistry.getByName("omc_items:aywenite").getBest(), un CustomItem d'ItemAdder type de perk, PerkEvent donc soit un BASIC et EVENT

Exemple d'une Réforme basique :

Exemple d'une Réforme événementielle :

Gérer les comportements d'une Réforme :

Réforme Basique

  1. Faites une classe dans mayor.perks.basic, vous pourrez implementer Listener si votre Réforme peut être activée lorsqu'une telle chose se passe

  2. Utilisez PerkManager.hasPerk(<City>.getMayor(), id) afin de regarder si le Maire a choisit ce Perk et assurez vous que le Maire est dans sa phase d'application MayorManager.getInstance().phaseMayor==2

Exemple avec un Listener:

Il est aussi autorisé d'implementer un comportement différent dans le code du plugin

Exemple de la modfication des Intérêts :

Réforme Événementielle

  1. Faites une classe dans mayor.perks.event, vous pourrez mettre les méthodes qui sont concernées par votre Réforme Evenementielle.

  2. Allez dans city.menu.mayor.MayorLawMenu, vous devrez ajouter la détection lorsque votre Réforme est activée par le Maire.

Exemple :

DynamicCooldownManager.use(mayor.getUUID().toString(), "mayor:law-perk-event", PerkManager.getPerkEvent(mayor).getCooldown()); va donc appliquer le cooldown associé a la Réforme d'Event.

MilitaryDissuasion.spawnIronMan(city, 10); DynamicCooldownManager.use(city.getUUID(), "city:military_dissuasion", 10 * 60 * 1000L); // 10 minutes Les lignes ci dessus sont le corps de votre Réforme, ici on spawn 10 IronMan dans la ville. Et apres 10 minutes on les clear.

Bonnes pratiques

  1. Nommage clair : Utilisez des noms et descriptions explicites pour les Réformes

  2. Équilibrage de la Réforme : Assurez-vous que la Réforme n'est pas trop puissante, ou trop forte comparé à une autre

  3. Documentation : Commentez votre code pour faciliter la maintenance

  4. Style : Essayez au maximum de vous brancher sur les mêmes couleurs utilisées


Développé par iambibi_

Mis à jour

Ce contenu vous a-t-il été utile ?