Aller au contenu principal

Créer des coffres au trésor

webapp_banner.jpg

Les coffres au trésor sont une fonctionnalité qui permet aux administrateurs de créer des coffres pouvant soit lâcher du butin, soit faire apparaître un boss mimique (hostile).

Valeurs

isEnabled

Définit si un coffre au trésor est activé.

CléValeursDéfaut
isEnabledBooléenfalse

Les coffres désactivés sont entièrement ignorés : ils ne sont pas placés dans le monde et ne sont pas proposés à (ni acceptés par) /em place treasureChest. Réglez cette valeur sur true avant d'essayer de placer le coffre.

Exemple
isEnabled: true

chestType

Définit le type de matériau du coffre.

CléValeursDéfaut
chestTypeMatériauCHEST
Exemple
chestType: CHEST

Cela doit être un matériau de coffre valide comme CHEST ou BARREL.

create_chest_material.jpg


facing

Définit la direction vers laquelle le coffre est orienté.

CléValeursDéfaut
facingSpécial [1]NORTH
Exemple
facing: NORTH

Cela définit la direction vers laquelle le coffre est orienté. Les valeurs valides sont NORTH, SOUTH, EAST ou WEST.

Spécial [1]

Déplier le Tableau
Orientation
NORTH
SOUTH
WEST
EAST

dropStyle

Définit si le coffre est destiné à un seul joueur ou à plusieurs joueurs.

Les coffres SINGLE sont consommés par le premier joueur qui les ouvre : le bloc est remplacé par de l'air, un restockTime est écrit, et le bloc réapparaît une fois écoulées les minutes de restockTimer. Il n'y a aucun suivi par joueur, donc le premier arrivé emporte tout le coffre.

Les coffres GROUP ne sont jamais retirés du monde. À la place, chaque joueur qui en ouvre un se voit appliquer son propre temps de recharge, de sorte que chaque joueur peut piller le coffre une fois par période de réapprovisionnement. Ces temps de recharge sont stockés dans le champ restockTimers, que le plugin écrit dans le fichier pour vous.

CléValeursDéfaut
dropStyleSINGLE / GROUPSINGLE
Exemple
dropStyle: SINGLE

lootList

Liste le butin que le coffre au trésor doit lâcher lorsqu'il est ouvert.

CléValeursDéfaut
lootListTable de butin EMaucun
Exemple
lootList:
- filename=elite_scrap_tiny.yml:chance=0.90
- filename=magmaguys_toothpick.yml:chance=1.0

Si aucune entrée de la liste ne réussit son jet de chance, le message treasureChestNoDropMessage de config.yml est envoyé au joueur, afin que le coffre ne se contente pas de ne rien donner en silence. Le temps de recharge est tout de même consommé.


mimicChance

Définit la probabilité de faire apparaître un boss hostile au lieu de lâcher du butin.

CléValeursDéfaut
mimicChanceDouble0

Le jet est effectué à chaque interaction, avant la génération du moindre butin. Lorsque le jet réussit, le mimique apparaît au lieu du butin — le coffre ne fait jamais les deux. Le temps de recharge du coffre est consommé dans les deux cas.

Exemple
mimicChance: 0.5

mimicCustomBossesList

Indique la liste des boss hostiles pouvant apparaître. Un seul boss sera choisi aléatoirement dans cette liste pour apparaître.

La liste prend également en charge un système de poids que vous pouvez utiliser pour vous assurer que certains boss sont choisis plus souvent que d'autres.

CléValeursDéfaut
mimicCustomBossesListListe de chaînesaucun
Exemple
mimicCustomBossesList:
- my_cool_mimic_boss.yml
- weak_mimic_boss.yml

Si vous souhaitez attribuer des poids aux boss, la liste doit être formatée ainsi :

mimicCustomBossesList:
- my_cool_mimic_boss.yml:60
- weak_mimic_boss.yml:40

Dans cette configuration, my_cool_mimic_boss.yml a plus de chances d'être choisi pour apparaître que weak_mimic_boss.yml.

Une entrée sans suffixe de poids, ainsi qu'une entrée dont le poids ne peut pas être lu comme un nombre, se rabattent toutes deux sur un poids de 1.

À quel niveau le mimique apparaît-il ?

Cela dépend du fichier de boss que vous ciblez, et non du coffre :

level du boss mimiqueNiveau d'apparition
Un nombre fixechestTier × 10, plus un bonus aléatoire de 0-10
dynamic (-1) dans un donjon dynamiqueLe niveau sélectionné du donjon, ±1
dynamic (-1) partout ailleursLe niveau d'apparition naturel du joueur qui ouvre, ±1

Si le fichier de boss nommé dans la liste est introuvable, aucun mimique n'apparaît et un avertissement est consigné — le joueur n'obtient rien, pas même le butin.


restockTimer

Définit le délai, en minutes, avant que le coffre ne se remplisse à nouveau de butin.

CléValeursDéfaut
restockTimerEntier0

Pour les coffres SINGLE, il s'agit de la durée pendant laquelle le bloc reste absent avant d'être remis en place. Pour les coffres GROUP, il s'agit du temps que chaque joueur doit attendre avant de pouvoir piller à nouveau le coffre.

Laisser cette valeur à sa valeur par défaut de 0 signifie qu'il n'y a en pratique aucun temps de recharge, et que le coffre peut donc être farmé en boucle. Définissez une vraie valeur sur tout coffre lâchant quelque chose qui en vaut la peine.

Exemple
restockTimer: 30

effects

