Skip to main content

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 LevelMinLevelMax range
  • 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 ZoneLevelConfig entity overrides are used as fallback
Instance overrides zone (multiworld): For worlds that match an entry in 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-level Instances array with PascalCase keys:

Entity Override Fields

Per-instance entity overrides use the same structure as ZoneLevelConfig: Priority: Instance entity overrides > Global zone entity overrides.

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:
(In the example above, the second instance uses 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:
  1. Find the instance id - Check the HUD when inside the dungeon, or look at server logs
  2. Add an entry with the Id, LevelMin, and LevelMax
  3. Optionally add EntityOverrides for bosses or special NPCs
Example:

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: Example HUD display: 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 in InstanceLevelConfig.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:
After editing, use /lvl reload to apply without restarting.

File location and reload

  • Path: mods/Zuxaw_RPGLeveling/InstanceLevelConfig.json
  • To apply changes without restarting, use /lvl reload (rpgleveling.command.reload). See Configuration Overview.

See Also