Description
This project is a Hunger Games / Survival Games minigame plugin for a Hytale server. It's still early version and it can contain bugs.
TEST SERVER:
To check mod and help fixing bugs, check out my dev server: hytale.grzegorz2047.pl
Project Description
This plugin allows you to create and manage multiple "Hunger Games" arenas where players can fight to be the last one standing.
Gameplay Loop:
Lobby: Players join an arena and wait in a pre-game lobby.
Countdown: The game automatically starts a countdown when enough players have joined.
Main Phase: Players are teleported to their spawn points, and the game begins. PvP is enabled.
Deathmatch: After a set time, a deathmatch phase can be triggered to bring the game to a conclusion.
Game End: The last player alive is the winner. The arena resets, and players are returned to the main server lobby.
Dependencies(What you also need to add to mods folder):
- PlayerInteractLib (subject to change)
- HyUI- to join arena through item
- MultipleHUD - to work with multiple huds from other mods (optional, but recommended)
Player Interaction:
Players can use an in-game item (a book) to open a UI listing all available arenas, showing their status and player count.
Players can join an arena via the UI or a command (/hg join).
Players can leave an arena at any time (/hg leave or /hg lobby).
World & Gameplay Mechanics:
The plugin controls block breaking and placing within the arena, only allowing it once the game has started.
Chests within the arena are automatically filled with a random selection of items from a configurable list when a player opens them for the first time.
It handles player deaths, broadcasts kill messages, and manages player elimination from the arena.
Commands:

Configuration:
"ForceLobbySpawnEvenIfOnLobbyWorld": false,
"LobbyHudEnabled": false,
"ForceLobbySpawn": true,
"ShouldPrepareInventoryOnLobbyJoin": false,
"IsHudEnabled": true,
"MinimumPlayersToStartArena": 2,
"DeathmatchArenaSeconds": 360,
"StartingArenaSeconds": 20,
"IngameArenaSeconds": 360,
"Messages": [] - messages to translate (full in config)
"ItemsToFillChest": [ - itemid:amount
"Armor_Iron_Chest:1",
"Weapon_Sword_Frost:1",
"Weapon_Shield_Cobalt:1",
"Food_Bread:2"
]
If you use it and like it, feel free and
Quick start:
As OP type commands:
- /sg generate sg1 - initialize world map arena to edit. Arena name is sg1 in this example, but you can name whatever
- do some map editing - lobby and edges are now built with barriers
- /sg enable sg1 - blocks editing arena and allows player to join arena. Also arena is now visible in arena list
- /sg join sg1 - you join arena sg1
or
- /world add sg1 - create world where arena is going to be
- enable pvp in sg1 world somehow through world json file or in other ways
- /sg create sg1 - create arena
- /sg setlobby sg1 - run once where players spawns in waiting arena state
- /sg setspawn sg1 - run multiple times but in different locations
- place chests and prepare world
- /sg enable sg1 - set arena to read only mode and let players play
- /sg join sg1 - enter arena named sg1
- /sg forcestart sg1 - run arena even when not minimum players present on the arena
Contributions and suggestions welcome on github source page.
TODO:
- Separate spawnpoints to deathmatch
- Fix teleporting to lobby when exiting server while playing on arena
- Improve interaction events and cancel them properly
- Clear inventory in better way
- Follow player stats in persistent way



