Back to mods
HTLevelSystem project artwork

CurseForge · Hytale mod

HTLevelSystem

Extensible leveling system for developers and server owners.

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which HTLevelSystem release should I use?

Updated 7 months ago
beta file HTLevelSystem-1.0.0.jar
Game version Not listed
Mod system Built-in Hytale mod system

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

Where should HTLevelSystem be installed in 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.

Separate client mod Not supported
World host / dedicated server Required
Mod system for this release Built-in Hytale mod system
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

Put Hytale mods on the world host or dedicated server. Singleplayer runs a local server too; Hytale does not use separate client mods.

What else does HTLevelSystem-1.0.0.jar need?

HTLevelSystem-1.0.0.jar. Change the file and its required mods may change too.

No required dependencies listed for this file

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

Add HTLevelSystem without breaking your instance.

Built for HTLevelSystem-1.0.0.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use HTLevelSystem-1.0.0.jar. It targets Hytale; another release may target a different game build or dependency set.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Enable it on the world host

    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.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside HTLevelSystem-1.0.0.jar. It opens that exact file at the source.

About this project

What does HTLevelSystem add?

HTLevelSystem

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.

Features

  • Persistent player XP with database backends: SQLite (default), PostgreSQL, MySQL.
  • Configurable leveling curve: quadratic, linear, or exponential.
  • Optional max-level cap (clamps XP once reached).
  • Custom events: experience change/gain/loss, level up/down.
  • Simple public API so other plugins can read or modify XP.

Installation

  1. Drop the built JAR into your server's 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.

Configuration (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

Developer API (examples)

// 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);

Listening to XP events

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")
);

Admin commands

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.

Notes

  • If xp.maxLevel is set, XP is clamped to the max-level requirement; players cannot progress past it.
  • When the event bus is unavailable, XP still updates but events are skipped.

Project description from CurseForge.

Recent files

HTLevelSystem releases and Hytale builds

1 of 1 releases match

Looking for an older file? The official CurseForge project page is in Resources.