Skip to content
On this page

Introduction

bedboo is a Minecraft Bedrock Edition bot library with a mineflayer-compatible API. It offers the same createBot(), the same bot.* properties, methods and events, the same TypeScript types and the same plugin system as mineflayer 4.39.0, but it talks to a Bedrock Dedicated Server (BDS) through bedrock-protocol. Bot code written for mineflayer, including ecosystem plugins such as mineflayer-pathfinder, runs against BDS.

Why

mineflayer is the usual way to write Minecraft bots in JavaScript and it has a large plugin ecosystem, but it targets Java Edition. Bedrock Edition uses a different protocol, different block and item ids, server-authoritative inventory and block breaking, and its own movement physics, so Java bots and their plugins cannot join a Bedrock server. bedboo closes that gap without inventing a new API: mineflayer's documentation, examples and plugins apply unchanged.

The only differences are inherent Java/Bedrock ones: Bedrock block and item names, no teams, server-authoritative inventory and block breaking, and so on. Each of them is listed in the Bedrock differences.

What is supported

  • Server: BDS 1.26.51.x (protocol 2193; 1.26.52.x speaks the same protocol). bot.version is '1.26.51'.
  • Transports: RakNet by default; NetherNet (BDS's default transport) with transport: 'nethernet'.
  • Auth: auth: 'offline' (default) for online-mode=false servers, auth: 'microsoft' for Xbox Live.
  • Real client: transport: 'bedd' drives a real Bedrock client hosted by Be.D.D. instead.
  • Runtime: Node.js 24 or newer. RakNet needs x64 (raknet-native ships x64 prebuilds only); NetherNet is pure JavaScript.

How it is built

  • bedrock-protocol for the connection (RakNet through raknet-native, NetherNet through node-nethernet) and prismarine-auth for Xbox Live sign-in;
  • the prismarine-* libraries (block, chat, chunk, entity, item, nbt, recipe, registry, windows, world) and minecraft-data, with @bedboo/bedrock-data as the BDS 1.26.51 data overlay;
  • a Bedrock movement engine forked from prismarine-physics;
  • mineflayer's own plugins, adapted one file per plugin, each keeping its attribution header.

Small fixes to those dependencies are pnpm patches in the repository's patches/ folder, which is why bedboo is used from its monorepo for now (see Your first bot).

Packages

package
bedboothe library
@bedboo/bedrock-datathe BDS 1.26.51 data overlay for minecraft-data
@bedboo/agenta scripted survival agent built on bedboo (Survival agent)

Next

  • Your first bot: server settings, install, a bot that walks to you.
  • Ecosystem plugins: pathfinder, pvp, collectblock and friends on Bedrock.
  • API: createBot options and the Bedrock extras.