finds.dev← search

// the find

PrismarineJS/mineflayer

★ 7,315 · JavaScript · MIT · updated Jul 2026

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

Mineflayer is a Node.js library for programmatically controlling Minecraft bots, handling everything from packet parsing to inventory management and physics simulation. It supports Minecraft versions 1.8 through 1.21.11 and has a large ecosystem of third-party plugins. Primary audience is developers building automation, AI agents, or Minecraft tooling.

- Version coverage is genuinely impressive — supporting 13+ years of Minecraft releases through the underlying minecraft-protocol and minecraft-data packages, with what appears to be active maintenance (last push July 2026).

- Well-decomposed architecture: core functionality is split into focused plugin files (digging.js, inventory.js, chest.js, etc.) and most primitives live in separate npm packages, making it easy to understand and extend individual subsystems.

- Test suite actually spins up a real Minecraft server via minecraft-wrap and runs integration tests against specific game versions and features — this is significantly more meaningful than unit tests with mocked packets.

- TypeScript definitions (index.d.ts) and typed-emitter dependency mean you get reasonable autocomplete and type safety without the codebase being TypeScript itself.

- The README says Node >= 18 but package.json requires >= 22 — that's a documentation inconsistency that will waste someone's time.

- No built-in pathfinding; navigation requires the separate mineflayer-pathfinder plugin maintained by a different author (Karang), so a core use case for bots has a split maintenance story and can fall behind on version support independently.

- The plugin ecosystem listed as 'most updated and useful' includes several repos that appear abandoned or infrequently maintained — adopters will need to audit each plugin's last commit date before depending on it.

- Being JavaScript with StandardJS style means no compile-time safety for the core codebase itself; subtle bugs in packet handling or state management won't surface until runtime, and the lack of TypeScript source means contributing typed code is awkward.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →