Overview
Molehunt is a Minecraft social-deduction minigame. At game start, players are secretly assigned a role: a configurable number of “moles” (who know each other’s identities) try to eliminate the “innocents,” while innocents try to survive without knowing anyone’s role. Nametags, chat, the tab list, and the player locator are disabled so players can’t identify each other except by voice through proximity chat.
Features
- Role assignment with moles and innocents, skins anonymized so players can’t be identified visually
- Combat tracker that attributes kills through a fallback rule when Minecraft’s own damage attribution isn’t reliable, with a “jester” mechanic based on damage dealt within a commit window
- Shrinking world border combined with a separate altitude ceiling and rising lava, both run as independently configurable timed phases
- Countdown-gated game start with a title/chat reveal of each player’s role
- Proximity voice chat via the Simple Voice Chat API, disabled automatically for eliminated (spectator) players
- Admin commands (
/mh) for managing games and a/rolecommand for players to check their own role - Per-game world regeneration integrated with Multiverse
How it works
The plugin is built around a GameManager and GameState that drive the match lifecycle, with AreaController and LavaFiller handling the shrinking-arena mechanics as scheduled Bukkit tasks that snapshot their phase configuration at game start so a mid-game config reload can’t shift the border. CombatTracker records recent damage per player within a time window to resolve ambiguous kills, and SkinAnonymizer / TabListHandler strip identifying information from the client. The plugin soft-depends on Multiverse-Core and Multiverse-Inventories for per-game world handling and Chunky for pre-generating arenas.
