CX Cobblemon XP Overhaul v2.1 Documentation
Ctrl K
EN 25% OFF Servers BisectHosting • Code OurStory Discord Join the server CurseForge Cobblemon XP Overhaul Modrinth Cobblemon XP Overhaul
Introduction

Cobblemon XP Overhaul

Introduction: Présentation

Un système d'XP unifié et configurable pour les joueurs et leurs Pokémon : captures, combats et entraînement.

Ce wiki décrit le code v2.1 pour Minecraft 1.21.1, Fabric et NeoForge. Vérifiez les versions effectivement publiées sur CurseForge ou Modrinth.

À quoi sert le mod ?

Cobblemon XP Overhaul réunit la progression XP dans un même système, avec des récompenses configurables et des mécanismes d'entraînement.

  • XP du joueur après les captures et les victoires contre des Pokémon sauvages, des dresseurs PNJ ou d'autres joueurs.
  • XP Pokémon lors des captures et des K.O. en combat de dresseur.
  • Interactions configurables entre Exp All et Multi Exp.
  • Bonus Œuf Chance, première capture, captures répétées, Shiny, Alpha et Pokémon rares.
  • Fiole d'XP permettant de stocker une partie des récompenses du mod pour entraîner un Pokémon.
  • Aperçu d'un transfert avec Shift + clic droit (v2.1).
  • Diagnostic administrateur avec /cxpo xp explain [player] (v2.1).
  • Wiki anglais et français et traductions en jeu enrichies.

Prérequis

ComposantVersion
Minecraft1.21.1
Cobblemon XP OverhaulDocumentation v2.1
Cobblemon1.8.2 minimum, inférieur à 1.9.0
OS Cobblemon Library1.3.0 minimum — obligatoire
FabricFabric Loader 0.17.2+, Fabric API, Fabric Language Kotlin, Cloth Config
NeoForge21.1.182+, Cloth Config pour l'interface cliente
Java21

Fonctionnement de l'XP

  1. Capturer ou combattre — un événement génère une récompense.
  2. Calculer — les niveaux, bonus et réglages déterminent l'XP.
  3. Répartir — une fraction de l'XP du joueur peut rejoindre la fiole.
  4. Entraîner — utiliser la fiole sur un Pokémon possédé, après aperçu si besoin.

L'Exp All des captures est désactivé par défaut. La fiole ne collecte pas l'XP vanilla. Voir la progression, la fiole d'XP et les commandes.

Bien démarrer

Installation et prérequis

Bien démarrer: Installation

Cobblemon XP Overhaul ajoute des récompenses d'expérience configurables pour les captures et les combats, ainsi qu'une fiole d'XP pour entraîner les Pokémon.

Versions prises en charge

ComposantVersion
Minecraft1.21.1
Cobblemon XP Overhaul2.1
Cobblemon1.8.2 minimum et strictement inférieure à 1.9.0, sur Minecraft 1.21.1
Mod loaderFabric ou NeoForge
OS Cobblemon Library1.3.0+, obligatoire
Java21

Fabric

Installer la version Fabric du mod avec Fabric Loader 0.17.2+, Fabric API, Fabric Language Kotlin 1.13.6+, Cobblemon 1.8.2+ (avant 1.9), OS Cobblemon Library 1.3.0+ et Cloth Config 15.0.140+. Mod Menu est facultatif.

NeoForge

Installer la version NeoForge du mod avec NeoForge 21.1.182+, Cobblemon 1.8.2+ (avant 1.9), OS Cobblemon Library 1.3.0+ et Cloth Config 15.0.140+ sur les clients utilisant l'interface de configuration. La compilation utilise Kotlin for Forge. Ne mélangez pas les fichiers Fabric et NeoForge.

Mise en place

  1. Préparer Minecraft 1.21.1 avec le loader choisi et Cobblemon.
  2. Télécharger la version correspondante sur CurseForge.
  3. Placer le JAR et ses dépendances, notamment OS Cobblemon Library, dans mods. En multijoueur, serveur et clients doivent utiliser la variante adaptée.
  4. Démarrer le jeu ou serveur pour générer config/cobblemon_xp_overhaul/.
  5. Capturer un Pokémon, puis remporter un combat pour vérifier les récompenses.
