A Hytale server plugin that adds a fully-featured Spleef minigame with support for multiple arenas and persistent configuration.
- Multiple Arenas: Create and manage multiple independent Spleef arenas
- Persistent Configuration: Arena configs save to JSON and load automatically on server restart
- Projectile-Based Gameplay: Players use a Cobalt Shovel to shoot projectiles that destroy floor blocks
- Lava Detection: Players are eliminated when touching lava or falling below a threshold
- Automatic Game Flow: Lobby system, countdown, win detection, and automatic resets
- Build the plugin using
./gradlew build - Copy the generated JAR from
build/libs/to your Hytale server's plugins folder - Start the server - a
defaultarena will be created automatically
| Command | Description |
|---|---|
/spleef create <name> |
Create a new arena |
/spleef delete <name> |
Delete an arena (cannot delete "default") |
/spleef list |
List all arenas with their game state |
/spleef select <name> |
Select an arena for configuration |
/spleef save |
Manually save the selected arena config |
/spleef status |
Show current arena configuration and game status |
| Command | Description |
|---|---|
/spleef setcorner1 |
Set first corner of arena floor (stand on a corner) |
/spleef setcorner2 |
Set second corner of arena floor (stand on opposite corner) |
/spleef addspawn |
Add a player spawn point at your location |
/spleef clearspawns |
Remove all spawn points |
/spleef setlobby |
Set the lobby/spectator spawn location |
/spleef setfall |
Set elimination Y-level (stand where lava is) |
/spleef setblock <type> |
Set floor block type (e.g., Cloth_Block_Wool_White) |
| Command | Description |
|---|---|
/spleef join [arena] |
Join an arena lobby (defaults to "default") |
/spleef leave |
Leave the current game |
/spleef forcestart |
Force start the game (admin) |
/spleef reset |
Reset the game and rebuild the arena floor |
-
Create or select an arena
/spleef create myarena -
Define the arena floor (stand on opposite corners of your floor)
/spleef setcorner1 /spleef setcorner2 -
Add spawn points (at least 2 for multiplayer)
/spleef addspawn -
Set the lobby location (where eliminated players go)
/spleef setlobby -
Set the fall threshold (stand in/above the lava)
/spleef setfall -
Verify configuration
/spleef status -
Play!
/spleef join myarena /spleef forcestart
- Players join the lobby with
/spleef join - When enough players join (default: 2), a countdown starts
- Players spawn on the arena floor with a Cobalt Shovel
- Left-click to shoot projectiles that destroy floor blocks
- Avoid falling into the lava below
- Last player standing wins!
Arena configurations are automatically saved to JSON files in the plugin's data folder:
<plugin-name>-data/
arenas/
default.json
myarena.json
| Property | Description | Default |
|---|---|---|
arenaMin / arenaMax |
Floor bounds (Vector3i) | Not set |
floorBlockType |
Block type for the floor | Cloth_Block_Wool_White |
fallThreshold |
Y-level for elimination | 0.0 |
lobbySpawn |
Lobby teleport location | (0, 64, 0) |
spawnPoints |
Player spawn locations | Empty list |
minPlayers |
Minimum players to start | 2 |
countdownSeconds |
Countdown duration | 10 |
./gradlew buildThe built JAR will be in build/libs/.
See LICENSE.md for details.