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.versionis'1.26.51'. - Transports: RakNet by default; NetherNet (BDS's default transport) with
transport: 'nethernet'. - Auth:
auth: 'offline'(default) foronline-mode=falseservers,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-dataas 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 | |
|---|---|
bedboo | the library |
@bedboo/bedrock-data | the BDS 1.26.51 data overlay for minecraft-data |
@bedboo/agent | a 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:
createBotoptions and the Bedrock extras.