Manhunt: Runner vs. Hunters

Datapacks

Hunters with compass versus runnerLearn more

Datapack for Minecraft 1.21.9 - 26.3: The runner is playing, the hunters are chasing him with a compass that shows where the runner is now. Rolls and startups are a command/trigger, without operator's license.

My game select version

We'll remember in this browser and set up where your version is available. Open link settings are more important than this choice; the Vicki versions do not change.

Handicap to the runner

For so many seconds after the start, the hunters stand still and do not jump.

Compass

How often does the hunter's compass seek the runner. Less often, hunting is more difficult.

Rules

The Glowing is visible through walls - for beginners. Without friendly fire, hunters do not interfere with each other.

How to play

Date · 1.21.9 - 26.3

1. The runner writes to the chat

/trigger runner

2. Hunters write

/trigger hunter

3. Anyone starts hunting

/trigger start
Handicap
30 s
Compass
once per second
Download datapack
What's inside the archive - 15 files

data/minecraft/tags/function/load.json

Load tag: the game calls these functions when loading the world and after /reload.

{
  "values": [
    "manhunt:load"
  ]
}

data/minecraft/tags/function/tick.json

Tick tag: these functions run every tick - 20 times per second.

{
  "values": [
    "manhunt:tick"
  ]
}

data/manhunt/function/load.mcfunction

When loading the world: accounts, triggers, commands with nickname color and chat hint.

scoreboard objectives add manhunt dummy
scoreboard objectives add runner trigger "Стать бегуном"
scoreboard objectives add hunter trigger "Стать охотником"
scoreboard objectives add start trigger "Начать охоту"
scoreboard objectives add manhunt_deaths deathCount
scoreboard objectives add manhunt_dragon minecraft.killed:minecraft.ender_dragon
team add manhunt_runners
team modify manhunt_runners color green
team add manhunt_hunters
team modify manhunt_hunters color red
team modify manhunt_hunters friendlyFire false
tellraw @a ["",{"text":"Манхант загружен. Бегун — "},{"text":"/trigger runner","color":"green","click_event":{"action":"run_command","command":"/trigger runner"}},{"text":", охотник — "},{"text":"/trigger hunter","color":"red","click_event":{"action":"run_command","command":"/trigger hunter"}},{"text":", начать — "},{"text":"/trigger start","color":"gold","click_event":{"action":"run_command","command":"/trigger start"}},{"text":"."}]
schedule function manhunt:track 20t

data/manhunt/function/tick.mcfunction

Every tick: roles, start, hunter compass and victory check.

scoreboard players enable @a runner
scoreboard players enable @a hunter
scoreboard players enable @a start
execute as @a[scores={runner=1..}] run function manhunt:role/runner
execute as @a[scores={hunter=1..}] run function manhunt:role/hunter
execute as @a[scores={start=1..}] run function manhunt:start
execute as @a[tag=manhunt_hunter] unless items entity @s container.* minecraft:compass[minecraft:custom_data~{manhunt:1b}] unless items entity @s weapon.offhand minecraft:compass[minecraft:custom_data~{manhunt:1b}] run give @s minecraft:compass[minecraft:custom_data={manhunt:1b},minecraft:item_name={"text":"Компас охотника","color":"red"}]
execute if score #running manhunt matches 1 as @a[tag=manhunt_runner,scores={manhunt_deaths=1..}] run function manhunt:runner_out
execute if score #running manhunt matches 1 unless entity @a[tag=manhunt_runner] run function manhunt:hunters_win
execute if score #running manhunt matches 1 if entity @a[tag=manhunt_runner,scores={manhunt_dragon=1..}] run function manhunt:runner_wins

data/manhunt/function/role/runner.mcfunction

The player became a runner: green nickname, no compass.

tag @s remove manhunt_hunter
tag @s add manhunt_runner
team join manhunt_runners @s
clear @s minecraft:compass[minecraft:custom_data~{manhunt:1b}]
tellraw @a ["",{"selector":"@s"},{"text":" — бегун."}]
scoreboard players set @s runner 0

data/manhunt/function/role/hunter.mcfunction

The player has become a hunter: red nickname, the compass will give a tick.

tag @s remove manhunt_runner
tag @s add manhunt_hunter
team join manhunt_hunters @s
tellraw @a ["",{"selector":"@s"},{"text":" — охотник."}]
scoreboard players set @s hunter 0

data/manhunt/function/start.mcfunction

Hunting starts: death count from zero, hunters cost 30 s.

scoreboard players set @s start 0
execute unless entity @a[tag=manhunt_runner] run return run tellraw @s ["",{"text":"Сначала кто-то должен стать бегуном: "},{"text":"/trigger runner","color":"green","click_event":{"action":"run_command","command":"/trigger runner"}}]
scoreboard players set #running manhunt 1
scoreboard players reset * manhunt_deaths
scoreboard players reset * manhunt_dragon
title @a title {"text":"Охота началась!"}
title @a subtitle {"text":"Охотники выйдут через 30 с"}
execute as @a[tag=manhunt_hunter] run attribute @s minecraft:movement_speed base set 0
execute as @a[tag=manhunt_hunter] run attribute @s minecraft:jump_strength base set 0
schedule function manhunt:release 30s

