HungerGameSSS
4.6.5HungerGameSSS 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 se
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: contradictoryArenaEndEventcomments, duplicate
LootTableManagerandCornucopiaBuilderinstances causing config-reload drift,
startMatch()bypassing the FSMtransition()contract, spawn cages placed inside
terrain at Y=100, players falling through piston floors due to async physics,
deadcheckCompatibility()method, emptyMatchSessionclass, stale nested language
directory, and disconnected players holding matches open indefinitely (now auto-expired
after configurablegame.reconnect-timeoutseconds, default 60).
No database migrations — drop-in replacement for 4.6.3.
Upgrade strongly recommended. See CHANGELOG.md for the full list.
45 legendary weapons. Procedural dungeons. Last player standing.
📖 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 |
|---|---|
| Cobweb cave | |
| Stone brick chamber | |
| Mineshaft tunnels | |
| Nether-brick structure | |
| Packed-ice biome | |
| Sandstone ruin | |
| Watchtower | |
| Floating grass | |
| 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 |
|---|---|
| Players queue in lobby | |
| Countdown; players teleport into cages | |
| Grace period → main phase → feast → border shrink | |
| Border closes; final players fight | |
| 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
- Download the
.jar - Drop it into
plugins/ - Start the server — configs generate automatically
- Stand at the centre of your arena →
/hg create <name> /hg setcornucopia <name> classic- Walk to each spawn point →
/hg addspawn <name>(repeat 2–24×) - Stand in your lobby →
/hg setlobby /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 |
|---|---|
| Walk on clouds; fall immunity; armor shred on hit | |
| +1 damage per kill (stacks); golden particle on kill | |
| Deposit emeralds to upgrade damage; sneak+click GUI | |
| Sneak: teleport behind target; click: invisibility + Speed III | |
| On hit: steal buffs and heal; right-click: AOE sweep | |
| Passive Speed I; right-click: Dragon Fireball dash | |
| 5s true invincibility (all damage cancelled); 50% reflect | |
| Leap + shockwave on landing; passive knockback resistance | |
| Lava pillar AOE; sneak+click: volcanic eruption | |
| On-hit 3×3 explosion; on critical hit: armor durability shred | |
| Sneak+click: Resistance V shield; click: meteor strike | |
| Shred stacks passive; right-click: Chainsaw Rampage burst | |
| Collect souls on hit; right-click: Soul Blast; sneak: Ground Slam | |
| Fires a harpoon that hooks and pulls the target toward you |
🏹 Bows & Ranged
| Item | Ability |
|---|---|
| 5 homing arrows; lightning proc; Sky Strike sneak ability | |
| Invisible arrow; caster invisible on fire; target gets Darkness | |
| Sneak: Void Dash; arrow hit: swap positions with target | |
| High-velocity bolt; poison cloud on impact | |
| Sonic Boom projectile; converts blocks to Sculk on hit | |
| Tick-based poison cloud bolt; Multishot enchant support | |
| Passive Dolphins Grace in water; continuous stasis laser | |
| Bouncing pufferfish; explodes with Poison + Nausea |
🔮 Staves & Magic
| Item | Ability |
|---|---|
| 4 ammo ice balls; 30s reload; passive Frost Walker | |
| Toggle Portal / Shulker Mode; independent cooldowns per mode | |
| Hypnotise up to 5 mobs; minions target your enemies | |
| Aim at block → explosive slime bomb detonates | |
/dn <player>: instant kill (3 uses, per-target cooldown 25s) | |
| Sculk bomb: Darkness + Slowness lingering zone | |
| Blizzard: continuous Freeze + Slowness in large radius | |
| Rideable Ghast companion; auto-fireball every 2s; 20s duration |
🌊 Tridents, Launchers & Special
| Item | Ability |
|---|---|
| Trident: explosive throw + AOE freeze; melee stats via attributes | |
| Auto dual-wield offhand; throw (CD 7s); AOE Wither + lifesteal on hit | |
| Throw (returns); melee hit: lightning strike | |
| Mount a Ravager; sneak+click: Stampede wave | |
| Left-click: shrink target; right-click: enlarge target | |
| Shoot up to 3 armadillos; left-click: detonate all | |
| Launches 4 angry bees that auto-target nearest enemy | |
| Hit block: pull yourself; hit entity: pull them to you | |
| Passive +1 HP/s while held; right-click: 30s healing zone for allies |
🛡️ Armor
| Item | Slot | Ability |
|---|---|---|
| Head | Night Vision; invisibility while sneaking; fire aura; Wither attacker on hit received | |
| Feet | Speed II + Jump Boost; Hermes Dash; full fall immunity | |
| 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, performanceloot.yml— chest loot tiers (common / uncommon / rare)scoreboard.yml— scoreboard layout and update intervallegend-items/<id>.yml— per-weapon stats, recipe, lore, enchantmentsdungeons.yml— dungeon type toggles and mob HPcornucopia.yml— Cornucopia build presetslanguages/<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 (
PLAYINGorDEATHMATCH) - Check
hoplitebr.adminpermission — OP always bypasses ability checks - Run
/debugand check console for[Ability]log lines withdebug: 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)
GameTaskwas callingarena.setState(DEATHMATCH)directly, bypassingMatchService.transition(). The teleport and border-collapse logic insidescheduleDeathmatchTask()never ran.
World border ignores my config values — always uses 1000 blocks
- Fixed in 4.6.2 (BUG-2 / mismatched config keys)
GameTaskwas readinggame.initial-border-sizeandgame.border.initial-size(wrong keys). The canonical key isgame.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()andGameTask.handleWorldBorder()both wrote to the WorldBorder simultaneously. The per-tick recalculation overrode the smooth periodic animation every second.scheduleBorderTask()has been removed;GameTaskis 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()calledmeta.getDisplayName()(legacy API) which always returns""for items using the Adventure Component API. The fallback ofrecipe.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 whenaliveCount == 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)andstartCountdown()created countdownBukkitRunnables without storing the task reference.cancelAllTasksFor()could not cancel them, leading to two countdown timers running concurrently andstartArena()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.
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta