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 | |
BlacklistedEntityRoles | String | "Citizen_" | Comma-separated role name substrings for NPCs excluded from leveling: no level display, no HP/damage scaling, no XP. NPCs with the NPCEntity component whose role name contains any of these strings (e.g. Citizen_) are treated as non-leveled. Use for Citizen mod NPCs (dialogue, traders). See Entity role blacklist. | |
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. | |
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. | |
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. | |
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 level-difference table and Difficulty Scaling. | |
EnableNameplateLevelDisplay | Boolean | true | If true (default), nameplates can show level; if false, no nameplate is modified (players or monsters). | |
EnablePlayerLevelNameplate | Boolean | true | If true (default), player nameplates show level (e.g. “Username [Lvl. X]”). If false, only player nameplates are left unchanged; monster level still shows when you look at them. | |
EnableNotification | Boolean | true | If true (default), notifications are sent (XP gain, level up, stat points earned, death penalty, zone warnings, entity killed, critical hits, class tier-up subtitle, etc.). If false, no notifications are sent. | |
EnablePassiveNotifications | Boolean | true | Only applies when EnableNotification is true. If true (default), class passive proc popups are shown (heal/buff/damage effect lines, Hunter’s Mark proc, on-kill timed buffs like Overkill). If false, those passive-only popups are hidden; XP, level up, crits, entity killed, tier-up subtitle, zone warnings, etc. are unchanged. | |
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. |
BlacklistedXPBlocks | String | "Tw_Feed_Carnivore,Tw_Feed_Herbivore" | Comma-separated block type IDs excluded from mining/woodcutting XP. Case-insensitive exact match (same style as BlacklistedEntities). See Block XP blacklist. |
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 for the complete math.
XP Rate Multiplier
RateExp- Global XP multiplier applied to all XP gains1.0= normal XP2.0= double XP3.0= triple XP (default)
- Admin timed XP boost - Operators can run
/lvl xprateboost(see Commands) for a server-wide or per-player multiplier over a duration. That multiplier is applied on top of this config (and zone rates): e.g.RateExp3 plus timed ×2 ⇒ 6× vs the formula baseline, not 5×.
Level Requirements
Level XP requirements use this formula:LevelBaseXP- Base multiplier for the level curve (exponent 2.5; default: 150.0)LevelOffset- Added to total XP per level.
XPCurveOverridesConfig.json.
See 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 theDifficultyPreset 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 |
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 allocationsResetLevelOnDeath: false(default) - Keep level and stats on death
Entity Blacklist
Exclude specific entities from giving XP and showing level displays:- Give no XP when killed
- Show no level display when looked at
- Are comma-separated entity type IDs
Entity role blacklist
Exclude NPC roles from leveling (no level display, no HP/damage scaling, no XP). This is based on the entity’s role name (NPCEntity component), not the entity type ID. Default:"Citizen_" - so NPCs whose role name contains Citizen_ (e.g. from the Citizen mod: dialogue, traders, quest givers) are not scaled and do not show level.
- Role names are checked with contains (case-insensitive). Example:
Citizen_GuardorMyCitizen_Typematch the stringCitizen_. - Blacklisted role NPCs: no level on nameplate, no HP scaling, no damage scaling, no XP when killed.
- Leave as
"Citizen_"to keep Citizen mod NPCs unaffected; set to""to level all NPCs by role (no role blacklist).
Block XP blacklist
Exclude specific block type IDs from mining/woodcutting XP when players break them. Use this when a modded block matches ore/log/tree rules but should not be farmed for XP (for example Animal Husbandry feed troughs). Default:"Tw_Feed_Carnivore,Tw_Feed_Herbivore"
- List block type IDs, not item IDs. Enable
"Debug": true, break the block once, and check the console for[BlockBreakXPSystem] Block broken: id="...". - IDs use case-insensitive exact match (same as
BlacklistedEntities).tw_feed_carnivoreandTw_Feed_Carnivoreare equivalent. - Blacklisted blocks give no XP when broken. Mining/woodcutting stat speed bonuses are unchanged.
- Set to
""to allow XP from all eligible blocks (no block blacklist). - To disable all block-break XP, use
EnableBlockXP: falsein the same file (documented in 0.2.0 Main Config - Block XP).
PvP XP
Control whether player kills award experience:EnablePVPXp: true- Killing players awards XPEnablePVPXp: false(default) - No XP from player kills
Example Config (Default Values)
File location and reload
- Path:
mods/Zuxaw_RPGLeveling/RPGLevelingConfig.json - This file is reloaded by
/lvl reload. See Configuration Overview.
See Also
- Configuration Overview - All config files
- Stats Config - Stat points and values
- Formulas - XP and progression math
- Difficulty Scaling - Monster scaling details
