promotional bannermobile promotional banner

RPG Leveling And Stats/Skills

RPG Leveling turns Hytale into a true RPG with XP, levels, zones, scaling difficulty, and stat progression. Easy–Extreme modes; spend points on Damage, Defense, Health, Stamina. 0.3.0: classes and 18 passives (LifeSteal, Impact…). HUD, GUI, leaderboard.

File Details

RPGLeveling-0.2.0-beta-2.jar

  • B
  • Jan 29, 2026
  • 272.18 KB
  • 183
  • Early Access

File Name

RPGLeveling-0.2.0-beta-2.jar

Supported Versions

  • Early Access

[0.2.0-beta-2] - 2026-01-29

✨ Added

  • 👤 Offline player support for admin commands/lvl setlevel, /lvl setpoints, and /lvl resetstats now work for offline players. When the target player is not online, the plugin looks up their saved data by username in universe/players/ and updates their JSON file directly. Success messages show (offline) when applied to an offline player. /lvl resetall already supported online and offline; unchanged.
  • 🔌 Public API for mod developers — Mod developers can now integrate RPG Leveling into their mods to add XP rewards, listen for level ups, and interact with the leveling system. Examples include: quest rewards, custom boss XP, biome-specific rewards, party XP sharing (like PartyPro), and more. The API is still in beta; it will be improved progressively. See API docs for integration.
  • ⚙️ EnableGapLevelDefense — New config option in RPGLevelingConfig.json. When true (default), level-gap defense scaling applies (you deal less damage when underleveled). When false, gap defense is disabled and your damage to monsters is not reduced by level gap. See Difficulty Scaling docs.
  • ⚙️ EnableGapLevelDamageToPlayer — New config option in RPGLevelingConfig.json. When true (default), level-gap damage scaling applies (monsters deal extra damage when above your level). When false, gap damage to player is disabled — monsters do not get bonus damage from level gap. See Difficulty Scaling docs.
  • ⚙️ EnableMonsterLevelScale — New master toggle in RPGLevelingConfig.json to completely enable/disable monster level scaling. When true (default), damage/HP per level, gap damage/defense, and level-based XP are active. When false, all monster level scaling is disabled and XP from mob kills falls back to the old HP-based system (0.1.9/0.1.10 behavior), while monster/zone level display still works.
  • 📌 ZoneLevelConfig entity overrides — New EntityOverrides section in ZoneLevelConfig.json lets you force specific NPC type IDs (e.g. bosses) to a fixed level (even above the zone max, like 150) and optionally disable all bonus stats per level for them. When DisableLevelScaling is true for an entity, it ignores monster-level damage/HP scaling, gap damage/defense, and uses HP-based XP like 0.1.9/0.1.10, while still showing its overridden level above its head. You can also set a precise XP amount (XP field) for any entity — if set, that exact XP is awarded when killing it (still multiplied by RateExp), overriding all normal XP calculations.

🔄 Changed

  • ⚔️ Gap defense (player → monster) — Reworked tier values and caps for a more killable experience. EASY now drops to 55% damage (45% reduction) at the highest gaps, NORMAL to 50%, HARD to 30%, and EXTREME to 20% (caps). New tier table: 6–10 → 90% / 85% / 80% / 75%; 11–20 → 85% / 75% / 70% / 65%; 21–30 → 75% / 70% / 65% / 55%; 31+ → 55% / 50% / 30% / 20%.
  • 🔋 HP-based toughness — Monsters now scale their health with each level. You still hit for full damage, but higher-level mobs simply have more HP, so your stat upgrades feel meaningful while tough fights demand sustained DPS.
  • 🌍 Early zone ranges — Adjusted default zone levels in ZoneLevelConfig.json to reduce early-game frustration with wolves and bears: Emerald Grove (Zone 1) is now 1–15 (was 1–25), and Howling Sands (Zone 2) is now 15–50 (was 25–50). This keeps the most dangerous mobs out of the very first levels while preserving the overall progression.

🐛 Fixed

  • 👁️ Player level above head — Fixed level info above player head always showing 1. Level is now read from the entity Store instead of Holder, so it matches the actual persisted level.
  • 📋 BlacklistedStats now works for all stats — Fixed issue where BlacklistedStats in StatsLevelConfig.json was only checked in the GUI, but not in the actual stat application systems. Blacklisted stats were still being applied/processed. Now all stats properly respect the blacklist: StaminaRegenDelay (StaminaRegenSpeedSystem), StaminaConsumption (StaminaConsumptionSystem), Damage (DamageModificationSystem), Defense (DefenseModificationSystem), Mining and Woodcutting (MiningDetectionSystem, MiningDamageBlockSystem), and Health, Stamina, Mana, Ammo, Oxygen (StatsService.applyStatModifiers). When a stat is blacklisted, it's completely disabled: hidden in GUI, cannot be allocated, and has no effect in-game.
  • ⛏️ Mining crash fix — Fixed a critical issue that could cause random crashes during mining sessions.
  • 🌍 Zone config biome remap (world crash fix) — Replaced confusing MissingZoneIds with MissingBiomeIds in ZoneLevelConfig.json. This makes it easier to understand and fixes cases where special/instance biomes (e.g. ForgottenTemple) didn’t apply correctly (zone ID could be null), which could lead to world/instance issues. Now biome→zone remapping works reliably and no longer crashes the world.

🔜 What's next

  • Balance passes and feedback-based tuning for 0.2.0 stable release.