data/manhunt/function/release.mcfunction

The odds are out: speed and jump are returning to hunters.

execute as @a[tag=manhunt_hunter] run attribute @s minecraft:movement_speed base reset
execute as @a[tag=manhunt_hunter] run attribute @s minecraft:jump_strength base reset
title @a[tag=manhunt_hunter] title {"text":"Вперёд!"}

data/manhunt/function/track.mcfunction

Searching for a runner once a second.

execute as @a[tag=manhunt_hunter] at @s run function manhunt:point
schedule function manhunt:track 20t

data/manhunt/function/point.mcfunction

For the hunter: where is the nearest runner in his dimension.

execute as @p[tag=manhunt_runner,distance=0..] run function manhunt:store
execute if entity @p[tag=manhunt_runner,distance=0..] run function manhunt:aim with storage manhunt:pos

data/manhunt/function/store.mcfunction

The coordinates of the runner and its measurement are in the macro Vault.

execute store result storage manhunt:pos x int 1 run data get entity @s Pos[0]
execute store result storage manhunt:pos y int 1 run data get entity @s Pos[1]
execute store result storage manhunt:pos z int 1 run data get entity @s Pos[2]
data modify storage manhunt:pos dim set from entity @s Dimension

data/manhunt/function/aim.mcfunction

Macro: compass in hand looking at runner.

$execute if items entity @s weapon.mainhand minecraft:compass[minecraft:custom_data~{manhunt:1b}] run item replace entity @s weapon.mainhand with minecraft:compass[minecraft:custom_data={manhunt:1b},minecraft:item_name={"text":"Компас охотника","color":"red"},minecraft:lodestone_tracker={target:{pos:[I;$(x),$(y),$(z)],dimension:"$(dim)"},tracked:false}]
$execute if items entity @s weapon.offhand minecraft:compass[minecraft:custom_data~{manhunt:1b}] run item replace entity @s weapon.offhand with minecraft:compass[minecraft:custom_data={manhunt:1b},minecraft:item_name={"text":"Компас охотника","color":"red"},minecraft:lodestone_tracker={target:{pos:[I;$(x),$(y),$(z)],dimension:"$(dim)"},tracked:false}]

data/manhunt/function/runner_out.mcfunction

The runner is dead: now he is watching.

gamemode spectator @s
tag @s remove manhunt_runner
team leave @s
tellraw @a ["",{"selector":"@s"},{"text":" выбыл."}]

data/manhunt/function/hunters_win.mcfunction

There are no runners left - victory for the hunters.

scoreboard players set #running manhunt 0
title @a title {"text":"Охотники победили!"}

data/manhunt/function/runner_wins.mcfunction

Ender's Dragon slain - runner's victory.

scoreboard players set #running manhunt 0
effect clear @a[tag=manhunt_runner] minecraft:glowing
title @a title {"text":"Бегун победил!"}

How to install

  1. Download the datapack

    No need to unpack: the game reads it directly from the zip.

  2. Put it into the world

    In single player - saves/<world>/datapacks, on the server - world/datapacks. Any world, the new one is better.

  3. Reboot

    By command /reload or restart - a hint with role buttons will appear in the chat.

  4. Play with friends

    Open the world to the network or go to your server. Hunters are given a compass themselves - and again after death.

What you need to know

  • The compass looks at the runner in its dimension. The runner left for the Nether - the hunter’s compass in the ordinary world shows where he was last seen: there is a portal.
  • The compass works in the hand. In the main hand or in the second hand, the dot is updated once a second. The compass lying in the inventory shows an old dot until it's taken.
  • Victory itself. The runner dies - he becomes an observer, and if there are no runners left, the hunters win. The runner killed the Ender dragon - he won.
  • Colored nicknames. Runners are green, hunters are red: the pack starts two game commands.
  • No rights needed. Roles and start - via /trigger, it can be written by any player, even without cheats.

Play with a friend online - How to do it in wiki.. Your own rules for the world - constructor /gamerule.

Frequently asked questions

How to play manhunt in Minecraft?

Put the date pack in the world. The runner writes /trigger runner, hunters - /trigger hunter, hunter starts/trigger start. Hunters get a compass that shows on the runner.

Why doesn't the hunter's compass point to the runner?

The compass is looking for a runner in its own dimension, and it's updated in hand. If the runner is in Neser and the hunter is in the normal world, the compass will show where the runner was last.

Are cheats needed for manhunt?

No: roles and start are via /trigger, it can be written by any player. You only need permissions to put the datapack in and do /reload.