> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rpg-leveling.zuxaw.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration Overview

> Overview of all configuration files for RPG Leveling plugin - main configs, stats, zones, instances, classes (0.3.9).

# Configuration Overview

## Main configuration files

The plugin uses **8 distinct configuration files** in `mods/Zuxaw_RPGLeveling/`:

1. **[RPGLevelingConfig.json](config-main)** - Main plugin configuration (XP rates, max level, difficulty preset, toggles)
2. **[StatsLevelConfig.json](config-stats)** - Stat-related configuration (stat points, stat values, max allocations)
3. **[ZoneLevelConfig.json](config-zones)** - Zone level mapping and entity overrides
4. **[InstanceLevelConfig.json](config-instances)** - Instance/dungeon level mapping and entity overrides
5. **[LevelRewardsConfig.json](config-level-rewards)** - Level-based rewards (items and reset points), claimable in the Rewards tab
6. **[XPCurveOverridesConfig.json](config-xp-curve-overrides)** - Per-range multipliers on XP earned (kills / block break)
7. **[HarvestingConfig.json](config-harvesting)** - Crop harvest XP, tiers, cooldown, and per-crop tier overrides
8. **[MessagesLanguageMapping.json](config-messages)** - Translation/localization strings

All config files use improved config handling for better reliability and consistency. Config files are automatically backed up when modified.

**Classes & passives (0.3.6)** - Class and passive configs live in `mods/Zuxaw_RPGLeveling/Classes/`: `ClassHeavy.json`, `ClassBlunt.json`, etc., plus `PassivesConfig.json` and `ClassesGlobalConfig.json` (includes **`ClassChangeCooldownSeconds`** for the GUI class picker delay). See [Classes configuration](classes-config) and [Passives configuration](passives-config).

***

## Quick Tips

