You are watching: how to make a bot in minecraft
🇺🇸 English 🇷🇺 Russian 🇪🇸 Spanish 🇫🇷 French 🇹🇷 Turkish 🇨🇳 Chinese
First time using pinkarmy.net ? You may want to start with the tutorial. Know Python ? Checkout some Python examples and try out Mineflayer on Google Colab.
- Supports Minecraft 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16 and 1.17.
- Entity knowledge and tracking.
- Block knowledge. You can query the world around you. Milliseconds to find any block.
- Physics and movement – handle all bounding boxes
- 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.
Checkout this page to see what are our current projects.
First install nodejs >= 14 from pinkarmy.net then:
npm install mineflayer
link description tutorial Begin with pinkarmy.net and mineflayer pinkarmy.net Got a question ? go there first pinkarmy.net pinkarmy.net The full API reference pinkarmy.net The changelog for mineflayer examples/ Checkout all the mineflayer examples
Please read pinkarmy.net and prismarine-contribute
A tutorial video explaining the basic set up process for a bot can be found here.
If you want to learn more, more video tutorials are there, and the corresponding source codes for those bots is there.
Without version specified, the version of the server will be guessed automatically. Without auth specified, the mojang auth style will be guessed.
See what your bot is doing
Thanks to prismarine-viewer project, it’s possible to display in a browser window what your bot is doing. Just run npm install prismarine-viewer and add this to your bot:
And you’ll get a live view looking like this:
example description viewer Display your bot world view in the browser pathfinder Make your bot go to any location automatically chest Use chests, furnaces, dispensers, enchantment tables digger Learn how to create a simple bot that is capable of digging the block discord Connect a discord bot with a mineflayer bot jumper Learn how to move, jump, ride vehicles, attack nearby entities ansi Display your bot’s chat with all of the chat colors shown in your terminal guard Make a bot guard a defined area from nearby mobs multiple-from-file Add a text file with accounts and have them all login
And many mores in the examples folder
A lot of the active development is happening inside of small npm packages which are used by mineflayer.
The Node Way™
“When applications are done well, they are just the really application-specific, brackish residue that can’t be so easily abstracted away. All the nice, reusable components sublimate away onto github and npm where everybody can collaborate to advance the commons.” — substack from “how I write modules”
These are the main modules that make up mineflayer:
module description minecraft-protocol Parse and serialize minecraft packets, plus authentication and encryption. minecraft-data Language independent module providing minecraft data for minecraft clients, servers and libraries. prismarine-physics Provide the physics engine for minecraft entities prismarine-chunk A class to hold chunk data for Minecraft node-vec3 3d vector math with robust unit tests prismarine-block Represent a minecraft block with its associated data prismarine-chat A parser for a minecraft chat message (extracted from mineflayer) node-yggdrasil pinkarmy.net library to interact with Mojang’s authentication system, known as Yggdrasil prismarine-world The core implementation of worlds for prismarine prismarine-windows Represent minecraft windows prismarine-item Represent a minecraft item with its associated data prismarine-nbt An NBT parser for node-minecraft-protocol prismarine-recipe Represent minecraft recipes prismarine-biome Represent a minecraft biome with its associated data prismarine-entity Represent a minecraft entity
You can enable some protocol debugging output using DEBUG environment variable:
On windows :
Third Party Plugins
Mineflayer is pluggable; anyone can create a plugin that adds an even higher level API on top of Mineflayer.
The most updated and useful are :
- pathfinder – advanced A* pathfinding with a lot of configurable features
- prismarine-viewer – simple web chunk viewer
- web-inventory – web based inventory viewer
- statemachine – A state machine API for more complex bot behavors
- Armor Manager – automatic armor managment
- Collect Block – Quick and simple block collection API.
- Dashboard – Frontend dashboard for mineflayer bot
- PVP – Easy API for basic PVP and PVE.
- auto-eat – Automatic eating of food.
- Tool – A utility for automatic tool/weapon selection with a high level API.
- Hawkeye – A utility for using auto-aim with bows.
But also check out :
- radar – web based radar interface using canvas and pinkarmy.net. YouTube Demo
- blockfinder – find blocks in the 3D world
- scaffold – get to a target destination even if you have to build or break blocks to do so. YouTube Demo
- auto-auth – chat-based bot authentication
- Bloodhound – determine who and what is responsible for damage to another entity
- tps – get the current tps (processed tps)
- panorama – take Panorama Images of your world
Projects Using Mineflayer
- YouTube – building a spiral staircase
- YouTube – replicating a building
- vogonistic/voxel – visualize what the bot is up to using pinkarmy.net
- JonnyD/Skynet – log player activity onto an online API
- MinecraftChat (last open source version, built by AlexKvazos) – Minecraft web based chat client pinkarmy.net/
- Cheese Bot – Plugin based bot with a clean GUI. Made with Node-Webkit.
- Chaoscraft – Minecraft bot using genetic algorithms, see its youtube videos
- hexatester/minetelegram – Minecraft – Telegram bridge, build on top of mineflayer & telegraf.
- PrismarineJS/mineflayer-builder – Prints minecraft schematics in survival, keeping orientation
- and hundreds more – All the projects that github detected are using mineflayer
Simply run: npm test
Testing specific version
Run npm mocha_test – -g <version>, where <version> is a minecraft version like 1.12, 1.15.2…
Testing specific test
Run npm mocha_test – -g <test_name>, where <test_name> is a name of the test like bed, useChests, rayTrace…
See more: Leather | Pink Army