HungerGameSSS

HungerGameSSS

HungerGameSSS is a high-performance Hunger Games plugin featuring unique Legendary Weapons with special abilities, dynamic gameplay systems, and full arena customization โ€” built for competitive PvP servers.

1 273 downloads
4 followers
HungerGamesSSS Icon

HungerGamesSSS

A full-featured Hunger Games survival plugin for Paper 1.21+

v4.6.4 โ€” Architecture & Gameplay Bug-Fix Patch released 2026-06-04. 11 structural bugs fixed: contradictory ArenaEndEvent comments, duplicate LootTableManager and CornucopiaBuilder instances causing config-reload drift, startMatch() bypassing the FSM transition() contract, spawn cages placed inside terrain at Y=100, players falling through piston floors due to async physics, dead checkCompatibility() method, empty MatchSession class, stale nested language directory, and disconnected players holding matches open indefinitely (now auto-expired after configurable game.reconnect-timeout seconds, default 60). No database migrations โ€” drop-in replacement for 4.6.3. Upgrade strongly recommended. See CHANGELOG.md for the full list.

Modrinth Paper Java License

45 legendary weapons. Procedural dungeons. Last player standing.

๐Ÿ“ฅ Download โ€ข ๐Ÿ› Report a Bug โ€ข ๐Ÿ’ฌ Discord


๐Ÿ“– Table of Contents

  • โœจ Features
  • ๐Ÿ“ฆ Requirements
  • ๐Ÿš€ Installation
  • ๐ŸŸ๏ธ Arena System
  • โฑ๏ธ Match Lifecycle
  • ๐ŸŽฎ Game Modes
  • โšก Legendary Weapons
  • ๐Ÿฐ Dungeons
  • ๐ŸŒฝ Cornucopia Builder
  • ๐ŸŽ Feast Event
  • ๐Ÿ‘ฅ Teams
  • ๐Ÿ’พ Persistence
  • ๐ŸŒ Localisation
  • โŒจ๏ธ Commands & Permissions
  • ๐Ÿ”Œ Developer API
  • ๐Ÿ” Troubleshooting
  • ๐Ÿ“„ Credits

โœจ Features

๐ŸŸ๏ธ Arena System

  • Multi-arena support โ€” run unlimited concurrent arenas in separate worlds
  • Per-arena toggles โ€” PvP, lifesteal, hardcore, veinminer, nether, end
  • Glass cage countdown โ€” players locked in cages at spawn until the match begins
  • Auto-reset โ€” arena world and all blocks fully restored after each match
  • Legendary spawn points โ€” holograms float above each marked item location

โšก 45 Legendary Weapons

Category Count Examples
Swords & Melee 15 Cloud Sword, Excalibur, Dragon Katana
Bows & Ranged 8 Artemis Bow, Phantom Longbow, Warden Crossbow
Staves & Magic 8 Void Staff, Lich Staff, Hypnosis Staff
Tridents & Special 9 Aiglos, Mjolnir, Ravager Horn
Armor 3 Hades' Helm, Hermes Boots, Reinforced Elytra
Utility / Healing 2 Fountain of Youth, Warpick

โœ”๏ธ Each weapon has unique active + passive abilities โœ”๏ธ All stats tunable in legend-items/<id>.yml โœ”๏ธ Hot-reload with /perf reload โ€” no restart needed


๐Ÿฐ Procedural Dungeons

Type Terrain
๐Ÿ•ท๏ธ Spider Nest Cobweb cave
๐Ÿ’€ Crypt Stone brick chamber
โ›๏ธ Gold Mine Mineshaft tunnels
๐Ÿ”ฅ Lava Temple Nether-brick structure
๐ŸงŠ Ice Temple Packed-ice biome
๐Ÿ›๏ธ Surface Temple Sandstone ruin
๐Ÿ—ผ Surface Outpost Watchtower
๐ŸŒค๏ธ Sky Island Floating grass
๐Ÿฏ Floating Castle Castle 30 blocks up

โœ”๏ธ No external schematics required โœ”๏ธ Loot configurable per dungeon type โœ”๏ธ All blocks restored after match ends


