Configuration
Après toute modification : /tcg reload. Si la nouvelle configuration est invalide, le rechargement est refusé, les erreurs sont affichées et l'ancienne configuration reste active.
Langue
config.yml > language : en (défaut d'une nouvelle installation), fr, es ou de. Les fichiers livrés (config, messages, collections, cartes, boosters, objectifs, modèle ItemsAdder) existent dans les quatre langues. Pour changer de langue, il suffit de mettre language: fr (ou es, de) dans config.yml, puis de redémarrer ou de faire /tcg reload : les fichiers sont basculés automatiquement, avec la même sauvegarde que la commande ci-dessous.
/tcg language <en|fr|es|de> (permission tcg.admin) change de langue en une commande :
- les fichiers actuels
config.yml,messages.yml,groups.yml,cards.yml,boosters.yml,objectives.ymletitemsadder/tcg_items.ymlsont sauvegardés dansplugins/TCG/backups/language-<date>/; - les fichiers de la langue choisie sont installés ;
- le plugin se recharge.
Les collections des joueurs, la base de données et les items déjà distribués ne sont pas touchés : les IDs (cartes, paquets, collections) sont les mêmes dans toutes les langues. Faites-le avant de personnaliser vos fichiers : vos modifications ne sont pas reportées, mais restent disponibles dans le dossier de sauvegarde.
Un serveur mis à jour depuis la 1.2 ou plus ancienne (config.yml sans clé language) reste en français automatiquement.
Les messages de validation de la console et des admins sont en anglais.
Modifier les chances
Rareté à l'ouverture d'un paquet (config.yml, somme obligatoire de 100, précision 0,01 %) :
rarities:
COMMON: { display: "<gray>Commun", color: "#AAAAAA", chance: 70 }
RARE: { display: "<aqua>Rare", color: "#55FFFF", chance: 22 }
EPIC: { display: "<light_purple>Épique", color: "#FF55FF", chance: 7 }
LEGENDARY: { display: "<gold>Légendaire", color: "#FFAA00", chance: 1 }
Drop du paquet (groups.yml, par collection, entier « 1 chance sur X ») :
groups:
nature:
package_drop_chance: 20000 # 1 / 20 000 ; 0 = désactivé ; 1 = à chaque kill
Ajouter une carte
Dans cards.yml :
cards:
nature_sniffer:
number: 35 # unique dans la collection
name: "Renifleur"
group: nature
entity: SNIFFER # mob vanilla (doit aussi être dans groups.yml > nature.mobs pour dropper le paquet)
rarity: LEGENDARY
itemsadder_item: "tcg:nature_sniffer" # optionnel, défaut tcg:<id>
description: # optionnel
- "Une créature d'un autre âge"
secret: false # optionnel
Règles vérifiées au démarrage : ID en a-z 0-9 _ unique (et différent des pack_id, pour que /tcg give reste sans ambiguïté), numéro unique par collection, collection existante, rareté valide, ID ItemsAdder au format namespace:id et non partagé. Tout mob listé dans une collection doit avoir une carte dans cette collection.
Ne renommez pas l'ID d'une carte déjà distribuée : c'est lui qui est stocké sur les items et en base.
Ajouter une collection
Dans groups.yml :
groups:
ocean:
display_name: "<blue>🌊 Océans"
description: ["<gray>Les créatures marines"]
icon: HEART_OF_THE_SEA
gui_slot: 16 # emplacement dans le menu principal (gui.main.rows * 9 slots)
pack_id: ocean_pack # identifiant du paquet, unique
pack_name: "<blue>Paquet Océans"
pack_itemsadder: "tcg:ocean_pack"
pack_fallback_material: BOOK
package_drop_chance: 15000
environments: [] # [] = toutes les dimensions
mobs: [DOLPHIN, SQUID, GLOW_SQUID]
completion:
broadcast: true
commands: ["give %player% heart_of_the_sea 1"]
Puis ajouter une carte par mob avec group: ocean. Un mob peut appartenir à plusieurs collections, avec une carte dans chacune.
Autres réglages utiles (config.yml)
| Clé | Rôle |
|---|---|
drops.require_direct_player_damage | coup fatal du joueur obligatoire (sinon : crédit vanilla de 5 s) |
drops.delivery | INVENTORY ou GROUND |
drops.disabled_worlds / ignored_gamemodes / ignored_spawn_reasons | exclusions (mondes, modes de jeu, mobs de spawner...) |
drops.broadcast | annoncer chaque paquet trouvé |
packs.open_cooldown_ms | délai entre deux ouvertures |
packs.animation.* | animation d'ouverture : style SCREEN (images plein écran) ou TEXT, step_ticks, card_ticks, skip_on_sneak |
items.* | items de repli, placeholder, lore |
gui.* | taille, emplacements et matériaux des menus |
gui.collection.mode | GRID (grille pleine), BINDER (une grande carte 3x3) ou DOUBLE (deux grandes cartes 3x3, flèches de chaque côté) |
gui.main.itemsadder_texture / gui.collection.itemsadder_texture | fond ItemsAdder des menus (tcg:binder_cover, tcg:binder_page), vanilla automatique sans ItemsAdder |
gui.collection.undiscovered_display | cartes non découvertes : HIDDEN (???) ou INFO (nom et infos, sans l'image) |
holo.* | cartes brillantes : chance, suffixe ItemsAdder |
dust.* / shop.* | valeurs de recyclage, prix de la boutique |
trade.* | durée d'une demande, distance maximale, compte à rebours, paquets échangeables |
milestones / titles | paliers de progression et titres |
leaderboards.* | rafraîchissement et taille des classements |
sounds.* | sons (clé [volume] [pitch], vide = aucun) |
Tous les textes sont dans messages.yml, au format MiniMessage.