Skip to content

Modifiers

Quick Start: Spice it up with twists.

Modifiers are ready-made game twists: starter kits, random chaos, buffs, and rule changes. A shelf of modifiers and presets ships with the plugin, all switched off until you switch them on.

Switch Some On

Open /manhunt and pick Modifiers. Click entries to switch them on and off; the counts stay live. Try gear-dice (random gear), random-mob-spawner, full-leather-kit, or the chaos-mode preset.

Prefer typing? This does the same thing:

/manhunt modifiers setmod gear-dice true

Import from Discord

The community shares modifiers and presets as click-to-copy strings in our Discord modifier forum. Taking one in is one step: open the Modifiers panel and use the import button, or run:

/manhunt modifiers import modifier JMH1D:...

Sharing yours works the other way with export, which prints your own string. See Creating and Sharing.

Make Your Own

Plain Minecraft commands need no scripting: give @p cooked_beef 8 works as-is inside a modifier. Build entries in the GUI editor (create button, top-right of the lists) or straight from chat. Start here:

How Modifiers Think

Every simple modifier runs the same straight pipeline. Here it is with everyone-gets-beef:

1. Trigger fires (runs-on:)
   The match starts (ON_START).
        |
        v
2. Pick who runs
   player: everyone in the match.
        |
        v
3. Run the lines top to bottom
   give <p> cooked_beef 8
        |
        v
4. Done
   Every player holds 8 steak.

Harder mods keep the same shape with busier steps: full-leather-kit runs more lines, regen-on-kill fires on ON_PLAYER_KILLS instead of ON_START, and speedrunner-gapple-on-low-hp adds guard lines (<if>, cooldowns) before the give. Past that point the pipeline grows shared state and reusable blocks; see the advanced flow in Calling Behaviors.

One .yml file per modifier under mods/modifiers/, named after its id. Each file has enabled, meta: (name, description, icon, author), and behavior: with numbered blocks. Each block picks triggers under runs-on:, optional timing, and commands: lists.

Tags resolve to text first, then the whole line runs as one console command. A line resolving to exactly null never runs; a lone exit stops the list. Dry-run any line from chat:

/manhunt modifiers test hunter give <p> bread