* **Faster progression** - Increase `RateExp` or `BaseXP` in [RPGLevelingConfig.json](config-main)
* **Slower progression** - Decrease `RateExp` or `BaseXP` in [RPGLevelingConfig.json](config-main)
* **More stat points** - Increase `StatPointsPerLevel` in [StatsLevelConfig.json](config-stats)
* **Stronger stats** - Increase `StatValuePerPoint` in [StatsLevelConfig.json](config-stats)
* **Difficulty** - Use `DifficultyPreset` in [RPGLevelingConfig.json](config-main) (easy / normal / hard / extreme)
* **Custom translations** - Edit [MessagesLanguageMapping.json](config-messages) to translate all plugin text
* **Zone level mapping** - Edit [ZoneLevelConfig.json](config-zones) to customize zone level ranges
* **Dungeon levels** - Edit [InstanceLevelConfig.json](config-instances) to set level ranges for instances/dungeons
* **Disable mod per world/instance** - In [InstanceLevelConfig.json](config-instances), set **`DisableRPGLeveling`** to `true` for an instance to turn off HUD, XP, scaling, and stats there. See [Disable mod for a specific world/instance](disable-per-world).
* **Level rewards** - Edit [LevelRewardsConfig.json](config-level-rewards) to define items and reset points per level (Rewards tab in GUI)
* **Per-range XP earned** - Edit [XPCurveOverridesConfig.json](config-xp-curve-overrides) to multiply XP earned in specific level ranges (e.g. `{"From": 80, "To": 100, "Multiplier": 3.0}` triples XP earned at levels 80–100)
* **Crop harvest XP** - Edit [HarvestingConfig.json](config-harvesting) for harvest XP, tier multipliers, cooldown, and per-crop overrides (e.g. `"Plant_Seeds_Aubergine": 3`)
* **Harvest stat (double/triple yield)** - Edit [StatsLevelConfig.json](config-stats) (`HarvestDoubleChancePerPoint`, caps, `MaxStatPointsHarvest`)
* **Tame XP** - In [RPGLevelingConfig.json](config-main#tame-xp): `EnableTameXP`, `TameXpMultiplier`, `BlacklistedTameEntityRoles`
* **Block XP blacklist** - In [RPGLevelingConfig.json](config-main#block-xp-blacklist), set `BlacklistedXPBlocks` to comma-separated block type IDs that should not grant mining/woodcutting XP (default: Animal Husbandry feed troughs)
* **Classes & passives** - Edit JSON in `mods/Zuxaw_RPGLeveling/Classes/` to customize classes, passives, and weapon kinds. See [Classes config](classes-config), [Passives config](passives-config).
* **Chat format (Essentials Plus, etc.)** - Use **`%rpglevelling_*%`** in your chat format string; add **[Placeholder API](https://www.curseforge.com/hytale/mods/placeholder-api)** so those percent tokens resolve (see [Chat placeholders](chat-placeholders) and [Level display in chat formatting (Essentials Plus)](level-display-chat-formatting)).

***

## Config File Locations

All configuration files are located in: `mods/Zuxaw_RPGLeveling/`

* `mods/Zuxaw_RPGLeveling/RPGLevelingConfig.json` - Main configuration
* `mods/Zuxaw_RPGLeveling/StatsLevelConfig.json` - Stat configuration
* `mods/Zuxaw_RPGLeveling/MessagesLanguageMapping.json` - Translation strings
* `mods/Zuxaw_RPGLeveling/ZoneLevelConfig.json` - Zone level mapping
* `mods/Zuxaw_RPGLeveling/InstanceLevelConfig.json` - Instance/dungeon level mapping
* `mods/Zuxaw_RPGLeveling/LevelRewardsConfig.json` - Level rewards (items and reset points)
* `mods/Zuxaw_RPGLeveling/XPCurveOverridesConfig.json` - Per-range XP-earned multipliers
* `mods/Zuxaw_RPGLeveling/HarvestingConfig.json` - Crop harvest XP and tier overrides
* `mods/Zuxaw_RPGLeveling/Classes/` - Class files (ClassHeavy.json, etc.), PassivesConfig.json, ClassesGlobalConfig.json (0.3.6)

***

## Reloading config

To apply config changes **without restarting the server**, use **`/lvl reload`** (`rpgleveling.command.reload`). See [Commands](commands#lvl-reload).

| Config file                      | Reloaded by `/lvl reload`?                                  |
| -------------------------------- | ----------------------------------------------------------- |
| **ZoneLevelConfig.json**         | Yes                                                         |
| **InstanceLevelConfig.json**     | Yes                                                         |
| **LevelRewardsConfig.json**      | Yes                                                         |
| **XPCurveOverridesConfig.json**  | Yes                                                         |
| **HarvestingConfig.json**        | Yes                                                         |
| **MessagesLanguageMapping.json** | Yes                                                         |
| **RPGLevelingConfig.json**       | Yes                                                         |
| **StatsLevelConfig.json**        | Yes                                                         |
| **DatabaseConfig.json**          | Yes (in-memory only; DB connection unchanged until restart) |

After editing any config file, run `/lvl reload` to pick up changes. For **DatabaseConfig**: enabling/disabling sync or changing JDBC URL still requires a server restart to apply the new connection.

***

## Migration from 0.1.9

**⚠️ Manual Migration Required:** When updating from 0.1.9 to 0.2.0, you will need to **manually migrate your config values** from the old location (`mods/RPGLeveling/`) to the new location (`mods/Zuxaw_RPGLeveling/`). Many configuration options have changed, so please review the documentation carefully and copy only the values you want to keep. The plugin will generate new default config files on first run.

**For future updates:** The plugin updates config files automatically when you install a new version (see [Config migrations](config-migrations)). Before changing anything, it saves a backup with the suffix `.pre-migration` so you can restore if needed. Your custom values are preserved where possible. If something goes wrong after an update, see [Troubleshooting - Config after an update](troubleshooting-config).
