> ## 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.

# Main Plugin Config

> RPGLevelingConfig.json - Main plugin configuration options.

# Main Plugin Config

**File:** `mods/Zuxaw_RPGLeveling/RPGLevelingConfig.json`

The main configuration file for the RPG Leveling plugin. Controls XP rates, max level, difficulty preset, and core gameplay toggles.

***

## Configuration Options

| Option                         | Type    | Default  | Description                                                                                                                                                                                                                                                                                                                                                                                                                                       |                                                                               |
| ------------------------------ | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `MaxLevel`                     | Integer | 100      | Maximum level players can reach                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                               |
| `RateExp`                      | Double  | 3.0      | Global XP multiplier (1.0 = normal, 2.0 = double XP)                                                                                                                                                                                                                                                                                                                                                                                              |                                                                               |
| `BaseXP`                       | Double  | 1.0      | Base XP multiplier for mob kills (used in XP formula)                                                                                                                                                                                                                                                                                                                                                                                             |                                                                               |
| `LevelBaseXP`                  | Double  | 150.0    | Base value for level XP requirement formula                                                                                                                                                                                                                                                                                                                                                                                                       |                                                                               |
| `LevelOffset`                  | Double  | 0.0      | Offset for level XP requirement formula                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                               |
| `EnableHUD`                    | Boolean | true     | Enable or disable HUD (fix HUD crashes)                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                               |
| `Debug`                        | Boolean | false    | Enable debug logging                                                                                                                                                                                                                                                                                                                                                                                                                              |                                                                               |
| `ResetLevelOnDeath`            | Boolean | false    | Reset player level to 1 on death (hardcore mode)                                                                                                                                                                                                                                                                                                                                                                                                  |                                                                               |
| `BlacklistedEntities`          | String  | `""`     | Comma-separated entity type IDs (e.g. `Bear_Grizzly`) that give **no XP** and **no level display** when killed or looked at                                                                                                                                                                                                                                                                                                                       |                                                                               |
| `EnablePVPXp`                  | Boolean | false    | If `true`, killing a player awards XP. If `false`, no XP from PvP kills                                                                                                                                                                                                                                                                                                                                                                           |                                                                               |
| `DifficultyPreset`             | String  | "normal" | `"easy"`, `"normal"`, `"hard"`, or `"extreme"`                                                                                                                                                                                                                                                                                                                                                                                                    |                                                                               |
| `EnableMonsterLevelScale`      | Boolean | true     | If `true` (default), monster level scaling is enabled (damage/HP per level, gap damage/defense, level-based XP). HP scaling is the primary toughness mechanic, so your damage stays consistent while higher-level mobs simply have bigger HP pools. If `false`, all monster level scaling is disabled and XP reverts to the old HP-based system (only mob max HP), while level display still works. See [Difficulty Scaling](difficulty-scaling). |                                                                               |
| `EnableGapLevelDefense`        | Boolean | true     | If `true`, level-gap defense applies (you deal less damage when underleveled). If `false`, gap defense is disabled - your damage to monsters is not reduced by level gap, letting HP scaling alone handle the toughness while your stat upgrades feel more impactful. See [Difficulty Scaling](difficulty-scaling).                                                                                                                               |                                                                               |
| `EnableGapLevelDamageToPlayer` | Boolean | true     | If `true`, level-gap damage applies (monsters deal extra damage when above your level). If `false`, gap damage to player is disabled - monsters do not get bonus damage from level gap. See [Difficulty Scaling](difficulty-scaling).                                                                                                                                                                                                             |                                                                               |
| `EnableGapLevelXpReducer`      | Boolean | true     | If `true`, XP is reduced when you are underleveled (monster level above yours). If `false`, no XP reduction for being underleveled - you get full XP from higher-level monsters. See [Formulas](formulas) level-difference table and [Difficulty Scaling](difficulty-scaling).                                                                                                                                                                    |                                                                               |
| `EnablePlayerLevelNameplate`   | Boolean | true     | If `true` (default), player nameplates show level (e.g. "Username \[Lvl. X]"). If `false`, player nameplates are not modified and show the default name only.                                                                                                                                                                                                                                                                                     |                                                                               |
| `EnableNotification`           | Boolean | true     | If `true` (default), all notifications are sent (XP gain, level up, stat points earned, death penalty, zone warnings, entity killed). If `false`, no notifications are sent.                                                                                                                                                                                                                                                                      |                                                                               |
| `EnableCurrentZoneHudDisplay`  | Boolean | true     | If `true` (default), HUD shows level plus current zone/biome (e.g. "Lvl 5                                                                                                                                                                                                                                                                                                                                                                         | Zone 1 Emerald Grove"). If `false`, HUD shows only level and XP progress bar. |
| `EnableBlockXP`                | Boolean | true     | If `true` (default), XP is awarded for breaking mining blocks (ore/mineral) and woodcutting blocks (log/tree). If `false`, no XP is awarded for block breaking.                                                                                                                                                                                                                                                                                   |                                                                               |
| `BlockXPBaseMining`            | Double  | 5.0      | Base XP awarded per mining block (ore/mineral). Final XP = base × playerScale × zoneMultiplier × RateExp.                                                                                                                                                                                                                                                                                                                                         |                                                                               |
| `BlockXPBaseWood`              | Double  | 3.0      | Base XP awarded per woodcutting block (log/tree). Final XP = base × playerScale × zoneMultiplier × RateExp.                                                                                                                                                                                                                                                                                                                                       |                                                                               |
| `BlockXPPlayerLevelFactor`     | Double  | 0.1      | Player level factor for block XP scaling. PlayerScale = 1.0 + (playerLevel - 1) × this value (no cap). Higher = more XP per block at high levels.                                                                                                                                                                                                                                                                                                 |                                                                               |

