Aller au contenu principal

Table de butin personnalisée

Format de butin universel. Utilisé par EliteMobs à plusieurs endroits différents.

Veuillez noter qu'il s'agit du format le plus récent et de celui dont l'utilisation est recommandée, mais que certains anciens formats alternatifs existent.

Remarque : La prise en charge de l'ancien format est toujours disponible via la syntaxe séparée par deux-points : filename.yml:chance:permission. Cependant, le format moderne présenté ci-dessous est recommandé pour les nouvelles configurations.

Dans cette ancienne syntaxe, la chance est obligatoire. Écrire un simple filename.yml sans rien après lâche toujours l'objet à 100 %, mais journalise un avertissement Failed to parse entry ... due to invalid: chance à chaque démarrage ; préférez donc filename.yml:1.0 ou le format moderne.

Assurez-vous de commencer vos tables de butin par uniqueLootList: avant d'ajouter le moindre paramètre, sinon la config .yml produira une erreur.

Tous les types d'entrée ne fonctionnent pas depuis toutes les tables de butin

Les quatre types d'entrée sont analysés partout, mais ils ne sont pas délivrés partout. Sur le butin des Custom Boss (uniqueLootList) en particulier :

Type d'entréeputLootDirectlyIntoPlayerInventory: false (par défaut)putLootDirectlyIntoPlayerInventory: true
Item elite (filename)Est lâchéEst lâché
Item vanilla (material / type)Est lâchéRien ne se passe
Elite coins (currencyAmount)Rien ne se passeRien ne se passe
Commande (command=)Rien ne se passeRien ne se passe

