Aller au contenu

Boutique

Requiert le plugin « Cobaltia »

/boutique ouvre une boutique en menus entièrement décrite dans boutique.yml. Les paiements sont débités dans les monnaies du plugin principal du serveur Cobaltia : gemmes (gems), coins (coins) et points de farm (farm_points). Sans ce plugin, la commande répond « Boutique indisponible ».

  1. Accueil — les catégories, placées aux cases de votre choix, et un bouton « Ton solde » qui affiche les trois monnaies du joueur.
  2. Catégorie — jusqu’à 45 articles par page, avec pagination, retour et fermeture. Chaque article affiche son prix ; un article déjà possédé brille et indique « Déjà possédé ».
  3. Confirmation — l’article, son prix et un bouton « Confirmer ». Si l’article a deux prix, deux boutons permettent de choisir la monnaie (« Payer en gemmes » / « Payer en coins »).
  4. Paiement — la somme est débitée, puis les commandes de l’article sont exécutées par la console. Le joueur reçoit « Achat effectué » avec un son.
boutique.yml
boutiques:
gemmes:
titre: Boutique # titre du menu d'accueil
monnaie-principale: gems # monnaie affichée en premier : gems, coins ou farm_points
categories:
animations:
nom: <#C77DFF>Animations de pseudo # MiniMessage
icone: NAME_TAG # matériau ou nexo:<id>
slot: 22 # case dans le menu d'accueil (0-53)
description:
- <gray>Effets animés sur ton pseudo.
articles:
animation_eclat:
categorie: animations
nom: Éclat Cobalt
icone: LAPIS_LAZULI
prix:
gems: 500 # valeur d'exemple
commandes:
- effets give {joueur} eclat
lore:
- <gray>Une lame de lumière traverse ton pseudo.
possede: cobaltia.effet.eclat # déjà possédé si le joueur a cette permission
Champ Description
categorie Identifiant d’une catégorie existante (obligatoire)
nom, icone, lore Affichage dans le menu (MiniMessage pour le lore ; icone accepte nexo:<id>)
prix Une ou deux monnaies parmi gems, coins, farm_points, avec un montant strictement positif
commandes Commandes console exécutées après paiement. {joueur} = pseudo de l’acheteur
possede Permission qui marque l’article comme « Déjà possédé » et empêche de le racheter
par-saison true : achetable une seule fois par saison
booster-aleatoire Sous-section facteur et minutes : active un booster d’un type tiré au sort
lien Commande exécutée par le joueur au clic, à la place d’un achat (ouvrir un autre menu)

Un article doit avoir soit un lien, soit un prix et un contenu (commandes ou booster-aleatoire). Sinon boutique.yml est refusé au démarrage et l’erreur est indiquée dans la console.

Dans une commande, {hasard:a|b|c} est remplacé par l’une des valeurs au hasard, tirée au moment de l’achat :

commandes:
- compagnon give {joueur} aleatoire:{hasard:rare|epique}
  • Un achat à la fois par joueur : les clics répétés pendant un paiement sont ignorés.
  • La possession (possede) et la limite par saison sont revérifiées au moment de payer.
  • Si le paiement échoue (solde insuffisant, erreur), rien n’est exécuté et le joueur est prévenu (« Solde insuffisant » / « Achat impossible »).
  • Si le joueur se déconnecte entre le débit et la livraison, il est remboursé automatiquement.
  • Chaque achat est consigné dans la console : [boutique] <joueur> a acheté <article> pour <montant> <monnaie>.