๐Ÿ“ˆ Match Lifecycle

WAITING โ†’ STARTING โ†’ PLAYING โ†’ DEATHMATCH โ†’ ENDED
Phase Description
โณ Waiting Players queue in lobby
๐Ÿ”ข Starting Countdown; players teleport into cages
โš”๏ธ Playing Grace period โ†’ main phase โ†’ feast โ†’ border shrink
๐Ÿ’ฅ Deathmatch Border closes; final players fight
๐Ÿ† Ended Winner announced; arena fully reset

โœ”๏ธ Disconnect/reconnect mid-match restores last location, inventory, and scoreboard


๐ŸŽฎ Game Modes

โค๏ธ Lifesteal

Kill a player โ†’ they drop a heart item. Pick it up to raise your max HP. Convert hearts back with /withdraw <amount>.

๐Ÿ’€ Hardcore

Eliminated players are kicked instead of moved to spectator mode.

โ›๏ธ Veinminer

Sneak + break an ore โ†’ chain-mines the entire vein. Max vein size is hot-configurable.


๐ŸŒฝ Cornucopia Themes

13 procedural themes for the arena centrepiece:

classic ยท ultimate ยท speedsilver ยท ancient ยท void ยท royal ยท industrial ยท modern ยท crystal ยท jungle ยท end ยท nether ยท grand


๐ŸŒ Localisation

10 built-in language files:

๐Ÿ‡ฌ๐Ÿ‡ง en ยท ๐Ÿ‡ป๐Ÿ‡ณ vi ยท ๐Ÿ‡ท๐Ÿ‡บ ru ยท ๐Ÿ‡ฉ๐Ÿ‡ช de ยท ๐Ÿ‡ซ๐Ÿ‡ท fr ยท ๐Ÿ‡ช๐Ÿ‡ธ es ยท ๐Ÿ‡ต๐Ÿ‡น pt ยท ๐Ÿ‡ฏ๐Ÿ‡ต ja ยท ๐Ÿ‡ฐ๐Ÿ‡ท ko ยท ๐Ÿ‡จ๐Ÿ‡ณ zh

Players change language in-game with /hg lang <code>.


๐Ÿ’พ Persistence โ€” SQLite / MySQL

All arena state, player stats, team data, and match history persist across restarts. Switch backends in config.yml:

database:
  type: sqlite    # or "mysql"
  sqlite-file: database.db
  mysql:
    host: localhost
    port: 3306
    database: hungergames
    username: root
    password: password

โœ”๏ธ All writes are async โœ”๏ธ Auto schema migration on startup โ€” no data loss


๐Ÿ“ฆ Requirements

Component Version
Java 21+
Paper 1.21+
PlaceholderAPI Optional
Vault Optional
ProtocolLib Optional
FastAsyncWorldEdit Optional (.nbt / .schem support)

๐Ÿš€ Installation

  1. Download the .jar
  2. Drop it into plugins/
  3. Start the server โ€” configs generate automatically
  4. Stand at the centre of your arena โ†’ /hg create <name>
  5. /hg setcornucopia <name> classic
  6. Walk to each spawn point โ†’ /hg addspawn <name> (repeat 2โ€“24ร—)
  7. Stand in your lobby โ†’ /hg setlobby
  8. /hg start <name>

Players join with /hg join <name>.


๐ŸŸ๏ธ Arena System

Per-arena toggles (changed live with /hg setuparena <name> <flag>):

Flag Default What it does
pvp on Enable / disable PvP damage
lifesteal off Players drop heart items on death
hardcore off Eliminated players are kicked
veinminer off Sneak + break to chain-mine ores
nether on Isolated Nether world per arena
theend on Access to The End dimension

Legendary spawn points:

/hg setlegendary <arena> <itemId>   โ€” mark spawn at your feet
/hg deletelegendary <arena>         โ€” remove nearest spawn (within 5 blocks)

โšก Legendary Weapons

๐Ÿ—ก๏ธ Swords & Melee

