promotional bannermobile promotional banner
premium banner
Adds Hunger Games minigame to you hytale server

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):

  1. PlayerInteractLib (subject to change)
  2. HyUI- to join arena through item
  3. 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

tips

Quick start:

As OP type commands:

  1. /sg generate sg1 - initialize world map arena to edit. Arena name is sg1 in this example, but you can name whatever
  2. do some map editing - lobby and edges are now built with barriers
  3. /sg enable sg1 - blocks editing arena and allows player to join arena. Also arena is now visible in arena list
  4. /sg join sg1 - you join arena sg1

or

  1. /world add sg1 - create world where arena is going to be 
  2. enable pvp in sg1 world somehow through world json file or in other ways
  3. /sg create sg1 - create arena
  4. /sg setlobby sg1 - run once where players spawns in waiting arena state
  5. /sg setspawn sg1 - run multiple times but in different locations
  6. place chests and prepare world
  7. /sg enable sg1 - set arena to read only mode and let players play
  8. /sg join sg1 - enter arena named sg1
  9.  /sg forcestart sg1 - run arena even when not minimum players present on the arena

 

Contributions and suggestions welcome on github source page.

TODO:

  1. Separate spawnpoints to deathmatch
  2. Fix teleporting to lobby when exiting server while playing on arena 
  3. Improve interaction events and cancel them properly
  4. Clear inventory in better way
  5. Follow player stats in persistent way