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.
Override entity xp and level
You can override level and XP for specific NPCs (e.g. a mod’s boss or custom mob) so they don’t use the default zone/instance range. Use this when a mod adds entities that should be harder, give more XP, or ignore level scaling.
Two places to override
| Where | Config file | Use when |
|---|
| Open world (zones) | ZoneLevelConfig.json → EntityOverrides | The mob appears in the normal world (zones/biomes). |
| Instances / dungeons | InstanceLevelConfig.json → EntityOverrides inside each instance | The mob appears only inside a dungeon/instance. |
- ZoneLevelConfig overrides apply everywhere in the open world for that entity.
- InstanceLevelConfig overrides apply only inside that instance and take precedence over ZoneLevelConfig for mobs in that instance.
1. Find the entity id
You need the entity type id (e.g. Bear_Grizzly, MyMod_Boss_Phase2). Options:
- Mod documentation — Many mods list their NPC/entity ids.
- Plugin logs — With
Debug: true in RPGLevelingConfig.json, the plugin may log entity ids when mobs spawn or when XP is awarded; check the server log for the id.
- In-game — Some mods or dev tools show entity type on hover or in a debug panel.
- Trial — If the mod follows Hytale naming, ids are often
ModName_EntityName (e.g. Yungs_Skeleton_King). You can add an override with your guess and see if level/XP change for that mob.
The id is usually PascalCase or Snake_Case and must match exactly (case-sensitive).
2. Override in the open world (ZoneLevelConfig)
File: mods/Zuxaw_RPGLeveling/ZoneLevelConfig.json
Add or extend the top-level EntityOverrides array:
{
"Version": "0.2.0",
"Zones": [ ... ],
"EntityOverrides": [
{
"EntityId": "Bear_Grizzly",
"Level": 80,
"DisableLevelScaling": false
},
{
"EntityId": "SomeMod_Boss_Dragon",
"Level": 100,
"DisableLevelScaling": false,
"XP": 5000.0
}
]
}
| Field | Description |
|---|
EntityId | The entity type id from the mod (e.g. SomeMod_Boss_Dragon). |
Level | Fixed level for this entity (used for damage/HP scaling, gap penalties, and XP formula if you don’t set XP). Can be above the zone max (e.g. 100, 150). |
DisableLevelScaling | true = this entity ignores level-based damage/HP and gap bonuses; XP uses HP-based formula only. false = normal level scaling using the overridden level. |
XP | Optional. If set, killing this entity always gives this base XP (still multiplied by RateExp in main config). If omitted, XP is calculated from its level and level difference. |
Example: a mod adds a world boss CoolMod_Ancient_Golem. You want it always level 90 and to give 3000 XP per kill:
{
"EntityId": "CoolMod_Ancient_Golem",
"Level": 90,
"DisableLevelScaling": false,
"XP": 3000.0
}
3. Override inside a dungeon (InstanceLevelConfig)
File: mods/Zuxaw_RPGLeveling/InstanceLevelConfig.json
For mobs that only appear inside an instance (e.g. a dungeon boss), add overrides in that instance’s EntityOverrides:
{
"Id": "Yungs_HyDungeons_Skeleton_Dungeon",
"LevelMin": 55,
"LevelMax": 75,
"EntityOverrides": [
{
"EntityId": "Yungs_Skeleton_King",
"Level": 75,
"DisableLevelScaling": false,
"XP": 2500.0
}
]
}
Same fields as in ZoneLevelConfig: EntityId, Level, DisableLevelScaling, XP. These apply only when the player/mob is in that instance; they override ZoneLevelConfig for that instance.
See Dungeon mod setup for a full Skeleton Dungeon example.
4. Summary
| Goal | Config | Where |
|---|
| Override a mod’s mob in the open world | ZoneLevelConfig.json → EntityOverrides | Top-level array |
| Override a mod’s mob only in a dungeon | InstanceLevelConfig.json → Instances → that instance → EntityOverrides | Per-instance |
| Boss with fixed level + fixed XP | Either | Set Level and XP; optional DisableLevelScaling |
| Boss that doesn’t scale with level (HP-based XP only) | Either | Set Level (for display) and DisableLevelScaling: true |
After editing, save the JSON file. To apply changes without restarting, use /lvl reload (rpgleveling.command.reload). Otherwise restart the server.
For full field reference, see Configuration → Zone Level Config and Instance Level Config.