Le butin de boss passe par un chemin de livraison spécifique aux boss afin que le drop puisse être attribué à l'élite qui l'a produit, et seule l'entrée d'item elite (plus l'entrée vanilla, lorsque le butin est lâché au sol) l'implémente. Les entrées de monnaie et de commande sont silencieusement ignorées — aucun avertissement n'est affiché.

Les coffres au trésor, les récompenses de quête et les récompenses d'arène utilisent le chemin de livraison ordinaire et gèrent normalement les quatre types d'entrée. Si vous voulez qu'un boss distribue des pièces ou exécute une commande, utilisez plutôt onDeathCommands sur le boss.

Lâcher des items elite :

KeyDetailsValuesDefault
filenameDéfinit le nom du fichier de l'Item personnalisé à utiliser.Filenamenone
Exemple
uniqueLootList:
- filename: magmaguys_toothpick.yml

Cela fera lâcher au mob 1 MagmaGuy's Toothpick avec une chance de drop de 100 %.

Paramètres généraux :

KeyDetailsValuesDefault
chanceDéfinit la chance que le butin soit lâché, où 1.0 vaut 100 %.Double1.0
amountDéfinit la quantité de cette entrée de butin à lâcher. Ignoré par les entrées de monnaie — utilisez currencyAmount pour celles-ci.Integer1
permissionDéfinit le nœud de permission requis pour que les joueurs reçoivent ce butin. Pris en charge par les entrées d'items elite, de monnaie et de commande. Les entrées d'items vanilla ne le lisent jamais, quel que soit le format.Stringnone
Exemple
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.5
amount: 10
permission: elitemobs.loot.rare

Cela fera lâcher au mob 10 MagmaGuy's Toothpick avec une chance de drop de 50 %, mais uniquement pour les joueurs possédant la permission elitemobs.loot.rare.

Lâcher des elite coins :

KeyDetailsValuesDefault
currencyAmountDéfinit la quantité de pièces qui seront lâchées.Integernone

Notez que la clé partagée amount ne fait rien pour les entrées de monnaie — le versement de pièces provient uniquement de currencyAmount. Dans le format chaîne séparé par deux-points uniquement, une entrée qui aboutit à un currencyAmount de 0 est rejetée avec un avertissement au lieu d'être enregistrée.

Exemple
uniqueLootList:
- currencyAmount: 344
chance: 0.5

Cela fera lâcher au mob 344 Elite Coins avec une chance de drop de 50 %.

Lâcher des items vanilla :

KeyDetailsValuesDefault
materialDéfinit le matériau de l'item lâché. Accepte les noms de matériaux Minecraft (insensible à la casse). Vous pouvez aussi utiliser type à la place de material.Materialnone
Exemple
uniqueLootList:
- material: APPLE
chance: 0.3
amount: 5

Cela fera lâcher au mob 5 Pommes avec une chance de drop de 30 %.

Exécuter des commandes lors d'un drop de butin :

Vous pouvez exécuter des commandes de console lorsque du butin est lâché. C'est utile pour s'intégrer à d'autres plugins ou pour fournir des récompenses personnalisées. Les entrées de commande utilisent uniquement le format chaîne séparé par deux-points.

KeyDetailsValuesDefault
commandDéfinit la commande de console à exécuter. Utilisez %player% comme placeholder pour le nom du joueur.Stringnone

La commande elle-même ne doit contenir ni : ni un second =, car l'entrée est découpée sur ces deux caractères lors de son analyse.

Comment chance se comporte pour les commandes

Les entrées de commande tirent chance deux fois, et le second tirage est inversé : la commande s'exécute donc en réalité chance × (1 - chance) du temps.

  • chance=1.0 (la valeur par défaut si vous l'omettez) signifie que la commande ne s'exécute jamais.
  • chance=0.5 donne le taux le plus élevé atteignable, 25 %.
  • chance=0.9 donne 9 %.

Définissez toujours une chance explicite inférieure à 1.0 sur les entrées de commande, et attendez-vous à un taux de déclenchement réel inférieur au nombre que vous avez écrit.

Exemple
uniqueLootList:
- command=give %player% diamond 1:chance=0.5:amount=1:permission=elitemobs.loot.command

Cela exécutera la commande give <player> diamond 1 depuis la console lorsque le mob est tué, environ 25 % du temps (voir l'avertissement ci-dessus). Le placeholder %player% sera remplacé par le nom réel du joueur. Seuls les joueurs possédant la permission elitemobs.loot.command déclencheront cette commande.

Récompenses d'arène :

Lorsque vous créez des tables de butin d'arène, veuillez vous assurer de commencer votre table de butin par rawArenaReward: au lieu de uniqueLootList:.

KeyDetailsValuesDefault
waveDéfinit la vague à laquelle cette entrée de butin sera lâchée. À utiliser uniquement dans les arènes. Pris en charge au format map pour les entrées d'items vanilla, mais uniquement au format chaîne pour les entrées d'items elite (filename).Integer-1
itemLevelDéfinit le niveau du butin lâché. À utiliser uniquement dans les arènes, et lu uniquement pour les entrées d'items elite (filename). Disponible uniquement au format chaîne, pas au format map.Integer1
Ces deux clés comportent des pièges
  • Seules les entrées ayant une wave de 1 ou plus sont enregistrées comme récompenses de vague. Une entrée de récompense d'arène sans wave est analysée et acceptée, mais aucune vague ne la distribuera jamais.
  • itemLevel vaut 1 par défaut, et non le niveau de l'arène ou du joueur. Un item elite scalable accordé par une arène sans itemLevel explicite tombe donc en tant qu'item de niveau 1.
Exemple
rawArenaReward:
- material: BREAD
wave: 1
amount: 10
chance: 0.5
- filename=magmaguys_toothpick.yml:wave=1:itemLevel=2

Lorsque les joueurs battent la première vague, cela fera lâcher à l'arène 10 Pains avec une chance de drop de 50 % et 1 MagmaGuy's Toothpick de niveau 2 avec une chance de drop de 100 %.

Notez que l'entrée d'item elite (filename) utilise ici le format chaîne, car wave et itemLevel ne sont analysés pour les entrées d'items elite qu'au format chaîne. Les entrées d'items vanilla (comme l'entrée material: BREAD ci-dessus) acceptent wave au format map.

Donjons instanciés :

KeyDetailsValuesDefault
difficultyIDDéfinit la difficulté de donjon instancié pour laquelle ce butin sera lâché. À utiliser uniquement dans les donjons instanciés.Stringnone

difficultyID n'est lu que pour les entrées d'items elite (filename) écrites au format map présenté ci-dessous. Il n'est pas analysé dans le format chaîne séparé par deux-points, et il n'est pas lu pour les entrées vanilla, de monnaie ou de commande.

Il ne prend également effet que sur le butin des Boss Personnalisés. Le butin des coffres au trésor, des quêtes et des arènes ne l'évalue jamais.

À l'intérieur d'un donjon instancié, l'entrée se comporte comme suit :

  • La difficulté du donjon correspond au difficultyID : l'objet va dans la table de butin de groupe partagée du boss plutôt que d'être remis directement à celui qui l'a tué, afin que tout le groupe puisse le réclamer.
  • La difficulté du donjon ne correspond pas : l'entrée est ignorée.
  • Le joueur n'est pas du tout dans un donjon instancié : le difficultyID est ignoré et l'objet tombe normalement.
Exemple
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.5
difficultyID: 1

Cela fera lâcher au mob 1 MagmaGuy's Toothpick avec une chance de drop de 50 % si les joueurs ont vaincu le boss en difficulté 1.