***

## XP and Leveling

**0.2.0 note:** XP from mobs is based on **monster level** and **level difference**. `RateExp` and `BaseXP` still apply as multipliers. See [Formulas](formulas) for the complete math.

### XP Rate Multiplier

* `RateExp` - Global XP multiplier applied to all XP gains
  * `1.0` = normal XP
  * `2.0` = double XP
  * `3.0` = triple XP (default)

### Level Requirements

Level XP requirements use this formula:

```
XP_required = LevelBaseXP × level^2.5 + LevelOffset   (level ≥ 2)
XP_required(1) = 0
```

* `LevelBaseXP` - Base multiplier for the level curve (exponent 2.5; default: 150.0)
* `LevelOffset` - Added to total XP per level.

See [Formulas](formulas) for examples and progression tables.

***

## Difficulty Scaling

**0.2.0 changes:** Difficulty scaling settings are now in the main config file. Difficulty scaling is always enabled and controlled via the `DifficultyPreset` setting.

### Difficulty Presets

| Preset      | Monster→Player Dmg/Lvl | HP%/Lvl | Gap Dmg Mult | Gap Def Mult | Best For    |
| ----------- | ---------------------- | ------- | ------------ | ------------ | ----------- |
| **EASY**    | +0.5%                  | +2%     | ×0.75        | ×0.75        | New players |
| **NORMAL**  | +1%                    | +3.25%  | ×1.0         | ×1.0         | Default     |
| **HARD**    | +2%                    | +4.5%   | ×1.25        | ×1.25        | Experienced |
| **EXTREME** | +4%                    | +6.5%   | ×1.5         | ×1.5         | Hardcore    |

See [Difficulty Scaling](difficulty-scaling) for complete details on monster damage, HP scaling, and level-gap mechanics.

### Scaling Toggles

Fine-tune difficulty with these toggles:

* `EnableMonsterLevelScale` - Master toggle for all level-based scaling (damage, HP, XP)
* `EnableGapLevelDefense` - Toggle level-gap defense penalty (you → monster when underleveled)
* `EnableGapLevelDamageToPlayer` - Toggle level-gap damage bonus (monster → you when underleveled)
* `EnableGapLevelXpReducer` - Toggle XP reduction when fighting higher-level monsters

***

## Death Penalty

Optional **hardcore mode** that resets progress on death:

* `ResetLevelOnDeath: true` - Reset to level 1, lose all XP, clear stat allocations
* `ResetLevelOnDeath: false` (default) - Keep level and stats on death

***

## Entity Blacklist

Exclude specific entities from giving XP and showing level displays:

```json theme={null}
{
  "BlacklistedEntities": "Bear_Grizzly,Wolf_Alpha,Sheep"
}
```

Blacklisted entities:

* Give **no XP** when killed
* Show **no level display** when looked at
* Are comma-separated entity type IDs

***

## PvP XP

Control whether player kills award experience:

* `EnablePVPXp: true` - Killing players awards XP
* `EnablePVPXp: false` (default) - No XP from player kills

***

## Block XP (Mining / Woodcutting)

**0.2.3+:** Earn XP from breaking blocks:

* `EnableBlockXP: true` (default) - XP awarded for mining ore/mineral and woodcutting log/tree blocks
* `EnableBlockXP: false` - No XP from block breaking

### Base XP Values

* `BlockXPBaseMining` (default 5.0) - Base XP per mining block (ore, mineral)
* `BlockXPBaseWood` (default 3.0) - Base XP per woodcutting block (log, tree)
* `BlockXPPlayerLevelFactor` (default 0.1) - How much block XP scales with player level. PlayerScale = 1.0 + (level - 1) × factor (no cap).

### Which Blocks Give XP

Only specific block types give XP:

| Category        | Block ID contains                | Examples                       | XP  |
| --------------- | -------------------------------- | ------------------------------ | --- |
| **Mining**      | `ore` or `mineral`               | Iron\_Ore, Diamond\_Mineral    | Yes |
| **Woodcutting** | `log` or `tree`                  | Oak\_Log, Birch\_Tree          | Yes |
| **(No XP)**     | `stone`, `rock`, `wood`, `plank` | Stone, Cobblestone, Oak\_Plank | No  |

**Note:** Stone/rock/wood/plank blocks still benefit from Mining/Woodcutting stat speed bonus - they just don't give XP.

### Zone Bonus

Mining/woodcutting in higher-level zones gives more XP. Each zone has its own `BlockXPZoneLevelFactor` in [Zone Config](config-zones).

See [Formulas](formulas) for the complete block XP formula.

***

## Example Config (Default Values)

```json theme={null}
{
  "MaxLevel": 100,
  "RateExp": 3.0,
  "BaseXP": 1.0,
  "LevelBaseXP": 150.0,
  "LevelOffset": 0.0,
  "EnableHUD": true,
  "Debug": false,
  "ResetLevelOnDeath": false,
  "BlacklistedEntities": "",
  "EnablePVPXp": false,
  "DifficultyPreset": "normal",
  "EnableMonsterLevelScale": true,
  "EnableGapLevelDefense": true,
  "EnableGapLevelDamageToPlayer": true,
  "EnableGapLevelXpReducer": true,
  "EnablePlayerLevelNameplate": true,
  "EnableNotification": true,
  "EnableCurrentZoneHudDisplay": true,
  "EnableBlockXP": true,
  "BlockXPBaseMining": 5.0,
  "BlockXPBaseWood": 3.0,
  "BlockXPPlayerLevelFactor": 0.1
}
```

***

## See Also

* [Configuration Overview](config-overview) - All config files
* [Stats Config](config-stats) - Stat points and values
* [Formulas](formulas) - XP and progression math
* [Difficulty Scaling](difficulty-scaling) - Monster scaling details