Item Ability
โ˜๏ธ Cloud Sword Walk on clouds; fall immunity; armor shred on hit
๐Ÿ’› Midas Sword +1 damage per kill (stacks); golden particle on kill
๐Ÿ’Ž Emerald Blade Deposit emeralds to upgrade damage; sneak+click GUI
๐ŸŒ‘ Shadow Blade Sneak: teleport behind target; click: invisibility + Speed III
๐Ÿ’€ Reaper Scythe On hit: steal buffs and heal; right-click: AOE sweep
๐Ÿ‰ Dragon Katana Passive Speed I; right-click: Dragon Fireball dash
โœจ Excalibur 5s true invincibility (all damage cancelled); 50% reflect
๐Ÿชจ Golem Hammer Leap + shockwave on landing; passive knockback resistance
๐ŸŒ‹ Magma Club Lava pillar AOE; sneak+click: volcanic eruption
โ›๏ธ Warpick On-hit 3ร—3 explosion; on critical hit: armor durability shred
๐Ÿ–ค Obsidian Dagger Sneak+click: Resistance V shield; click: meteor strike
๐Ÿ”ด Crimson Chainsword Shred stacks passive; right-click: Chainsaw Rampage burst
๐Ÿ‘ป Soul Gauntlet Collect souls on hit; right-click: Soul Blast; sneak: Ground Slam
๐Ÿช Harpoon Launcher Fires a harpoon that hooks and pulls the target toward you

๐Ÿน Bows & Ranged

Item Ability
๐ŸŒ™ Artemis Bow 5 homing arrows; lightning proc; Sky Strike sneak ability
๐Ÿ‘๏ธ Phantom Longbow Invisible arrow; caster invisible on fire; target gets Darkness
๐ŸŒ€ Ender Bow Sneak: Void Dash; arrow hit: swap positions with target
๐Ÿงช Toxic Crossbow High-velocity bolt; poison cloud on impact
๐Ÿฆพ Warden Crossbow Sonic Boom projectile; converts blocks to Sculk on hit
๐ŸŒ‘ Corrupted Crossbow Tick-based poison cloud bolt; Multishot enchant support
๐Ÿ”ฑ Guardian Cannon Passive Dolphins Grace in water; continuous stasis laser
๐Ÿก Pufferfish Cannon Bouncing pufferfish; explodes with Poison + Nausea

๐Ÿ”ฎ Staves & Magic

Item Ability
๐ŸงŠ Lich Staff 4 ammo ice balls; 30s reload; passive Frost Walker
๐ŸŒŒ Void Staff Toggle Portal / Shulker Mode; independent cooldowns per mode
๐Ÿ› Hypnosis Staff Hypnotise up to 5 mobs; minions target your enemies
๐Ÿ’ฅ Villager Wand Aim at block โ†’ explosive slime bomb detonates
๐Ÿ““ Death Note /dn <player>: instant kill (3 uses, per-target cooldown 25s)
๐ŸŒ‘ Sculkweaver's Lantern Sculk bomb: Darkness + Slowness lingering zone
โ„๏ธ Horn of Winter Blizzard: continuous Freeze + Slowness in large radius
๐Ÿ”” Ghastly Whistle Rideable Ghast companion; auto-fireball every 2s; 20s duration

๐ŸŒŠ Tridents, Launchers & Special

Item Ability
๐Ÿ”ฑ Aiglos Trident: explosive throw + AOE freeze; melee stats via attributes
๐ŸŒ€ Wither Sickles Auto dual-wield offhand; throw (CD 7s); AOE Wither + lifesteal on hit
โšก Mjolnir Throw (returns); melee hit: lightning strike
๐Ÿฆ Ravager Horn Mount a Ravager; sneak+click: Stampede wave
๐Ÿ”ฌ Shrink Ray Left-click: shrink target; right-click: enlarge target
๐Ÿ”ด Armadillo Detonator Shoot up to 3 armadillos; left-click: detonate all
๐Ÿ Beehive Blaster Launches 4 angry bees that auto-target nearest enemy
๐ŸŒฟ Ribbit Reel Hit block: pull yourself; hit entity: pull them to you
๐Ÿ’ง Fountain of Youth Passive +1 HP/s while held; right-click: 30s healing zone for allies