Le dépôt source indique v2.1. Vérifiez sur CurseForge les fichiers réellement publiés.

Pour obtenir un aperçu de transfert sans consommation, faire Shift + clic droit sur un Pokémon invoqué avec la fiole équipée en main. Lire la progression, la fiole d'XP et la configuration.

Récompenses

Progression et expérience

Récompenses: Progression XP

Les récompenses XP du joueur (barre d'expérience Minecraft) et XP des Pokémon sont gérées indépendamment.

Captures et XP du joueur

Capturer un Pokémon peut rapporter de l'XP selon une valeur de base, son niveau, un multiplicateur global et des bonus. Valeurs initiales : baseXp=4 et levelMultiplier=0.2.

Les modificateurs de capture couvrent :

  • Première capture d'une espèce ou captures répétées
  • Pokémon Shiny, Alpha et formes spéciales
  • Pokémon légendaires, fabuleux et Ultra-Chimères
  • Œuf Chance lorsque ce bonus est actif

L'historique des espèces est conservé par joueur. Les multiplicateurs Shiny et Alpha valent 1.0 par défaut : aucune augmentation sans personnalisation.

Combats et XP du joueur

Les victoires contre les Pokémon sauvages, dresseurs PNJ et en PvP disposent chacune d'un profil : activation, XP de base, coefficient de niveau et multiplicateur global. Un niveau minimum des Pokémon vaincus peut filtrer les récompenses.

Par défaut, les victoires causées par une capture sauvage sont exclues du calcul de récompense de combat afin d'éviter un double gain.

Captures et XP des Pokémon

Les Pokémon éligibles de l'équipe peuvent obtenir de l'XP suivant leur rôle :

  • Participants : participantMultiplier (défaut 1.0).
  • Porteurs d'un Multi Exp avec Exp All désactivé : expShareMultiplier (défaut 0.5).
  • Bénéficiaires de l'Exp All : expAllMultiplier (défaut 0.35).

pokemon.capture.expAllEnabled est false par défaut. Un porteur du Multi Exp peut bénéficier d'un bonus optionnel de 10 % lorsque l'Exp All est actif. Le Pokémon capturé peut aussi être éligible si allowCapturedPokemonWithExpAll est activé.

Combats contre des dresseurs

L'XP des Pokémon éligibles est distribuée après chaque K.O. en combat de dresseur, sans attendre une victoire finale. Les récompenses déjà gagnées peuvent donc être conservées même en cas de défaite ultérieure.

Œuf Chance

Pour l'XP du joueur, la détection dépend des réglages d'inventaire et d'objets tenus par l'équipe. Pour l'XP de capture des Pokémon, l'Œuf Chance tenu par chaque bénéficiaire est examiné individuellement. Multiplicateur par défaut : 1.5.

Examiner un calcul d'XP du joueur (v2.1)

Les opérateurs peuvent utiliser /cxpo xp explain ou /cxpo xp explain <player> pour afficher le dernier calcul d'XP du joueur, les bonus appliqués et la répartition entre joueur et fiole. Les traces ne sont conservées que pendant la session serveur. Voir les commandes.

Consultez la référence de configuration.

Entraînement

Fiole d'XP

Entraînement: Fiole d'XP

La XP Flask (cobblemon_xp_overhaul:xp_flask) stocke une partie de l'XP du joueur accordée par XP Overhaul pour la convertir ensuite en XP Pokémon.

La fiole ne collecte pas l'XP du minage, des créatures habituelles ni d'autres sources non gérées par XP Overhaul.

Recette

Éclat d'améthysteFiole d'expérienceÉclat d'améthyste
Bonbon Exp. LMulti ExpBonbon Exp. L
Lapis-lazuliFiole d'expérienceLapis-lazuli

La recette 3 × 3 est ajoutée au démarrage du serveur.

Charger et utiliser la fiole

  1. Garder la fiole dans l'inventaire ou l'équiper dans le slot facultatif Accessories xp_flask.
  2. Recevoir une récompense d'XP du joueur lors d'une capture ou victoire admissible.
  3. Une fraction alimente la fiole si le système est activé, le reste rejoint la barre d'expérience Minecraft.
  4. Faire un clic droit avec la fiole remplie sur son propre Pokémon invoqué.

Nouveauté v2.1 : maintenez Shift (accroupi) puis faites un clic droit sur votre Pokémon invoqué avec la fiole pour prévisualiser le transfert dans le chat. Cet aperçu montre l'XP Pokémon prévue, le coût en XP stockée, le solde restant et le niveau estimé, ou indique pourquoi le transfert est impossible. Il ne consomme aucune XP et ne modifie pas le Pokémon. Le clic droit normal applique le transfert.

Une utilisation ne donne au maximum que l'XP nécessaire pour atteindre le niveau suivant, avant le traitement des événements Cobblemon. Le solde reste dans la fiole. Son infobulle affiche la quantité d'XP Pokémon convertible disponible.

Conversion par défaut

ParamètreDéfautEffet
coreCaptureRatio0.25Redirige 25 % de l'XP admissible (arrondi inférieur)
transferMultiplier40.0Coefficient de conversion
transferEfficiency0.9Efficacité
enabledtrueActivation

Le facteur de conversion effectif est 40 × 0.9 = 36 XP Pokémon par point d'XP stocké, avant les arrondis et la limitation au niveau suivant.

Accessories et messages

Avec Accessories, la fiole équipée est recherchée avant celles de l'inventaire. Sans ce mod, l'inventaire fonctionne normalement.

trainerXpCore.messageMode accepte ACTION_BAR, CHAT et DISABLED. Le paramètre showTrainerXpCoreMessages peut également masquer les messages.

L'aperçu est une estimation : le transfert est recalculé au moment de son application. Voir les commandes et l'API.

Administration

Guide de configuration

Administration: Configuration

Le mod crée deux fichiers JSON dans config/cobblemon_xp_overhaul/ :

FichierUsage
cobblemon_xp_overhaul-server.jsonXP des captures et combats, Œuf Chance, fiole d'XP
cobblemon_xp_overhaul-common.jsonMessages, file d'attente Action Bar, débogage

Modifier les réglages

  1. Démarrer une fois le jeu ou serveur pour générer les fichiers.
  2. Faire une sauvegarde des deux JSON.
  3. Modifier les clés voulues. JSON n'autorise ni commentaires ni virgules finales.
  4. Exécuter /cxpo reload avec une permission de niveau 2.
  5. Tester en jeu.

Une interface cliente Cloth Config est également prévue. En multijoueur, les réglages d'équilibrage doivent être faits dans les fichiers du serveur.

Exemple : activer Exp All

Modifier la propriété pokemon.capture.expAllEnabled :

"pokemon": {
  "capture": {
    "expAllEnabled": true,
    "expAllMultiplier": 0.35,
    "expShareBonusWithExpAllEnabled": false
  }
}

Il s'agit d'un extrait de l'arborescence, pas d'un fichier JSON complet.

Exemple : XP de capture

"player": {
  "capture": {
    "baseXp": 4,
    "levelMultiplier": 0.2,
    "globalMultiplier": 1.0
  }
}

Les paramètres invalides sont normalisés et certains anciens noms sont migrés au rechargement. En cas de JSON mal formé, des valeurs par défaut peuvent être rétablies : gardez une sauvegarde.

Pour diagnostiquer une formule d'XP du joueur en v2.1, utilisez /cxpo xp explain [player] avec les droits opérateur. Aucun nouveau paramètre JSON n'est nécessaire.

Consultez la référence des paramètres.

Référence JSON

Référence complète des paramètres

Référence JSON: Paramètres

Les tableaux recensent les clés JSON et valeurs par défaut de la v2.1 dans config/cobblemon_xp_overhaul/.

Paramètres serveur

Fichier : cobblemon_xp_overhaul-server.json

player.capture

Clé JSONPar défaut
enabledtrue
baseXp4
levelMultiplier0.2
globalMultiplier1
luckyEggMultiplier1.5
minimumLevelForRewards.enabledfalse
minimumLevelForRewards.level20

player.battle

Clé JSONPar défaut
luckyEggMultiplier1.5
skipWildCaptureVictoriestrue
minimumLevelForRewards.enabledfalse
minimumLevelForRewards.level20

player.battle.wild

Clé JSONPar défaut
enabledtrue
baseXp4
levelMultiplier0.17
globalMultiplier1

player.battle.trainer

Clé JSONPar défaut
enabledtrue
baseXp5
levelMultiplier0.19
globalMultiplier1

player.battle.pvp

Clé JSONPar défaut
enabledtrue
baseXp6
levelMultiplier0.21
globalMultiplier1

pokemon.capture

Clé JSONPar défaut
enabledtrue
baseXp24
levelMultiplier1.25
globalMultiplier1
participantMultiplier1
expShareMultiplier0.5
expAllMultiplier0.35
expAllEnabledfalse
expShareBonusWithExpAllEnabledfalse
allowCapturedPokemonWithExpAlltrue
luckyEggMultiplier1.5

luckyEgg

Clé JSONPar défaut
enabledtrue
checkPlayerInventorytrue
checkPartyHeldItemsForPlayerXptrue
checkPokemonHeldItemstrue

trainerXpCore

Clé JSONPar défaut
enabledtrue
coreCaptureRatio0.25
transferMultiplier40
transferEfficiency0.9
showTrainerXpCoreMessagestrue
messageMode"ACTION_BAR"

player.capture.bonuses

Clé JSONPar défaut
firstSpeciesBonusEnabledtrue
firstSpeciesMultiplier1.5
repeatedSpeciesModifierEnabledtrue
repeatedSpeciesMultiplier0.75
repeatedSpeciesThreshold1
shinyMultiplier1
alphaMultiplier1
legendaryMultiplier1.2
mythicalMultiplier1.2
ultraBeastMultiplier1.2
specialFormMultiplier1

pokemon.capture.bonuses

Clé JSONPar défaut
firstSpeciesBonusEnabledtrue
firstSpeciesMultiplier1.5
repeatedSpeciesModifierEnabledtrue
repeatedSpeciesMultiplier0.75
repeatedSpeciesThreshold1
shinyMultiplier1
alphaMultiplier1
legendaryMultiplier1.2
mythicalMultiplier1.2
ultraBeastMultiplier1.2
specialFormMultiplier1

Paramètres communs

Fichier : cobblemon_xp_overhaul-common.json

messages.actionBar

Clé JSONPar défaut
showPlayerCapturetrue
showPlayerBattletrue
showPokemonCapturetrue
showPokemonBattletrue
showCategoryLabelsfalse
queueEnabledtrue
queueSpacingTicks30

debug

Clé JSONPar défaut
enabledfalse
logToConsoletrue
sendToPlayerfalse

Validation et migration

  • Les XP négatives et la plupart des coefficients négatifs sont ramenés à zéro.
  • luckyEggMultiplier ne descend pas sous 1.0, et coreCaptureRatio reste entre 0 et 1.
  • queueSpacingTicks, repeatedSpeciesThreshold et le niveau minimum restent supérieurs ou égaux à 1.
  • trainerXpCore.messageMode accepte ACTION_BAR, CHAT ou DISABLED.
  • Les anciennes sections racines playerCapture, playerBattle et pokemonCapture sont migrées vers la structure actuelle.

Pour modifier ces valeurs, consultez le guide de configuration.

Administration

Commandes et permissions

Administration: Commandes

Toutes les commandes exigent la permission 2, généralement réservée aux opérateurs.

CommandeEffet
/cxpo reloadRecharge les deux fichiers de configuration
/cxpo flask getAffiche l'XP stockée dans la première fiole utilisable
/cxpo flask set <amount>Définit une valeur d'XP stockée positive ou nulle
/cxpo flask add <amount>Ajoute une valeur signée, sans descendre sous zéro
/cxpo xp explainExplique le dernier calcul enregistré d'XP du joueur (capture ou victoire)
/cxpo xp explain <player>Explique le dernier calcul d'XP du joueur enregistré pour le joueur en ligne ciblé

L'alias complet /cobblemonxpoverhaul accepte les mêmes sous-commandes.

/cxpo reload
/cxpo flask get
/cxpo flask set 250
/cxpo flask add -50
/cxpo xp explain
/cxpo xp explain Steve

Détail des calculs XP (v2.1)

xp explain affiche le dernier calcul d'XP du joueur de la session serveur : source (capture, combat sauvage, dresseur ou PvP), niveaux concernés, XP de base, calcul par niveau, multiplicateurs appliqués, XP totale, XP reçue et XP redirigée vers la fiole. Les gains nuls et certaines captures ignorées sont également expliqués lorsqu'une trace existe.

Les traces sont conservées uniquement durant la session serveur, avec un maximum de 256 joueurs suivis en mémoire. Ce n'est ni un historique persistant, ni un outil de détail de l'XP individuelle des Pokémon. En l'absence de trace, la commande le signale.

L'argument facultatif <player> permet d'inspecter un joueur en ligne. Depuis la console, il faut indiquer un joueur, car la version sans argument nécessite une entité joueur.

Elles doivent être exécutées par un joueur disposant d'une fiole utilisable. Elles n'ont pas d'argument permettant de cibler la fiole d'un autre joueur et ne s'utilisent pas depuis la console comme un joueur.

La fiole du slot facultatif Accessories est prioritaire sur les fioles de l'inventaire.

Voir la configuration et la fiole d'XP.

Prérequis

Compatibilité

Prérequis: Compatibilité

Versions et loaders

Le code cible Minecraft 1.21.1, Cobblemon 1.8.2 minimum et strictement inférieur à 1.9.0, Fabric et NeoForge. Vérifiez toujours la version exacte du fichier à installer.

Fabric : Fabric Loader 0.17.2+, Fabric API, Fabric Language Kotlin 1.13.6+, Cloth Config 15.0.140+, OS Cobblemon Library 1.3.0+ et Cobblemon 1.8.2 à 1.8.x.

NeoForge : NeoForge 21.1.182+, Cobblemon 1.8.2 à 1.8.x, OS Cobblemon Library 1.3.0+, Cloth Config 15.0.140+ pour les clients utilisant l'interface de configuration. La compilation utilise Kotlin for Forge.

OS Cobblemon Library est obligatoire sur les deux loaders : le mod utilise son accès au stockage d'équipe Pokémon.

Ces exigences sont issues des métadonnées du mod et ne garantissent pas que toutes les versions ultérieures ont été testées.

Langues disponibles en jeu

La version 2.1 enrichit les traductions intégrées au mod. Le site de documentation est disponible en anglais et en français.

Intégrations facultatives

ModFonctionnement
AccessoriesSlot de fiole xp_flask, avec repli vers l'inventaire
Mod MenuAccès facultatif au menu de configuration Fabric
Radical Cobblemon Trainers (RCT)Compatibilité conditionnelle des limites de niveau si son API attendue est disponible

Le module RCT est recherché sans dépendance obligatoire. Si l'API attendue n'est pas accessible, son intégration ne s'active pas.

Multijoueur et limites

Les récompenses et l'API de fiole sont gérées côté serveur. Serveur et clients doivent utiliser les versions compatibles. L'équilibrage se règle sur le serveur.

La fiole ne collecte que les récompenses d'XP du joueur générées par XP Overhaul. Son utilisation normale est limitée au prochain niveau Pokémon avant les événements Cobblemon. Shift + clic droit prévisualise le transfert sans retirer d'XP. L'Exp All est désactivé par défaut.

Voir la FAQ et l'installation.

Dépannage

FAQ et dépannage

Dépannage: FAQ

Pourquoi ma fiole reste-t-elle vide ?

Elle collecte uniquement l'XP du joueur donnée par XP Overhaul, pas celle du minage ou des créatures vanilla. Gardez-la dans l'inventaire ou dans le slot Accessories compatible, puis vérifiez trainerXpCore.enabled=true et coreCaptureRatio>0.

Pourquoi toute mon équipe ne reçoit-elle pas d'XP ?

Vérifiez pokemon.capture.enabled, la participation, le Multi Exp et expAllEnabled (désactivé par défaut). Les règles normales de Cobblemon s'appliquent aussi.

Pourquoi les captures Shiny ou Alpha ne donnent-elles pas plus d'XP ?

Les multiplicateurs shinyMultiplier et alphaMultiplier valent tous deux 1.0 par défaut.

Pourquoi la commande reload ne fonctionne-t-elle pas ?

/cxpo reload nécessite la permission 2.

Peut-on vérifier un transfert avant de l'effectuer ?

Oui, depuis la v2.1. Maintenez Shift (accroupi) et faites un clic droit avec la fiole sur votre Pokémon invoqué pour afficher un aperçu dans le chat sans dépenser d'XP. Un clic droit normal applique le transfert.

Comment consulter le détail d'un gain d'XP ?

Avec la permission 2, /cxpo xp explain [player] affiche le dernier calcul d'XP du joueur enregistré dans la session serveur. Il ne détaille pas l'XP des Pokémon et ne conserve pas l'historique après redémarrage.

Pourquoi reste-t-il de l'XP dans la fiole ?

Chaque usage est plafonné à l'XP requise pour atteindre le prochain niveau, avant les événements Cobblemon.

Pourquoi mes réglages reviennent-ils aux valeurs par défaut ?

Un JSON invalide peut déclencher l'application de valeurs sécurisées. Consultez les logs et restaurez une sauvegarde. debug.enabled peut aider au diagnostic.

Peut-on utiliser la fiole avec les Pokémon du PC ?

Une autre extension peut employer l'API de fiole sur les objets Pokémon serveur du PC ou de l'équipe. Cela n'ajoute pas, à lui seul, de bouton à l'interface PC.

Où sont les fichiers de configuration ?

Dans config/cobblemon_xp_overhaul/, sous forme de deux JSON. Voir la configuration.

Intégration

API développeur : XP Flask

Intégration: API développeur

La version 2.1 propose une API côté serveur pour prévisualiser puis appliquer la conversion de la fiole à un objet Pokémon Cobblemon, provenant notamment de l'équipe ou du PC.

Exemple Java

import com.cobblemon.mod.common.pokemon.Pokemon;
import net.levelscraft7.cobblemonxpoverhaul.api.XpFlaskApi;
import net.levelscraft7.cobblemonxpoverhaul.api.XpFlaskPreview;
import net.levelscraft7.cobblemonxpoverhaul.api.XpFlaskResult;
import net.minecraft.server.level.ServerPlayer;

XpFlaskPreview preview = XpFlaskApi.preview(player, pokemon);
if (preview.canApply()) {
    XpFlaskResult result = XpFlaskApi.apply(player, pokemon);
    if (result.success()) {
        // Actualiser l'interface du mod appelant.
    }
}

Aperçu côté joueur (v2.1) : Shift + clic droit avec la fiole sur son Pokémon invoqué affiche une estimation dans le chat. L'API ci-dessous permet les intégrations serveur dans d'autres mods.

preview ne modifie rien. apply recherche à nouveau la fiole et recalcule le coût. Les quantités d'XP et niveaux transmis par un client ne doivent pas être considérés comme fiables.

Détection facultative

Identifiant du mod : cobblemon_xp_overhaul.

  • Fabric : FabricLoader.getInstance().isModLoaded("cobblemon_xp_overhaul")
  • NeoForge : ModList.get().isLoaded("cobblemon_xp_overhaul")

Contrat et restrictions

Appeler les méthodes avec un ServerPlayer et un Pokemon faisant autorité sur le serveur. La fiole Accessories équipée est vérifiée en priorité, suivie de l'inventaire. L'XP stockée utilise la donnée personnalisée StoredTrainerXp. Un appel accorde au maximum l'XP nécessaire jusqu'au prochain niveau, avant les événements Cobblemon.

  • XpFlaskPreview : status, storedTrainerXp, availablePokemonXp, requiredPokemonXp, trainerXpCost, pokemonXpToGrant, currentLevel, resultingLevel. Méthodes canApply() et willLevelUp().
  • XpFlaskResult : status, consumedTrainerXp, grantedPokemonXp, previousLevel, resultingLevel, storedTrainerXpBefore, storedTrainerXpAfter. Méthode success().
  • XpFlaskStatus : SUCCESS, FEATURE_DISABLED, INVALID_PLAYER, INVALID_POKEMON, NO_FLASK_FOUND, EMPTY_FLASK, MAX_LEVEL, INSUFFICIENT_XP, NO_XP_REQUIRED, APPLICATION_FAILED.

Pour traduire le résultat, utiliser XpFlaskStatus.translationKey(). Voir les commandes.