Instance Level Config
File:mods/Zuxaw_RPGLeveling/InstanceLevelConfig.json
This file defines level ranges and entity overrides for instances and dungeons — places where zone/biome are unknown or where you want a per-world level range (e.g. instanced dungeons, multiworld). When a player or mob is in a world that matches an instance entry, the plugin uses this config for:
- Mob level calculation — Monsters get levels within the instance’s
LevelMin–LevelMaxrange - HUD display — The HUD shows the instance id and level range (e.g. “Yungs_HyDungeons_Skeleton_Dungeon (Lvl 55–75)”) and uses the same color logic as zones (green/white/orange/red by level gap)
- XP and entity overrides — Per-instance entity overrides (e.g. boss level/XP) are checked first; global
ZoneLevelConfigentity overrides are used as fallback
InstanceLevelConfig, the instance level range and entity overrides always take precedence over ZoneLevelConfig. So you can have a main world using zones (Emerald Grove, Howling Sands, etc.) and separate dungeon/minigame worlds each with their own level range in InstanceLevelConfig.json. The old built-in “default” (1–25) entry was removed; the default config includes an example (e.g. Yungs_HyDungeons_Skeleton_Dungeon 55–75). Add or edit entries for your instance/dungeon worlds.
Instance Configuration Fields
Instances are defined under the top-levelInstances array with PascalCase keys:
| Field | Type | Description |
|---|---|---|
Id | String | Full instance id (e.g. Yungs_HyDungeons_Skeleton_Dungeon). Matching depends on ExactIdMatch: exact normalized match, or include (game id contains this id). |
LevelMin | Integer | Minimum monster level for this instance. |
LevelMax | Integer | Maximum monster level for this instance. |
EntityOverrides | Array | Per-entity overrides for this instance only (same structure as ZoneLevelConfig: EntityId, Level, DisableLevelScaling, XP). Instance overrides take precedence over global ZoneLevelConfig entity overrides. |
DisableRPGLeveling | Boolean | If true (default: false), the plugin is disabled for this world/instance: no HUD, no level scaling, no XP, no stat-based modifiers (damage/defense/mining/stamina), no death reset. Use to run specific instances (e.g. a minigame world) without any RPG Leveling impact. |
ExactIdMatch | Boolean | If true (default), the world id must match exactly (after normalization: lowercase, collapse spaces/underscores). If false, the plugin uses include match: the game’s world id only needs to contain the config Id (e.g. game returns instance-MyDungeon-123, config Id is MyDungeon). Use false when the game adds prefixes/suffixes to the instance name. |
Entity Override Fields
Per-instance entity overrides use the same structure as ZoneLevelConfig:| Field | Type | Description |
|---|---|---|
EntityId | String | NPC type ID (e.g. Skeleton_Boss) |
Level | Integer | Fixed level for this entity |
DisableLevelScaling | Boolean | If true, ignore all bonus stats per level |
XP | Double (optional) | Precise XP amount to award (still multiplied by RateExp) |
Example Config
The built-in “default” (1–25) entry was removed. The default config includes one example instance (Yungs_HyDungeons_Skeleton_Dungeon 55–75); add or edit entries for your instance/dungeon worlds. Example with an entity override:ExactIdMatch: false so the game id only needs to contain Yungs_HyDungeons_Dragon_Lair.)
Adding a New Dungeon
To add a dungeon or modded instance:- Find the instance id — Check the HUD when inside the dungeon, or look at server logs
- Add an entry with the Id, LevelMin, and LevelMax
- Optionally add EntityOverrides for bosses or special NPCs
Removed default entry
The previous built-in “default” (1–25) entry has been removed. New configs include an example entry Yungs_HyDungeons_Skeleton_Dungeon (LevelMin 55, LevelMax 75, empty EntityOverrides). Add or edit entries for your instance/dungeon worlds as needed.HUD Display
The HUD shows the instance name and level range with color coding:| Color | Meaning | XP | Action |
|---|---|---|---|
| White | Too easy (−26+ levels) | 10% | Move to harder content |
| Green | Good match (±25 levels) | 100–150% | Stay here |
| Orange / Red / Purple | Too hard (+26+ levels) | 20–50% | Come back when higher level |
Yungs_HyDungeons_Skeleton_Dungeon (Lvl 55–75) in green text.
Monster Level Variation
Just like zones, monsters in instances have ±5 level variation around their base level for variety.Use Cases
Dungeon with Boss Override
Set a skeleton dungeon with a level 80 boss:High-Level End-Game Dungeon
Create an extreme difficulty dungeon with a level 150 boss:Troubleshooting: Custom instance config doesn’t apply
Sometimes your instance level range or entity overrides do not apply even though you added an entry inInstanceLevelConfig.json. A common cause is that the game uses a non-static instance id: the world id can include a prefix and a unique suffix (e.g. a UUID), so it never matches your config Id exactly.
Example: You set "Id": "MJ_Instance_D01" but the game reports the world as instance-MJ_Instance_D01-d63515ea-a4ed-4f3b-a984-5606fb656dc3. With the default ExactIdMatch: true, the plugin requires an exact match (after normalization), so your config is ignored.
Fix: For that instance entry, set ExactIdMatch to false. Then the plugin matches by include: the game id only needs to contain your config Id (e.g. MJ_Instance_D01). So instance-MJ_Instance_D01-d63515ea-a4ed-4f3b-a984-5606fb656dc3 will match.
In InstanceLevelConfig.json, find the instance and set:
File location and reload
- Path:
mods/Zuxaw_RPGLeveling/InstanceLevelConfig.json - To apply changes without restarting, use /lvl reload (admin/OP). See Configuration Overview.
See Also
- Configuration Overview — All config files
- Disable mod for a specific world/instance — Guide to using DisableRPGLeveling
- Zone Config — Zone level mapping
- Dungeon Mod Setup — Step-by-step guide for dungeons
- Override entity xp and level — Override entities from any mod
