{"_id":"@dxxxxy/mineflayer","_rev":"4-aff0dd32a49cc5980022010b898be747","name":"@dxxxxy/mineflayer","dist-tags":{"latest":"204.20.1"},"versions":{"4.8.1":{"name":"@dxxxxy/mineflayer","version":"4.8.1","license":"MIT","_id":"@dxxxxy/mineflayer@4.8.1","maintainers":[{"name":"dxxxxy","email":"introsdream@gmail.com"}],"homepage":"https://github.com/PrismarineJS/mineflayer#readme","bugs":{"url":"https://github.com/PrismarineJS/mineflayer/issues"},"dist":{"shasum":"0662db70e7cb9b05722a19d4e0d3553bf7e2cc25","tarball":"https://registry.npmjs.org/@dxxxxy/mineflayer/-/mineflayer-4.8.1.tgz","fileCount":171,"integrity":"sha512-THMgiX7vsePAZN/YmV5jtnahKbPiHkaPudDQY8zkePkC3DAQNI3nCAotGKy+2xbt4cJujnjN2dVdS6rOFLDiNA==","signatures":[{"sig":"MEQCIAokUXdQAr5EoDGom/nqTY48rqNif1slGGlb2jKcFikaAiANaYCRAmgcbH80798BQh7QB3VyHFGu6z5LoSByn52OYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9276924},"main":"index.js","types":"index.d.ts","engines":{"node":">=14"},"gitHead":"c7573c5fe5d324046e9ca1989ba438895b6267ce","scripts":{"fix":"standard --fix && standard-markdown --fix","lint":"standard && standard-markdown","test":"npm run mocha_test","pretest":"npm run lint","mocha_test":"mocha --reporter spec --exit","prepublishOnly":"cp docs/README.md README.md"},"_npmUser":{"name":"dxxxxy","email":"introsdream@gmail.com"},"repository":{"url":"git://github.com/PrismarineJS/mineflayer.git","type":"git"},"_npmVersion":"8.6.0","description":"create minecraft bots with a stable, high level API","directories":{},"_nodeVersion":"18.0.0","dependencies":{"vec3":"^0.1.7","protodef":"^1.14.0","typed-emitter":"^1.0.0","minecraft-data":"^3.26.0","prismarine-nbt":"^2.0.0","prismarine-chat":"^1.7.1","prismarine-item":"^1.12.1","prismarine-chunk":"^1.32.0","prismarine-world":"^3.6.0","prismarine-entity":"^2.2.0","prismarine-recipe":"^1.3.0","minecraft-protocol":"^1.40.3","prismarine-physics":"^1.3.1","prismarine-windows":"^2.5.0","@dxxxxy/prismarine-biome":"^1.3.0","@dxxxxy/prismarine-block":"^1.16.3","@dxxxxy/prismarine-registry":"^1.5.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.0.0","doctoc":"^2.0.1","standard":"^17.0.0","mineflayer":"file:.","typescript":"^4.4.3","@types/node":"^18.0.6","minecraft-wrap":"^1.3.0","standard-markdown":"^7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mineflayer_4.8.1_1684789274806_0.1981316414967178","host":"s3://npm-registry-packages"}},"104.20.1":{"name":"@dxxxxy/mineflayer","version":"104.20.1","license":"MIT","_id":"@dxxxxy/mineflayer@104.20.1","maintainers":[{"name":"dxxxxy","email":"introsdream@gmail.com"}],"homepage":"https://github.com/PrismarineJS/mineflayer#readme","bugs":{"url":"https://github.com/PrismarineJS/mineflayer/issues"},"dist":{"shasum":"7669bb4ea8990048232ba15b7ee20284de72834b","tarball":"https://registry.npmjs.org/@dxxxxy/mineflayer/-/mineflayer-104.20.1.tgz","fileCount":182,"integrity":"sha512-9WWO/5pfAv61yJq4P1trVouXs0HYRULJnhxuVQN3xqFEuEe9kt+vCqZ/Z+jWKYVLyxNqzK7IegdoceLU3lAjRg==","signatures":[{"sig":"MEYCIQCECcwM6I0lTEbXSvykmSJG3cNqkXBjKGS6Zg4T+Yd6NwIhAO5gmlA0D8pAnUdeQoTTgXpIxSRVAqygyDAboaaboi9e","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9544926},"main":"index.js","types":"index.d.ts","engines":{"node":">=18"},"gitHead":"54af493560ed74385b35e4f56b6e9bf1354ed16e","scripts":{"fix":"standard --fix && standard-markdown --fix","lint":"standard && standard-markdown","test":"npm run mocha_test","pretest":"npm run lint","mocha_test":"mocha --reporter spec --exit","prepublishOnly":"cp docs/README.md README.md"},"_npmUser":{"name":"dxxxxy","email":"introsdream@gmail.com"},"repository":{"url":"git://github.com/PrismarineJS/mineflayer.git","type":"git"},"_npmVersion":"8.6.0","description":"create minecraft bots with a stable, high level API","directories":{},"_nodeVersion":"18.0.0","dependencies":{"vec3":"^0.1.7","protodef":"^1.14.0","typed-emitter":"^1.0.0","minecraft-data":"^3.56.0","prismarine-nbt":"^2.0.0","prismarine-chat":"^1.7.1","prismarine-item":"^1.14.0","prismarine-biome":"^1.1.1","prismarine-block":"^1.17.0","prismarine-chunk":"^1.34.0","prismarine-world":"^3.6.0","prismarine-entity":"^2.3.0","prismarine-recipe":"^1.3.0","minecraft-protocol":"^1.47.0","prismarine-physics":"^1.8.0","prismarine-windows":"^2.9.0","@dxxxxy/prismarine-registry":"^1.5.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.0.0","doctoc":"^2.0.1","standard":"^17.0.0","mineflayer":"file:.","typescript":"^5.0.3","@types/node":"^20.2.1","minecraft-wrap":"^1.3.0","standard-markdown":"^7.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mineflayer_104.20.1_1720913518175_0.045525558620046924","host":"s3://npm-registry-packages"}},"204.20.1":{"name":"@dxxxxy/mineflayer","version":"204.20.1","description":"create minecraft bots with a stable, high level API","main":"index.js","types":"index.d.ts","scripts":{"mocha_test":"mocha --reporter spec --exit","test":"npm run mocha_test","pretest":"npm run lint","lint":"standard && standard-markdown","fix":"standard --fix && standard-markdown --fix","prepublishOnly":"cp docs/README.md README.md"},"repository":{"type":"git","url":"git://github.com/PrismarineJS/mineflayer.git"},"engines":{"node":">=18"},"license":"MIT","dependencies":{"minecraft-data":"^3.56.0","minecraft-protocol":"^1.47.0","prismarine-biome":"^1.1.1","@dxxxxy/prismarine-block":"^1.17.0","prismarine-chat":"^1.7.1","prismarine-chunk":"^1.34.0","prismarine-entity":"^2.3.0","prismarine-item":"^1.14.0","prismarine-nbt":"^2.0.0","prismarine-physics":"^1.8.0","prismarine-recipe":"^1.3.0","@dxxxxy/prismarine-registry":"^1.5.0","prismarine-windows":"^2.9.0","prismarine-world":"^3.6.0","protodef":"^1.14.0","typed-emitter":"^1.0.0","vec3":"^0.1.7"},"devDependencies":{"@types/node":"^20.2.1","doctoc":"^2.0.1","minecraft-wrap":"^1.3.0","mineflayer":"file:.","mocha":"^10.0.0","standard":"^17.0.0","standard-markdown":"^7.1.0","typescript":"^5.0.3"},"gitHead":"815d9ab9efb940b8a583efbf5a1b671f96af912e","bugs":{"url":"https://github.com/PrismarineJS/mineflayer/issues"},"homepage":"https://github.com/PrismarineJS/mineflayer#readme","_id":"@dxxxxy/mineflayer@204.20.1","_nodeVersion":"18.0.0","_npmVersion":"8.6.0","dist":{"integrity":"sha512-1xv8Q8ug2d7TmUINYJU+JnENyx/QLfI2pykmnDULFnACcU+U0J6Owa1ZESeDx69uM5YCgZJABa2Zu+Xpzb/bKg==","shasum":"c736817cda2e565a4f77d389c6cbb4588ee568fa","tarball":"https://registry.npmjs.org/@dxxxxy/mineflayer/-/mineflayer-204.20.1.tgz","fileCount":182,"unpackedSize":9544926,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+DHLpZiX1/PE+lpG0rndYbbCcWR8LgdtILKDc1R5uoQIhAPrBsDHNa/JcLOFAAKoJrWXKlklTXLTBV/FiPT/fA1GE"}]},"_npmUser":{"name":"dxxxxy","email":"introsdream@gmail.com"},"directories":{},"maintainers":[{"name":"dxxxxy","email":"introsdream@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mineflayer_204.20.1_1720914464746_0.8076345174651449"},"_hasShrinkwrap":false}},"time":{"created":"2023-05-22T21:01:14.746Z","modified":"2024-07-13T23:47:45.235Z","4.8.1":"2023-05-22T21:01:15.216Z","4.20.1":"2024-07-13T23:20:55.066Z","104.20.1":"2024-07-13T23:31:58.566Z","204.20.1":"2024-07-13T23:47:45.047Z"},"bugs":{"url":"https://github.com/PrismarineJS/mineflayer/issues"},"license":"MIT","homepage":"https://github.com/PrismarineJS/mineflayer#readme","repository":{"type":"git","url":"git://github.com/PrismarineJS/mineflayer.git"},"description":"create minecraft bots with a stable, high level API","maintainers":[{"name":"dxxxxy","email":"introsdream@gmail.com"}],"readme":"# Mineflayer\r\n\r\n[![NPM version](https://img.shields.io/npm/v/mineflayer.svg?color=success&label=npm%20package&logo=npm)](https://www.npmjs.com/package/mineflayer)\r\n[![Build Status](https://img.shields.io/github/actions/workflow/status/PrismarineJS/mineflayer/ci.yml.svg?label=CI&logo=github&logoColor=lightgrey)](https://github.com/PrismarineJS/mineflayer/actions?query=workflow%3A%22CI%22)\r\n[![Try it on gitpod](https://img.shields.io/static/v1.svg?label=try&message=on%20gitpod&color=brightgreen&logo=gitpod)](https://gitpod.io/#https://github.com/PrismarineJS/mineflayer)\r\n[![Open In Colab](https://img.shields.io/static/v1.svg?label=open&message=on%20colab&color=blue&logo=google-colab)](https://colab.research.google.com/github/PrismarineJS/mineflayer/blob/master/docs/mineflayer.ipynb)\r\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/PrismarineJS)](https://github.com/sponsors/PrismarineJS)\r\n\r\n[![Official Discord](https://img.shields.io/static/v1.svg?label=OFFICIAL&message=DISCORD&color=blue&logo=discord&style=for-the-badge)](https://discord.gg/GsEFRM8)\r\n\r\n| <sub>EN</sub> [English](README.md) | <sub>RU</sub> [русский](ru/README_RU.md) | <sub>ES</sub> [Español](es/README_ES.md) | <sub>FR</sub> [Français](fr/README_FR.md) | <sub>TR</sub> [Türkçe](tr/README_TR.md) | <sub>ZH</sub> [中文](zh/README_ZH_CN.md) | <sub>BR</sub> [Português](br/README_BR.md) |\r\n|-------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-------------------------|--------------------|\r\n\r\nCreate Minecraft bots with a powerful, stable, and high level JavaScript [API](api.md), also usable from Python.\r\n\r\nFirst time using Node.js? You may want to start with the [tutorial](tutorial.md). Know Python? Checkout some [Python examples](https://github.com/PrismarineJS/mineflayer/tree/master/examples/python) and try out [Mineflayer on Google Colab](https://colab.research.google.com/github/PrismarineJS/mineflayer/blob/master/docs/mineflayer.ipynb).\r\n\r\n## Features\r\n\r\n * Supports Minecraft 1.8 to 1.20.4 (1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19 and 1.20)\r\n * Entity knowledge and tracking.\r\n * Block knowledge. You can query the world around you. Milliseconds to find any block.\r\n * Physics and movement - handle all bounding boxes\r\n * Attacking entities and using vehicles.\r\n * Inventory management.\r\n * Crafting, chests, dispensers, enchantment tables.\r\n * Digging and building.\r\n * Miscellaneous stuff such as knowing your health and whether it is raining.\r\n * Activating blocks and using items.\r\n * Chat.\r\n\r\n### Roadmap\r\n\r\n Checkout [this page](https://github.com/PrismarineJS/mineflayer/wiki/Big-Prismarine-projects) to see what our current projects are.\r\n\r\n## Installation\r\n\r\nFirst install Node.js >= 18 from [nodejs.org](https://nodejs.org/) then:\r\n\r\n```bash\r\nnpm install mineflayer\r\n```\r\n\r\nTo update mineflayer (or any Node.js) package and its dependencies, use \r\n```bash\r\nnpm update --depth 9999\r\n```\r\n\r\n## Documentation\r\n\r\n| link | description |\r\n|---|---|\r\n|[tutorial](tutorial.md) | Begin with Node.js and mineflayer |\r\n| [FAQ.md](FAQ.md) | Got a question ? go there first |\r\n| **[api.md](api.md)** <br/>[unstable_api.md](unstable_api.md) | The full API reference |\r\n| [history.md](history.md) | The changelog for mineflayer |\r\n| [examples/](https://github.com/PrismarineJS/mineflayer/tree/master/examples) | Checkout all the mineflayer examples |\r\n\r\n\r\n## Contribute\r\n\r\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) and [prismarine-contribute](https://github.com/PrismarineJS/prismarine-contribute)\r\n\r\n## Usage\r\n\r\n**Videos**\r\n\r\nA tutorial video explaining the basic set up process for a bot can be found [here.](https://www.youtube.com/watch?v=ltWosy4Z0Kw)\r\n\r\nIf you want to learn more, more video tutorials are [there,](https://www.youtube.com/playlist?list=PLh_alXmxHmzGy3FKbo95AkPp5D8849PEV) and the corresponding source codes for those bots is [there.](https://github.com/TheDudeFromCI/Mineflayer-Youtube-Tutorials)\r\n\r\n[<img src=\"https://img.youtube.com/vi/ltWosy4Z0Kw/0.jpg\" alt=\"tutorial 1\" width=\"200\">](https://www.youtube.com/watch?v=ltWosy4Z0Kw)\r\n[<img src=\"https://img.youtube.com/vi/UWGSf08wQSc/0.jpg\" alt=\"tutorial 2\" width=\"200\">](https://www.youtube.com/watch?v=UWGSf08wQSc)\r\n[<img src=\"https://img.youtube.com/vi/ssWE0kXDGJE/0.jpg\" alt=\"tutorial 3\" width=\"200\">](https://www.youtube.com/watch?v=ssWE0kXDGJE)\r\n[<img src=\"https://img.youtube.com/vi/walbRk20KYU/0.jpg\" alt=\"tutorial 4\" width=\"200\">](https://www.youtube.com/watch?v=walbRk20KYU)\r\n\r\n**Getting Started**\r\n\r\nWithout a version specified, the version of the server will be guessed automatically.\r\nWithout auth specified, the mojang auth style will be guessed.\r\n\r\n### Echo Example\r\n```js\r\nconst mineflayer = require('mineflayer')\r\n\r\nconst bot = mineflayer.createBot({\r\n  host: 'localhost', // minecraft server ip\r\n  username: 'Bot', // username to join as if auth is `offline`, else a unique identifier for this account. Switch if you want to change accounts\r\n  auth: 'microsoft' // for offline mode servers, you can set this to 'offline'\r\n  // port: 25565,              // set if you need a port that isn't 25565\r\n  // version: false,           // only set if you need a specific version or snapshot (ie: \"1.8.9\" or \"1.16.5\"), otherwise it's set automatically\r\n  // password: '12345678'      // set if you want to use password-based auth (may be unreliable). If specified, the `username` must be an email\r\n})\r\n\r\nbot.on('chat', (username, message) => {\r\n  if (username === bot.username) return\r\n  bot.chat(message)\r\n})\r\n\r\n// Log errors and kick reasons:\r\nbot.on('kicked', console.log)\r\nbot.on('error', console.log)\r\n```\r\n\r\nIf `auth` is set to `microsoft`, you will be prompted to login to microsoft.com with a code in your browser. After signing in on your browser, \r\nthe bot will automatically obtain and cache authentication tokens (under your specified username) so you don't have to sign-in again. \r\n\r\nTo switch the account, update the supplied `username`. By default, cached tokens will be stored in your user's .minecraft folder, or if `profilesFolder` is specified, they'll instead be stored there.\r\nFor more information on bot options see node-minecraft-protocol's [API doc](https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/docs/API.md#mccreateclientoptions).\r\n\r\n#### Connecting to a Realm\r\n\r\nTo join a Realm that your Minecraft account has been invited to, you can pass a `realms` object with a selector function like below.\r\n\r\n```js\r\nconst client = mineflayer.createBot({\r\n  username: 'email@example.com', // minecraft username\r\n  realms: {\r\n    // This function is called with an array of Realms the account can join. It should return the one it wants to join.\r\n    pickRealm: (realms) => realms[0]\r\n  },\r\n  auth: 'microsoft'\r\n})\r\n```\r\n\r\n### See what your bot is doing\r\n\r\nThanks to the [prismarine-viewer](https://github.com/PrismarineJS/prismarine-viewer) project, it's possible to display in a browser window what your bot is doing.\r\nJust run `npm install prismarine-viewer` and add this to your bot:\r\n```js\r\nconst { mineflayer: mineflayerViewer } = require('prismarine-viewer')\r\nbot.once('spawn', () => {\r\n  mineflayerViewer(bot, { port: 3007, firstPerson: true }) // port is the minecraft server port, if first person is false, you get a bird's-eye view\r\n})\r\n```\r\nAnd you'll get a *live* view looking like this:\r\n\r\n[<img src=\"https://prismarinejs.github.io/prismarine-viewer/test_1.16.1.png\" alt=\"viewer\" width=\"500\">](https://prismarinejs.github.io/prismarine-viewer/)\r\n\r\n#### More Examples\r\n\r\n| example | description |\r\n|---|---|\r\n|[viewer](https://github.com/PrismarineJS/mineflayer/tree/master/examples/viewer) | Display your bot world view in the browser |\r\n|[pathfinder](https://github.com/PrismarineJS/mineflayer/tree/master/examples/pathfinder) | Make your bot go to any location automatically |\r\n|[chest](https://github.com/PrismarineJS/mineflayer/blob/master/examples/chest.js) | Use chests, furnaces, dispensers, enchantment tables |\r\n|[digger](https://github.com/PrismarineJS/mineflayer/blob/master/examples/digger.js) | Learn how to create a simple bot that is capable of digging blocks |\r\n|[discord](https://github.com/PrismarineJS/mineflayer/blob/master/examples/discord.js) | Connect a discord bot with a mineflayer bot |\r\n|[jumper](https://github.com/PrismarineJS/mineflayer/blob/master/examples/jumper.js) | Learn how to move, jump, ride vehicles, attack nearby entities |\r\n|[ansi](https://github.com/PrismarineJS/mineflayer/blob/master/examples/ansi.js) | Display your bot's chat with all of the chat colors shown in your terminal |\r\n|[guard](https://github.com/PrismarineJS/mineflayer/blob/master/examples/guard.js) | Make a bot guard a defined area from nearby mobs |\r\n|[multiple-from-file](https://github.com/PrismarineJS/mineflayer/blob/master/examples/multiple_from_file.js) | Add a text file with accounts and have them all login |\r\n\r\nAnd many more in the [examples](https://github.com/PrismarineJS/mineflayer/tree/master/examples) folder.\r\n\r\n### Modules\r\n\r\nA lot of the active development is happening inside of small npm packages which are used by mineflayer.\r\n\r\n#### The Node Way&trade;\r\n\r\n> \"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\"](https://gist.github.com/substack/5075355)\r\n\r\n#### Modules\r\n\r\nThese are the main modules that make up mineflayer:\r\n\r\n| module | description |\r\n|---|---|\r\n| [minecraft-protocol](https://github.com/PrismarineJS/node-minecraft-protocol) | Parse and serialize minecraft packets, plus authentication and encryption.\r\n| [minecraft-data](https://github.com/PrismarineJS/minecraft-data) | Language independent module providing minecraft data for minecraft clients, servers and libraries.\r\n| [prismarine-physics](https://github.com/PrismarineJS/prismarine-physics) | Provide the physics engine for minecraft entities\r\n| [prismarine-chunk](https://github.com/PrismarineJS/prismarine-chunk) | A class to hold chunk data for Minecraft\r\n| [node-vec3](https://github.com/PrismarineJS/node-vec3) | 3d vector math with robust unit tests\r\n| [prismarine-block](https://github.com/PrismarineJS/prismarine-block) | Represent a minecraft block with its associated data\r\n| [prismarine-chat](https://github.com/PrismarineJS/prismarine-chat) | A parser for a minecraft chat message (extracted from mineflayer)\r\n| [node-yggdrasil](https://github.com/PrismarineJS/node-yggdrasil) | Node.js library to interact with Mojang's authentication system, known as Yggdrasil\r\n| [prismarine-world](https://github.com/PrismarineJS/prismarine-world) | The core implementation of worlds for prismarine\r\n| [prismarine-windows](https://github.com/PrismarineJS/prismarine-windows) | Represent minecraft windows\r\n| [prismarine-item](https://github.com/PrismarineJS/prismarine-item) | Represent a minecraft item with its associated data\r\n| [prismarine-nbt](https://github.com/PrismarineJS/prismarine-nbt) | An NBT parser for node-minecraft-protocol\r\n| [prismarine-recipe](https://github.com/PrismarineJS/prismarine-recipe) | Represent minecraft recipes\r\n| [prismarine-biome](https://github.com/PrismarineJS/prismarine-biome) | Represent a minecraft biome with its associated data\r\n| [prismarine-entity](https://github.com/PrismarineJS/prismarine-entity) | Represent a minecraft entity\r\n\r\n\r\n### Debug\r\n\r\nYou can enable some protocol debugging output using `DEBUG` environment variable:\r\n\r\n```bash\r\nDEBUG=\"minecraft-protocol\" node [...]\r\n```\r\n\r\nOn windows :\r\n```\r\nset DEBUG=minecraft-protocol\r\nnode your_script.js\r\n```\r\n\r\n## Third Party Plugins\r\n\r\nMineflayer is pluggable; anyone can create a plugin that adds an even\r\nhigher level API on top of Mineflayer.\r\n\r\nThe most updated and useful are :\r\n\r\n * [pathfinder](https://github.com/Karang/mineflayer-pathfinder) - advanced A* pathfinding with a lot of configurable features\r\n * [prismarine-viewer](https://github.com/PrismarineJS/prismarine-viewer) - simple web chunk viewer\r\n * [web-inventory](https://github.com/ImHarvol/mineflayer-web-inventory) - web based inventory viewer\r\n * [statemachine](https://github.com/PrismarineJS/mineflayer-statemachine) - A state machine API for more complex bot behaviors\r\n * [Armor Manager](https://github.com/G07cha/MineflayerArmorManager) - automatic armor management\r\n * [Dashboard](https://github.com/wvffle/mineflayer-dashboard) - Frontend dashboard for mineflayer bot\r\n * [PVP](https://github.com/PrismarineJS/mineflayer-pvp) - Easy API for basic PVP and PVE.\r\n * [Auto Eat](https://github.com/link-discord/mineflayer-auto-eat) - Automatic eating of food.\r\n * [Auto Crystal](https://github.com/link-discord/mineflayer-autocrystal) - Automatic placing & breaking of end crystals.\r\n * [Tool](https://github.com/TheDudeFromCI/mineflayer-tool) - A utility for automatic tool/weapon selection with a high level API.\r\n * [Hawkeye](https://github.com/sefirosweb/minecraftHawkEye) - A utility for using auto-aim with bows.\r\n * [GUI](https://github.com/firejoust/mineflayer-GUI) - Interact with nested GUI windows using async/await\r\n * [Projectile](https://github.com/firejoust/mineflayer-projectile) - Get the required launch angle for projectiles\r\n * [Movement](https://github.com/firejoust/mineflayer-movement) - Smooth and realistic player movement, best suited for PvP\r\n * [Collect Block](https://github.com/PrismarineJS/mineflayer-collectblock) - Quick and simple block collection API.\r\n\r\n But also check out :\r\n\r\n * [radar](https://github.com/andrewrk/mineflayer-radar/) - web based radar\r\n   interface using canvas and socket.io. [YouTube Demo](https://www.youtube.com/watch?v=FjDmAfcVulQ)\r\n * [auto-auth](https://github.com/G07cha/MineflayerAutoAuth) - chat-based bot authentication\r\n * [Bloodhound](https://github.com/Nixes/mineflayer-bloodhound) - determine who and what is responsible for damage to another entity\r\n * [tps](https://github.com/SiebeDW/mineflayer-tps) - get the current tps (processed tps)\r\n * [panorama](https://github.com/IceTank/mineflayer-panorama) - take Panorama Images of your world\r\n * [player-death-event](https://github.com/tuanzisama/mineflayer-death-event) - emit player death event in Mineflayer.\r\n\r\n## Projects Using Mineflayer\r\n\r\n * [Voyager](https://github.com/MineDojo/Voyager) An Open-Ended Embodied Agent with Large Language Models\r\n * [rom1504/rbot](https://github.com/rom1504/rbot)\r\n   - [YouTube - building a spiral staircase](https://www.youtube.com/watch?v=UM1ZV5200S0)\r\n   - [YouTube - replicating a building](https://www.youtube.com/watch?v=0cQxg9uDnzA)\r\n * [Darthfett/Helperbot](https://github.com/Darthfett/Helperbot)\r\n * [vogonistic/voxel](https://github.com/vogonistic/mineflayer-voxel) - visualize what\r\n   the bot is up to using voxel.js\r\n * [JonnyD/Skynet](https://github.com/JonnyD/Skynet) -  log player activity onto an online API\r\n * [MinecraftChat](https://github.com/rom1504/MinecraftChat) (last open source version, built by AlexKvazos) -  Minecraft web based chat client\r\n * [Cheese Bot](https://github.com/Minecheesecraft/Cheese-Bot) - Plugin based bot with a clean GUI. Made with Node-Webkit.\r\n * [Chaoscraft](https://github.com/schematical/chaoscraft) - Minecraft bot using genetic algorithms, see [its youtube videos](https://www.youtube.com/playlist?list=PLLkpLgU9B5xJ7Qy4kOyBJl5J6zsDIMceH)\r\n * [hexatester/minetelegram](https://github.com/hexatester/minetelegram) -  Minecraft - Telegram bridge, build on top of mineflayer & telegraf.\r\n * [PrismarineJS/mineflayer-builder](https://github.com/PrismarineJS/mineflayer-builder) - Prints minecraft schematics in survival, keeping orientation\r\n * [SilkePilon/OpenDeliveryBot](https://github.com/SilkePilon/OpenDeliveryBot) - Minecraft bot in python to deliver items from place to place.\r\n * [and hundreds more](https://github.com/PrismarineJS/mineflayer/network/dependents) - All the projects that github detected are using mineflayer\r\n\r\n\r\n## Testing\r\n\r\n### Testing everything\r\n\r\nSimply run: \r\n\r\n```bash\r\nnpm test\r\n```\r\n\r\n### Testing specific version\r\nRun \r\n\r\n```bash\r\nnpm run mocha_test -- -g <version>\r\n```\r\n\r\nwhere `<version>` is a minecraft version like `1.12`, `1.15.2`...\r\n\r\n### Testing specific test\r\nRun \r\n\r\n```bash\r\nnpm run mocha_test -- -g <test_name>\r\n```\r\n\r\nwhere `<test_name>` is a name of the test like `bed`, `useChests`, `rayTrace`...\r\n\r\n### Example\r\n\r\n```bash\r\nnpm run mocha_test -- -g \"1.18.1.*BlockFinder\"\r\n```\r\nto run the block finder test for 1.18.1\r\n\r\n## License\r\n\r\n[MIT](/LICENSE)\r\n","readmeFilename":"README.md"}