๐Ÿ›ก๏ธ Armor

Item Slot Ability
๐Ÿช– Hades' Helm Head Night Vision; invisibility while sneaking; fire aura; Wither attacker on hit received
๐Ÿ‘Ÿ Hermes Boots Feet Speed II + Jump Boost; Hermes Dash; full fall immunity
๐Ÿช‚ Reinforced Elytra Chest Particle trail while gliding; Sonic Boom boost; landing explosion

๐Ÿฐ Dungeons

Dungeons spawn procedurally during a match โ€” no schematic files needed.

dungeons:
  mob-hp: 60.0
  boss-hp: 100.0
  spawn-chance: 0.1
  lava-temple:
    enabled: true
    mob-hp: 40.0
    fire-ticks: 100

๐ŸŽ Feast Event

High-tier chests spawn at the Cornucopia after a configurable timer.

arena:
  feast:
    enabled: true
    time-minutes: 20
    chest-count: 8
    announce-minutes: [15, 10, 5, 3, 2, 1]

๐Ÿ‘ฅ Teams

Command Description
/team create <name> Create a team (you become leader)
/team invite <player> Send an invite (expires 60s)
/team join <name> Join an open team
/team leave Leave your team
/team open Toggle open / invite-only
/team disband Disband team (leader only)
/tc <message> Team chat

โŒจ๏ธ Commands

/hg โ€” Main Command

Sub-command Permission Description
join <arena> hoplitebr.hg Join an arena lobby
leave hoplitebr.hg Leave the current arena
lang <code> hoplitebr.hg Change your language
create <name> hoplitebr.admin Create a new arena
start <arena> hoplitebr.admin Force-start a match
setcornucopia <arena> <theme> hoplitebr.admin Set and build the Cornucopia
addspawn <arena> hoplitebr.admin Add player spawn at your feet
setuparena <arena> <flag> hoplitebr.admin Toggle per-arena flags
setlegendary <arena> <id> hoplitebr.admin Mark legendary spawn
setlobby hoplitebr.admin Set post-match lobby location
admin give <player> <item> hoplitebr.admin Give a legendary item
reload hoplitebr.admin Reload all config files

Other Commands

Command Permission Description
/withdraw <amount> hoplitebr.withdraw Convert lifesteal hearts to items
/perf <stats|optimize|reload|gc|chunks> hoplitebr.admin Performance tools
/structure <reset|stats> hoplitebr.admin Structure management
/locate <name> hoplitebr.hg Locate a placed structure
/migrate hoplitebr.admin Migrate legacy legendary PDC tags
/debug hoplitebr.admin Dump debug info to console
/dn <player> hoplitebr.dn Death Note kill command

๐Ÿ” Permissions

Permission Default Description
hoplitebr.hg true Basic game commands
hoplitebr.team true Team commands
hoplitebr.tc true Team chat
hoplitebr.withdraw true Lifesteal heart withdrawal
hoplitebr.dn true Death Note kill command
hoplitebr.admin op All admin / setup commands

๐Ÿ”ง Configuration

Config files:

  • config.yml โ€” global settings, arena defaults, database, performance
  • loot.yml โ€” chest loot tiers (common / uncommon / rare)
  • scoreboard.yml โ€” scoreboard layout and update interval
  • legend-items/<id>.yml โ€” per-weapon stats, recipe, lore, enchantments
  • dungeons.yml โ€” dungeon type toggles and mob HP
  • cornucopia.yml โ€” Cornucopia build presets
  • languages/<code>.yml โ€” message translations

๐Ÿ”Œ Developer API

// Get the arena a player is in (null if not in any)
Arena arena = HopliteAPI.getPlayerArena(player);

// Access the plugin instance
Main plugin = HopliteAPI.getPlugin();

Custom Events:

Event Fired when
ArenaStartEvent Match transitions STARTING โ†’ PLAYING
ArenaEndEvent Match ends (winner declared)
PlayerEliminatedEvent A player is eliminated
DungeonSpawnEvent A dungeon is generated