Remarque : ce réglage ne fait actuellement rien. La clé est toujours lue depuis le fichier de configuration sans erreur, et elle est toujours écrite avec les autres valeurs par défaut, mais rien dans le plugin n'exploite la valeur analysée, si bien qu'aucune particule n'est jamais générée par un coffre au trésor.

Si vous voulez des particules autour d'un coffre, générez-les depuis une autre source pour le moment.

CléValeursDéfaut
effectsListe de chaînesaucun

locations

Définit les emplacements où le coffre au trésor apparaîtra.

Des emplacements peuvent être ajoutés avec /em place treasureChest <treasurechestfilename.yml> en vous tenant à l'endroit souhaité. Cette commande ajoute automatiquement votre position actuelle à la liste des emplacements du coffre et met à jour le fichier de configuration.

CléValeursDéfaut
locationsListe de chaînesaucun

Chaque entrée utilise le format worldName,x,y,z,yaw,pitch. La forme abrégée worldName,x,y,z est également acceptée, auquel cas le yaw et le pitch sont considérés comme valant 0.

Les entrées peuvent porter un suffixe :unixTimestamp, qui correspond à la façon dont EliteMobs stocke l'heure de réapprovisionnement de ce placement de coffre en particulier. Le plugin écrit lui-même ce suffixe lorsqu'un coffre SINGLE est pillé — vous n'avez pas besoin de l'ajouter, et vous pouvez le supprimer pour rendre le coffre immédiatement disponible.

Un même fichier peut contenir autant d'emplacements que vous le souhaitez, et chacun devient son propre coffre avec son propre minuteur de réapprovisionnement.

Exemple
locations:
- my_world,10,50,10,0,0
- my_nether_world,12,58,12,0,0
- my_world,80,64,-30,0,0:1707394380

chestTier

Définit le palier du coffre, qui sert de référence pour le niveau du butin qu'il lâche. Le niveau de référence est chestTier * 10.

CléValeursDéfaut
chestTierEntier0

L'importance réelle de chestTier dépend de l'endroit où se trouve le coffre et du type d'objet présent dans la table de butin :

SituationNiveau auquel le butin est lâché
Coffre ouvert en dehors de toute instanceLes elite items scalable suivent le niveau du joueur qui ouvre, ±1. Tout le reste utilise chestTier * 10.
Coffre dans un donjon dynamiqueLe niveau sélectionné du donjon est utilisé pour tout, les elite items scalable recevant ±1. chestTier est ignoré.
Coffre dans toute autre instancechestTier * 10 pour tout.

Ainsi, dans un monde de survie normal, chestTier définit surtout le niveau de vos objets fixed et limited, tandis que les objets scalable suivent le joueur qui a ouvert le coffre. Notez que le mimique utilise une formule différente — voir mimicCustomBossesList.

Laisser cette valeur à sa valeur par défaut de 0 donne un niveau de butin de référence de 0.

Exemple
chestTier: 3

instanced

Définit si le coffre doit être instancié (pour utilisation dans les donjons instanciés). Tous les minuteurs de réapprovisionnement sont désactivés lorsque les coffres sont placés dans des donjons.

NE DÉFINISSEZ PAS CETTE VALEUR MANUELLEMENT.

CléValeursDéfaut
instancedBooléenfalse
Exemple
instanced: true

restockTime

Une fois qu'un coffre a été pillé, le plugin écrit cette clé pour suivre l'heure de réapprovisionnement.

Elle n'est utilisée que par l'ancien format à coffre unique, où la position du coffre est stockée dans une clé location plutôt que dans la liste locations. Dès qu'un fichier possède la moindre entrée locations, l'heure de réapprovisionnement est écrite sous forme de suffixe :unixTimestamp sur l'entrée locations correspondante et cette clé n'est plus touchée.

NE DÉFINISSEZ PAS CETTE VALEUR MANUELLEMENT.

CléValeursDéfaut
restockTimeHorodatage Unix0
Exemple
restockTime: 1707394380

restockTimers

Stocke les données de temps de recharge par joueur pour les coffres en mode GROUP. Le plugin écrit cette valeur automatiquement, et élague les entrées expirées au fur et à mesure de leur lecture.

Les coffres instanciés n'utilisent pas cette liste — au sein d'une instance, le temps de recharge par joueur est conservé en mémoire uniquement pour la durée de vie de cette instance.

NE DÉFINISSEZ PAS CETTE VALEUR MANUELLEMENT.

CléValeursDéfaut
restockTimersListe de chaînesaucun
Exemple
restockTimers:
- '1234567890-abcd-efgh-ijkl-123456789012:1707394380'
- '0987654321-zyxw-vutr-sqpo-098765432109:1707395000'

Chaque entrée contient un UUID de joueur et un horodatage Unix séparés par deux-points.


Exemple de configuration de coffre au trésor
isEnabled: true
chestType: CHEST
facing: NORTH
chestTier: 3
dropStyle: GROUP
lootList:
- filename=elite_scrap_tiny.yml:chance=0.90
- filename=magmaguys_toothpick.yml:chance=0.95
mimicChance: 0.50
mimicCustomBossesList:
- balrog.yml
- killer_rabbit_of_caerbannog.yml
restockTimer: 1
locations:
- world,0.0,-60.0,-14.0,0.0,0.0

Notez que chaque entrée de butin ci-dessus utilise le préfixe filename=. Écrire magmaguys_toothpick.yml:chance=0.95 à la place serait interprété comme l'ancien format filename.yml:chance, et chance=0.95 n'étant pas un nombre, l'entrée consignerait un avertissement d'analyse à chaque démarrage.

create_chest_chest.jpg