Create Minecraft bots with a powerful, stable, and high level JavaScript API.
Latest commit 06b1e10 Feb 7, 2017 @rom1504 rom1504 Release 2.1.0


NPM version Build Status Join the chat at

Create Minecraft bots with a powerful, stable, and high level JavaScript API.


  • Supports Minecraft 1.8, 1.9, 1.10 and 1.11.
  • Entity knowledge and tracking.
  • Block knowledge. You can query the world around you.
  • Basic physics and movement - currently blocks are either "solid" or "empty".
  • Attacking entities and using vehicles.
  • Inventory management.
  • Crafting, chests, dispensers, enchantment tables.
  • Digging and building.
  • Miscellaneous stuff such as knowing your health and whether it is raining.
  • Activating blocks and using items.
  • Chat.


  • Brewing stands, and anvils.
  • Better physics (support doors, ladders, water, etc).


Echo Example

var mineflayer = require('mineflayer');
var bot = mineflayer.createBot({
  host: "localhost", // optional
  port: 25565,       // optional
  username: "", // email and password are required only for
  password: "12345678",          // online-mode=true servers
bot.on('chat', function(username, message) {
  if (username === bot.username) return;;

More Examples

Third Party Plugins

Mineflayer is pluggable; anyone can create a plugin that adds an even higher level API on top of Mineflayer.

Projects Using Mineflayer


Linux / OSX

npm install mineflayer


  1. Follow the Windows instructions from node-minecraft-protocol
  2. npm install mineflayer



npm test

Updating to a newer protocol version

  1. Wait for a new version of node-minecraft-protocol to be released which supports the new Minecraft version.
  2. npm install --save minecraft-protocol@latest
  3. Apply the protocol changes where necessary.
  4. Run the test suite. See Testing above.