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

# Zone Level Config

> ZoneLevelConfig.json - Zone level mapping and entity overrides.

# Zone Level Config

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

This file maps zone IDs to their level ranges and defines **per-entity overrides** (e.g. bosses with higher levels than the zone max, or entities that ignore level scaling).

***

## File Structure

The file structure includes:

* **Zone data** - Zone ID/name, min/max level ranges, biome-to-zone remaps
* **Entity overrides** - Per-NPC-type level overrides and optional disabling of level scaling

***

## Zone Configuration Fields

Zones are defined under the top-level `Zones` array with PascalCase keys:

| Field                    | Type              | Description                                                                                                                                                                                             |
| ------------------------ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Id`                     | Integer           | Zone ID number (HUD shows "Zone 1", "Zone 2", etc.)                                                                                                                                                     |
| `LevelMin`               | Integer           | Minimum monster level for this zone                                                                                                                                                                     |
| `LevelMax`               | Integer           | Maximum monster level for this zone                                                                                                                                                                     |
| `ZoneRateExp`            | Double (optional) | **Per-zone XP multiplier.** All XP gained in this zone (mob kills and block break) is multiplied by this value. Default **1.0** (no change). Use **2.0** to double XP in the zone, **0.5** to halve it. |
| `MissingBiomeIds`        | Array of Strings  | Biome IDs/names that should be **treated as this zone** for mob leveling + HUD zone display (zone remap). Useful for special/modded biomes where Hytale reports a different zone number than you want.  |
| `BlockXPZoneLevelFactor` | Double            | Block XP zone bonus factor (default 0.005). Higher zones give more mining/woodcutting XP. Formula: `zoneMultiplier = 1.0 + (zoneLevelMid - 1) × BlockXPZoneLevelFactor`, capped at 1.5.                 |

***

## Default Zones

The plugin includes 6 default zones:

| Zone  | Name             | Monster Levels | Best For                |
| ----- | ---------------- | -------------- | ----------------------- |
| **1** | Emerald Grove    | 1 – 25         | Early game (Level 1–30) |
| **2** | Howling Sands    | 25 – 50        | Mid game (Level 20–55)  |
| **3** | Borea            | 50 – 75        | Late game (Level 45–80) |
| **4** | Devastated Lands | 75 – 100       | End game (Level 70–100) |
| **5** | Skylands         | 85 – 100       | Max level               |
| **6** | Poisonlands      | 90 – 100       | Ultimate challenge      |

**Monster level variation:** Monsters in a zone have **±5 level variation** around their base level.

See [Formulas](formulas) for XP gain by zone.

***

## Block XP Zone Bonus

**0.2.3+:** Each zone can have its own `BlockXPZoneLevelFactor` to control how much bonus XP is awarded for mining/woodcutting in that zone:

```json theme={null}
{
  "Id": 4,
  "LevelMin": 75,
  "LevelMax": 100,
  "MissingBiomeIds": [],
  "BlockXPZoneLevelFactor": 0.008
}
```

**Formula:**

```
zoneMultiplier = 1.0 + (zoneLevelMid - 1) × BlockXPZoneLevelFactor
```

Where `zoneLevelMid = (LevelMin + LevelMax) / 2`, capped at 1.5× max.

### Example Zone Multipliers

| Zone            | LevelMin-Max | ZoneLevelMid | Factor | Multiplier    |
| --------------- | ------------ | ------------ | ------ | ------------- |
| Zone 1          | 1-15         | 8            | 0.005  | 1.035×        |
| Zone 2          | 15-50        | 32           | 0.005  | 1.155×        |
| Zone 3          | 50-75        | 62           | 0.005  | 1.305×        |
| Zone 4          | 75-100       | 87           | 0.005  | 1.43×         |
| Zone 4 (custom) | 75-100       | 87           | 0.008  | 1.5× (capped) |

Higher factor = more bonus XP in that zone. Set to `0` to disable zone bonus for a specific zone.

***

## Custom Modded Biomes

If you have modded or special biomes, you can add their biome IDs/names to the `MissingBiomeIds` array of the zone you want them to behave like. When mobs/players are inside that biome, the plugin will treat the biome as that zone (this affects mob levels and the HUD zone number).

**Example:** If the biome name is `ForgottenTemple` but Hytale reports it as zone 4, you can put `ForgottenTemple` in zone 6's `MissingBiomeIds` to make it behave like zone 6 (and show zone 6 in the HUD).

```json theme={null}
{
  "Id": 6,
  "LevelMin": 90,
  "LevelMax": 100,
  "MissingBiomeIds": ["ForgottenTemple", "CustomBiome_Ancient"]
}
```

***

## Entity Overrides (Boss Levels)

You can force specific NPC type IDs (e.g. bosses) to a fixed level and optionally disable their bonus stats per level (damage/HP scaling, gap bonuses, level-based XP).

Entity overrides live under the top-level `EntityOverrides` array:

### Entity Override Fields

| Field                 | Type              | Description                                                                                                                                                                                                                                                                                                                         |
| --------------------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `EntityId`            | String            | NPC type ID (e.g. `Bear_Grizzly_Boss`), same ID used in logs and blacklists                                                                                                                                                                                                                                                         |
| `Level`               | Integer           | **Fixed level** to use for this entity (can exceed the zone max, e.g. 150)                                                                                                                                                                                                                                                          |
| `DisableLevelScaling` | Boolean           | If `true`, this entity ignores all **bonus stats per level** from the mod: no monster damage/HP scaling from level, no gap damage bonus, no gap defense, and XP for this entity uses the old HP-based formula (only mob max HP). If `false` or omitted, level-based scaling still applies, but uses the overridden level.           |
| `XP`                  | Double (optional) | **Precise XP amount** to award when killing this entity. If set, this exact XP is awarded regardless of level, HP, level gap, or other XP settings. Still multiplied by `RateExp` (RPGLevelingConfig) and the zone's `ZoneRateExp`. If omitted or `null`, uses normal XP calculation (level-based or HP-based depending on config). |

***

## Example Config

```json theme={null}
{
  "Version": "0.2.5",
  "Zones": [
    {
      "Id": 1,
      "LevelMin": 1,
      "LevelMax": 25,
      "ZoneRateExp": 1.0,
      "MissingBiomeIds": [],
      "BlockXPZoneLevelFactor": 0.005
    },
    {
      "Id": 2,
      "LevelMin": 25,
      "LevelMax": 50,
      "ZoneRateExp": 1.0,
      "MissingBiomeIds": [],
      "BlockXPZoneLevelFactor": 0.005
    },
    {
      "Id": 6,
      "LevelMin": 90,
      "LevelMax": 100,
      "ZoneRateExp": 2.0,
      "MissingBiomeIds": ["ForgottenTemple"],
      "BlockXPZoneLevelFactor": 0.008
    }
  ],
  "EntityOverrides": [
    {
      "EntityId": "Bear_Grizzly_Boss",
      "Level": 150,
      "DisableLevelScaling": true,
      "XP": 10000.0
    },
    {
      "EntityId": "Dragon_Elder",
      "Level": 120,
      "DisableLevelScaling": false,
      "XP": 50000.0
    }
  ],
  "_comment": "If you have modded/special biomes, list them in MissingBiomeIds under the zone you want them to behave like. You can also use EntityOverrides to force specific NPC IDs to a fixed level and optionally disable bonus stats per level. BlockXPZoneLevelFactor controls mining/woodcutting XP bonus per zone."
}
```

***

## Use Cases

### Boss with Fixed Level and XP

Force a boss to be level 150 with fixed XP reward, ignoring all level scaling:

```json theme={null}
{
  "EntityId": "MyBoss_NPC_Id",
  "Level": 150,
  "DisableLevelScaling": true,
  "XP": 5000.0
}
```

### Boss with Custom Level (But Keep Scaling)

Set a boss to level 80, but keep level-based damage/HP scaling:

```json theme={null}
{
  "EntityId": "Bear_Grizzly",
  "Level": 80,
  "DisableLevelScaling": false,
  "XP": 5000.0
}
```

### Remap Modded Biome to Zone

Make a custom biome behave like zone 6:

```json theme={null}
{
  "Id": 6,
  "LevelMin": 90,
  "LevelMax": 100,
  "MissingBiomeIds": ["CustomModdedBiome", "AnotherBiome"]
}
```

***

## See Also

* [Configuration Overview](config-overview) - All config files
* [Instance Config](config-instances) - Instance/dungeon level mapping
* [Override entity xp and level](override-for-mod) - Step-by-step guide
* [Formulas](formulas) - Zone XP and level ranges
