HTLevelSystem-1.0.0.jar
27 Jan 2026
CurseForge · Hytale mod
Extensible leveling system for developers and server owners.
Quick answer
HTLevelSystem-1.0.0.jar targets Hytale. Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer. No required dependencies listed for this file.
Where it goes
Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.
Put Hytale mods on the world host or dedicated server. Singleplayer runs a local server too; Hytale does not use separate client mods.
HTLevelSystem-1.0.0.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional project dependencies. Check the creator notes before changing an existing world.
Before you install it
Built for HTLevelSystem-1.0.0.jar. Pick another file and the loader, install side or required mods may change.
Use HTLevelSystem-1.0.0.jar. It targets Hytale; another release may target a different game build or dependency set.
This file does not list any required mods. Do not add a library just because a different file uses it.
Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.
Use the “Get this file” button beside HTLevelSystem-1.0.0.jar. It opens that exact file at the source.
About this project
Level/experience API for Hytale server plugins. Stores player XP in your choice of SQLite/Postgres/MySQL and exposes a flexible leveling curve plus events that other plugins can hook into.
plugins folder. 2) Start the server once; htlevel.conf will be generated inside the plugin data folder. 3) Edit htlevel.conf to choose DB backend and XP curve, then restart.htlevel.conf)# Database backend: sqlite | postgres | mysql
backend=sqlite
# SQLite
sqlite.file=users.sql
# PostgreSQL
postgres.host=localhost
postgres.port=5432
postgres.database=hytale
postgres.user=hytale
postgres.password=change_me
postgres.ssl=false
# MySQL
mysql.host=localhost
mysql.port=3306
mysql.database=hytale
mysql.user=hytale
mysql.password=change_me
mysql.useSSL=false
# XP / Leveling
xp.algorithm=quadratic # quadratic | linear | exponential
xp.maxLevel=100 # <=0 for no cap
# Quadratic: xp = basePerLevel * L + step * L^2
xp.quadratic.basePerLevel=100
xp.quadratic.step=25
# Linear: xp = basePerLevel * L
xp.linear.basePerLevel=150
# Exponential cumulative: base * (multiplier^L - 1)/(multiplier - 1)
xp.exponential.base=100
xp.exponential.multiplier=1.15
// Access the service
HTLevelSystem plugin = (HTLevelSystem) pluginManager.getPlugin("HTLevelSystem");
ExperienceService xp = plugin.getExperienceService();
// Give XP
xp.addExperience(player.getUuid(), 50);
// Set absolute XP
xp.setExperience(player.getUuid(), 1200);
// Read current snapshot
ExperienceSnapshot snap = xp.getOrCreate(player.getUuid());
int level = snap.level();
long totalXp = snap.experience();
// Resolve XP required for a level
long xpFor20 = xp.experienceForLevel(20);
getEventRegistry().registerGlobal(LevelUpEvent.class, event ->
getLogger().info("Player " + event.getPlayerId() + " reached level " + event.getNewLevel())
);
getEventRegistry().registerGlobal(ExperienceLossEvent.class, event ->
getLogger().info("Player " + event.getPlayerId() + " lost " + Math.abs(event.getDelta()) + " XP")
);
All commands require permission htlevel.admin.
Root: /htxp (aliases: /htlevel, /htlvl)
/htxp get <playerName> — show XP, level, and max-level cap status./htxp setxp <playerName> <amount> — set absolute XP./htxp givexp <playerName> <amount> — add XP./htxp takexp <playerName> <amount> — remove XP (floors at 0; respects max-level cap)./htxp setlvl <playerName> <level> — set level directly (XP auto-adjusts)./htxp givelvl <playerName> <levels> — add levels (honors max-level cap)./htxp takelvl <playerName> <levels> — remove levels (floors at 0).Commands execute asynchronously and always respect the configured XP curve and xp.maxLevel cap.
xp.maxLevel is set, XP is clamped to the max-level requirement; players cannot progress past it.Project description from CurseForge.
Recent files
27 Jan 2026
Looking for an older file? The official CurseForge project page is in Resources.