๐Ÿ” Troubleshooting

Legendary abilities not working
  • Confirm the player is in an active arena (PLAYING or DEATHMATCH)
  • Check hoplitebr.admin permission โ€” OP always bypasses ability checks
  • Run /debug and check console for [Ability] log lines with debug: true
Countdown cancels immediately on start
  • Fixed in 4.5.5 (BUG-CD-01)
  • Update to latest version
Feast never spawns in second match
  • Fixed in 4.5.5 (BUG-FM-01)
  • Update to latest version
Stats reset to zero on every join
  • Fixed in 4.5.7 (BUG-JOIN-02)
  • Update to latest version
Ability listeners fire twice
  • Fixed in 4.5.7 (BUG-REG-01)
  • Was caused by registerEvents() in ability constructors
Italic text on legendary item names
  • Fixed in 4.5.4 (BUG-FONT-01)
  • Paper 1.20.5+ changed the default rendering style for custom item names
Players not teleported to centre at Deathmatch start
  • Fixed in 4.6.2 (BUG-1 / GameTask FSM bypass)
  • GameTask was calling arena.setState(DEATHMATCH) directly, bypassing MatchService.transition(). The teleport and border-collapse logic inside scheduleDeathmatchTask() never ran.
World border ignores my config values โ€” always uses 1000 blocks
  • Fixed in 4.6.2 (BUG-2 / mismatched config keys)
  • GameTask was reading game.initial-border-size and game.border.initial-size (wrong keys). The canonical key is game.border-initial-size. The game-loop always fell back to the hardcoded default of 1000.
Border flickers / jumps every second during PLAYING phase
  • Fixed in 4.6.2 (BUG-4 / dual border control)
  • MatchService.scheduleBorderTask() and GameTask.handleWorldBorder() both wrote to the WorldBorder simultaneously. The per-tick recalculation overrode the smooth periodic animation every second. scheduleBorderTask() has been removed; GameTask is now the sole border authority.
Legendary item hologram shows material name (e.g. "WOODEN_SWORD") instead of weapon name
  • Fixed in 4.6.2 (BUG-5 / legacy display-name API)
  • Arena.getActiveLegendaryLocations() called meta.getDisplayName() (legacy API) which always returns "" for items using the Adventure Component API. The fallback of recipe.getType().name() was always reached.
Game doesn't end when a full team is the last survivor
  • Fixed in 4.6.2 (BUG-6 / checkWin team logic)
  • checkWin() only ended the game when aliveCount == 1. If the last 2+ survivors were all on the same team, the game continued and forced teammates to kill each other. Now checks if all alive players share a team.
Arena doesn't reset properly after double `/hg start`
  • Fixed in 4.6.2 (BUG-3 / BUG-8 โ€” countdown tasks not tracked)
  • Both startMatch(Arena, int) and startCountdown() created countdown BukkitRunnables without storing the task reference. cancelAllTasksFor() could not cancel them, leading to two countdown timers running concurrently and startArena() being called twice.
/reload breaks the plugin
  • Always restart the server โ€” never use /reload

โ“ FAQ

Can I run multiple arenas at once?

Yes โ€” each arena is fully isolated in its own world instance.

Do I need FastAsyncWorldEdit?

No. It is only required if you want to paste custom .nbt / .schem structures.

Can players on the same team damage each other?

No โ€” all legendary weapons include friendly-fire checks.

How do I add a custom language?

Create languages/<code>.yml โ€” copy en.yml as a base and translate. Players switch with /hg lang <code>.

Does it support Spigot?

No โ€” Paper 1.21+ is required.


๐Ÿ“„ Credits

Author: Duong2012G โ€” Modrinth

Several weapon mechanics were inspired by DemoRaLegendary Weapons by Demora (Apache 2.0 licence). No source code was copied โ€” only gameplay concepts were referenced.

๐Ÿ”— DemoRaLegendary Weapons: https://modrinth.com/plugin/demoralegendaryweapons

Open source โ€” contributions welcome.

No gallery available for this project.