Ai
AI playing Minecraft on its own: how Nixi's bot works
AI playing Minecraft, explained: what research agents like VPT and Voyager achieved, and how Nixi's bot chooses moves, dies and learns live on Twitch.
Every AI that plays Minecraft runs some version of one loop: read the game, choose an action, act, repeat. Research agents have done it by learning from videos of human players or by having GPT-4 write code [1, 2]. Nixi, an openly AI VTuber (a streamer with an animated avatar), runs it live on Twitch around the clock with hand-written skills, a small classifier that picks between options and a chat that can vote; here is how both kinds of AI play, and what still kills her.
What “AI playing Minecraft” usually means
Minecraft has no single goal, and progress needs long chains of steps in the right order: wood, stone, iron, then diamonds. That makes it a popular testbed for AI research [1]. Four projects show the main ways to build an autonomous Minecraft agent:
| Project | How it plays | What it reported |
|---|---|---|
| MineRL (2019) [3] | 500+ hours of recorded human play to learn from | Six tasks, from chopping trees to obtaining a diamond |
| VPT (2022) [1] | Learned from about 70,000 hours of online video | A diamond pickaxe in 2.5% of ten-minute episodes |
| MineDojo (2022) [4] | Thousands of tasks plus videos, wiki pages and Reddit posts | MineCLIP, a model that rewards progress towards a text goal |
| Voyager (2023) [2] | GPT-4 writes code for a Mineflayer bot | Iron tools in 3 of 3 trials, a diamond tool in 1 of 3, within 160 prompting rounds |
Learning from human play
MineRL turned games on a public server into over 60 million state–action pairs: snapshots of play plus the player’s next move [3]. Its authors found that standard deep reinforcement learning, the trial-and-reward method behind many game-playing AIs, couldn’t fully solve any of its six tasks [3].
OpenAI’s Video PreTraining (VPT) scaled this up. A model trained on 1,962 hours of contractor play learned which keys and mouse moves produced each frame, then labelled about 70,000 hours of online Minecraft videos [1]. The agent trained on them plays like a person, with mouse and keyboard at 20 frames per second [1]. After reward-based fine-tuning, it crafted a diamond pickaxe in 2.5% of ten-minute episodes, a task that usually takes a skilled human over 20 minutes [1].
Language models that write code
Voyager handed the controls to GPT-4. It writes JavaScript programs that drive a Mineflayer bot, keeps the ones that work in a skill library, and picks its own next task, reading the game as text rather than pixels [2].
Its ablations, which remove one part at a time, hold the key lesson: with random tasks instead of its own curriculum, Voyager discovered 93% fewer items, and without checking its own success, 73% fewer [2].
Open-source frameworks such as Mindcraft let anyone connect many language models to Mineflayer bots [5].
The bot body: Mineflayer
Voyager, Mindcraft and Nixi all build on Mineflayer, an open-source JavaScript library that tracks the blocks and entities around a bot and handles movement, digging, building, inventory and crafting [6]. Path-finding comes from a plugin, mineflayer-pathfinder: an A* search (a classic shortest-path algorithm) that can break and place blocks on the way [7].
How Nixi plays: code decides what’s possible
Nixi is an AI character, a Rhine water spirit, whose body is a Mineflayer bot in Minecraft Java Edition 1.21.4 survival. Nobody is on the keys: her moves come from code, with a small classifier weighing the options. According to her build notes, each decision runs through one funnel:
- Reflexes first. Four times a second, code checks air, lava, creepers, nearby monsters and critical health. An emergency (a score of 80 points or more) is handled by code alone, with no model and no vote.
- Drives and options. Otherwise, drives such as hunger and progress on the route are scored. A skill tree of about 330 behaviours is cut to at most six likely options, each checked in code to be possible right now.
- A classifier picks. Simple Jev, an open-source classifier from Featherless, gives each option a probability.
- Chat can overrule. The most-voted option of the last 90 seconds goes ahead of the classifier. Reflexes never wait for a vote.
- Skills act and get checked. Hand-written routines, like a safe walk, fishing or a bunker fight, run for seconds to minutes and are judged by what they measurably changed.
Simple Jev never writes text: it reads how strongly a language model leans towards each allowed answer and turns that into odds, which its documentation warns are not calibrated probabilities [8]. Up to the morning of 29 September, her logs show the bot acted on 97% of its picks, with a median answer time of 948 milliseconds. Without an answer, the planner decides alone, as it did for the last 1.5 hours of run 1, including the kill, after the hosted model began rejecting requests.
A route, an engine and her own retros
Above the funnel sits a route of 16 phases, from the first log to the dragon. As of 30 September, an experimental chess-style engine was built to run beside her in shadow mode: it grades her moves from “best” to “blunder” by their expected time to the dragon, deaths included, but decides nothing.
Every ten minutes the system writes a short retro, 689 of them in run 1. It also experiments with its own settings: 176 experiments in run 1, 9 kept. Deaths turn into rules, like stairs instead of shafts and Nether tunnels dug high under the roof.
What’s hard for an AI in Minecraft
Run 1 began on 27 September 2026 at 16:16 CEST and ended when the Ender Dragon died on 3 October at 23:12, after 6 days, 6 hours and 56 minutes of wall-clock time and 179 deaths. Her logs show where the game bites.
Water
Seventeen deaths were drownings, awkward for a water spirit. You get about 15 seconds of air, then take 2 damage every second [9]. For a bot, the hard part is noticing in time: one drowning came while she was escaping a zombie. Her fixes: a reflex that watches her air, and a drive to get out of the water before anything else.
Lava and falls
Lava killed her 24 times. It deals 4 damage every half second, and you keep burning for 15 seconds after you get out [10]. The Nether’s lava seas fill everything at and below Y=31 [11]. One afternoon, four deaths were falls into that sea, off ledges, a bridge and a fungus canopy; a piglin and a hoglin knocked her off two of them.
So long Nether trips became tunnels dug high under the roof, lava beside the path gets walled off first, and paths cost more next to a drop into lava. The human version is in How to survive the Nether’s lava edges.
Loops and fake success
In tests before run 1, the bot repeated a failing forage action 1,688 times at one spot, and a shelter skill reported “done” after placing zero blocks, so it kept being picked. The fix is to judge a skill by what measurably changed, not by what it reports, the same lesson as Voyager’s self-checks [2]. Picking can’t fix a broken skill, though: replaying 29 September, the engine counted 2.8 hours stuck in loops inside her own house.
Fights
A blaze drops at most one rod, about half the time, and only when a player or a tamed wolf kills it [12]. On 29 September, fighting beside the spawner brought her 2 rods for 6 deaths in 7 attempts. Her rules now say to fight from a walled bunker, which took 3 rods in 76 seconds in the lab.
The dragon killed her 14 times, 11 of them with its breath, a purple cloud that hurts like a lingering potion of Harming [13]. The last bug was the strangest. Endermen turn hostile when a player looks at their eyes [14], so her gaze in the End was capped downward, and her bow inherited the cap: every arrow hit the ground. The fix went live at 22:50; the dragon died at 23:12.
How fixes are tested
Many fixes are rehearsed on a separate lab server first, sometimes on a copy of the place where things went wrong. On a copy of her real Nether, the approach to the fortress took 151 seconds at full health; lab numbers like that are never reported as run results. Run 1 was also a live shakedown: her code changed between deaths, including that bow fix 22 minutes before the kill.
Run 2, and the honest part
Run 2 started on 3 October at 23:27 CEST in a fresh world with the same rules. As of 4 October, she has all six blaze rods and is on the ender pearl phase: the plan is to find a warped forest, where endermen are most common in the Nether [14], and hunt them. Each rod makes two blaze powder [15]; powder plus a pearl makes an eye of ender, and eyes lead to the stronghold and open the End portal [16]. The human route is in How to get ender pearls fast, and her live progress is on the run card.
The rules travel with every claim: survival on Easy, keepInventory on (she keeps her items when she dies) [17], a random seed, and no /give or /tp. Like other Mineflayer bots, she can query every loaded block around her, ores behind stone included [6]. Run 1 had three logged interventions: a stone pickaxe crafted by hand while debugging on day 1, and two resets of a dragon stuck circling. It is neither a first nor a record.
Watch her play
Nixi streams 24/7 at twitch.tv/nixivt, with her options and their odds on the overlay. In chat, !vote plus an option’s number votes on her next move, and !jev shows what the classifier thinks. You can also help her (!feed, !heal, !loot) or hinder her (!spawn, !curse). All commands are on the play page, and How she works has the short version of this post.
FAQ
Can an AI play Minecraft on its own?
Yes. VPT and Voyager both play without a human on the controls [1, 2]. So does Nixi: nobody is on the keys, but her developers change her code between deaths and log every intervention.
Has an AI beaten Minecraft?
If that means killing the Ender Dragon, yes, several have. An agent running Claude Opus 5 through the Mine AI MCP server played a fresh world through to the dragon in one unbroken session [18]. Another finished a Peaceful 1.16.5 run in 8 minutes 43 seconds [19]. Nixi killed it in run 1 on 3 October 2026, after 179 deaths, on Easy and a random seed.
How do I make my own Minecraft AI bot?
Start with Mineflayer for moving, digging, building, crafting and fighting [6], and add mineflayer-pathfinder to get around [7]. Build one skill at a time, and check that each one really changed the world. If a language model writes code for your bot, keep it off public servers [5].
Sources
- Bowen Baker et al. (2022). Video PreTraining (VPT): Learning to Act by Watching Unlabeled Online Videos. Advances in Neural Information Processing Systems 35 (NeurIPS 2022). arXiv:2206.11795. arxiv.org/abs/2206.11795 · read 4 October 2026 · sections cited: 1, 4.4; 4.1-4.2; 1; 4.4 ↩
- Guanzhi Wang et al. (2023). Voyager: An Open-Ended Embodied Agent with Large Language Models. arXiv:2305.16291. arxiv.org/abs/2305.16291 · read 4 October 2026 · sections cited: 2, 3.1, 3.5; 3.4 ↩
- William H. Guss et al. (2019). MineRL: A Large-Scale Dataset of Minecraft Demonstrations. Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence. arXiv:1907.13440. arxiv.org/abs/1907.13440 · read 4 October 2026 · sections cited: 3, 4.1; 7 ↩
- Linxi Fan et al. (2022). MineDojo: Building Open-Ended Embodied Agents with Internet-Scale Knowledge. Advances in Neural Information Processing Systems 35 (NeurIPS 2022), Datasets and Benchmarks Track. arXiv:2206.08853. arxiv.org/abs/2206.08853 · read 4 October 2026 ↩
- mindcraft-bots. mindcraft: Crafting minds for Minecraft with LLMs and Mineflayer!. GitHub. github.com/mindcraft-bots/mindcraft · read 4 October 2026 ↩
- PrismarineJS. mineflayer: Create Minecraft bots with a powerful, stable, and high level JavaScript API. GitHub. github.com/PrismarineJS/mineflayer · read 4 October 2026 ↩
- PrismarineJS. mineflayer-pathfinder: Pathfinding plugin that gives bot the ability to go from A to B. GitHub. github.com/PrismarineJS/mineflayer-pathfinder · read 4 October 2026 ↩
- featherless-ai. simple-jev: Turn any open model into a classifier/jev endpoint. GitHub. github.com/featherless-ai/simple-jev · read 4 October 2026 ↩
- Minecraft Wiki. Damage. minecraft.wiki/w/Damage · read 4 October 2026 ↩
- Minecraft Wiki. Lava. minecraft.wiki/w/Lava · read 4 October 2026 ↩
- Minecraft Wiki. The Nether. minecraft.wiki/w/The_Nether · read 4 October 2026 · section cited: Terrain features ↩
- Minecraft Wiki. Blaze. minecraft.wiki/w/Blaze · read 4 October 2026 ↩
- Minecraft Wiki. Ender Dragon. minecraft.wiki/w/Ender_Dragon · read 4 October 2026 ↩
- Minecraft Wiki. Enderman. minecraft.wiki/w/Enderman · read 4 October 2026 ↩
- Minecraft Wiki. Blaze Powder. minecraft.wiki/w/Blaze_Powder · read 4 October 2026 ↩
- Minecraft Wiki. Eye of Ender. minecraft.wiki/w/Eye_of_Ender · read 4 October 2026 ↩
- Minecraft Wiki. Game rule. minecraft.wiki/w/Game_rule · read 4 October 2026 ↩
- aibengineering. Mine AI MCP: MCP server that lets AI play Minecraft well-enough to beat the game!. GitHub. github.com/aibengineering/mine-ai-mcp · read 4 October 2026 ↩
- rmalde. minecraft-agent: Astra planner and JEV controller for Minecraft, with native recording, tested routes, and run verification. GitHub. github.com/rmalde/minecraft-agent · read 4 October 2026 ↩