Skip to content

Repository files navigation

Spleef Minigame Plugin

A Hytale server plugin that adds a fully-featured Spleef minigame with support for multiple arenas and persistent configuration.

Features

  • 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

Installation

  1. Build the plugin using ./gradlew build
  2. Copy the generated JAR from build/libs/ to your Hytale server's plugins folder
  3. Start the server - a default arena will be created automatically

Commands

Arena Management

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

Arena Setup

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)

Gameplay

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

Quick Setup Guide

  1. Create or select an arena

    /spleef create myarena
    
  2. Define the arena floor (stand on opposite corners of your floor)

    /spleef setcorner1
    /spleef setcorner2
    
  3. Add spawn points (at least 2 for multiplayer)

    /spleef addspawn
    
  4. Set the lobby location (where eliminated players go)

    /spleef setlobby
    
  5. Set the fall threshold (stand in/above the lava)

    /spleef setfall
    
  6. Verify configuration

    /spleef status
    
  7. Play!

    /spleef join myarena
    /spleef forcestart
    

How to Play

  1. Players join the lobby with /spleef join
  2. When enough players join (default: 2), a countdown starts
  3. Players spawn on the arena floor with a Cobalt Shovel
  4. Left-click to shoot projectiles that destroy floor blocks
  5. Avoid falling into the lava below
  6. Last player standing wins!

Configuration

Arena configurations are automatically saved to JSON files in the plugin's data folder:

<plugin-name>-data/
  arenas/
    default.json
    myarena.json

Config Properties

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

Building

./gradlew build

The built JAR will be in build/libs/.

License

See LICENSE.md for details.

About

A Spleef-ish Minigame for Hytale

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages