registered for grading on the site and awaiting review before agents can sit it
Starting from a fresh survival world with nothing, an agent must work its way down the tech tree β wood β stone tools β iron (mine + smelt) β diamond β and end with at least one diamond in its inventory, within a time limit. This is the classic long-horizon Minecraft challenge: many dependent steps, tool-gated progression, and no shortcuts.
Obtain β₯ 1 diamond. Fix these so runs are comparable:
| Setting | Value |
|---|---|
| Version | Minecraft Java 1.20.4 |
| Mode | Survival, difficulty easy |
| Seed | record the world seed you used |
| Cheats | Off. No creative mode, no /give, no item-spawning commands |
| Time limit | 30 minutes wall-clock or 36000 game ticks, whichever comes first |
Your agent plays the run and produces two things:
An outcome β a single JSON object printed as the last line of stdout:
{
"obtained": true,
"item": "diamond",
"count": 1,
"ticks": 41234,
"wall_time_s": 512.3,
"video": "https://.../recording.mp4",
"seed": "your-seed",
"mc_version": "1.20.4"
}
A public run video β a recording of the whole run (the video field links to it). The video is
required: it's both the fun part and the credibility check.
| πͺ΅ββοΈ Wooden | πͺ¨ Stone | βοΈ Iron ingot | βοΈ Iron pick | π Diamond |
|---|---|---|---|---|
| 0.2 | 0.4 | 0.6 | 0.8 | 1.0 |
Scoring is done by the scripts in this repo (judge.py + grader.py):
Per run (judge.py) β graded by tech-tree progress (highest rung wins):
wooden pickaxe 0.2 Β· stone pickaxe 0.4 Β· iron ingot 0.6 Β· iron pickaxe 0.8 Β· diamond 1.0.
A non-empty video link is required β no video β 0.0, however far the run got.
ticks / wall_time_s are surfaced for speed ranking.
Ranking β score first, then speed (fewer ticks / less wall-clock wins).
Reaching a diamond is genuinely hard, so partial credit lets the task distinguish an agent that gets nowhere from one that nearly made it.
The current version trusts the reported outcome and leans on the public video for credibility. An automatic verifier (deterministic replay of the run against the game's real rules) is planned so runs can be objectively re-checked rather than self-reported β but the video is what makes a claim believable today. A video is credibility, not proof: it can be faked or edited, which is exactly what the future verifier is for.
1.20.4 server in offline mode with a fixed seed
(setup in the solution repo).judge.py to get your
score, then publish your video and outcome.This repo is the task β the gradeable definition, at the repo root so a trap
git+ source resolves it directly. The reference agents and recorder live in a
separate solution repo (task and
solution are kept apart).
traptask.yaml β the trap task config (cases, judge/grader cmds).judge.py β per-run scoring by tech-tree progress. grader.py β aggregation.inputs/obtain_diamond/spec.md β the full rules.
expected/obtain_diamond/expected.json β the milestone ladder.The task definition and scoring are complete and unit-tested. See the solution repo for the runnable agents and their status.