Minecraft multipurpose bot
This project are based on mineflayer & PrismarineJS repository
This program is part of the 3 of this project, Each part can be run independently, The other 2 parts are minecraftLegionWebServer & minecraftLegionWebClient
I recommend using the other two modules to help the bots communicate and take commands through the WebUI.
- Install Node.js version 14+
- go to the directory which you want to install into
- run
npm i minecraftlegion
on command prompt - make a new file called config.js with the fields shown below
Edit config.js
const config = {
server: '127.0.0.1', // Minecraft Server
port: '', // Minecraft Port
masters: [{ name: 'PlayerName' }, { name: 'SecondPlayerName' }], // Is requeried for manage the bot in game, *offline mode
webServer: 'http://localhost', // minecraftLegionWebServer Web - Optional
webServerPort: '3000' // minecraftLegionWebServer PORT - Optional
}
module.exports = config
To run a single bot:
node start_bot.js BotName
To use minecraftLegionWebServer
node index.js
This method connects automatically to minecraftLegionWebServer, and via the web, you can add bots/disconnects and manage the behavior.
To manage bots vía web go to minecraftLegionWebClient to see more!
First, activate the bot attention "hi namebot" or "hi all" to start all bots simultaneously.
hi nameBot
Make the bot/s follow you.
come
Make the bot/s stand in the current position.
stay
Start memorizing the positions used to save the way to chests or patrol (get the bots to follow you around)
set start way
Save patrol, used for guard job (use command set start way
before this one)
set save patrol
For set max distance to attack mobs or players
set distance 30
For set mode (pvp / pve / none), if bots are connected to minecraftLegionWebServer it wont attack other bots
set mode pvp
Set job (Currently only finished Guard)
set job guard
To help other bots in combat (need use minecraftLegionWebServer)
set help true
to finish commands
bye
For mining xyz_start xyz_end start_horientantion vertically / horizontalle set miner x y z x y z x+ horizontally
- Guard
- Do a patrol for look near enemies
- Miner
- Make a tunel or hole
- Farmer
- Do placing plants and sapling trees
- Potatoes, Carrots, Wheat, Melon, Pumpkin, Sweet berries..
- Sapling Trees -> Woodcutter
- Breeder
- Feed animals! all types!
- When there is surplus, sacrifice the surplus
- Make an Archer Job ( During how to have this behavior similar to guard job? )
- Optimize combat Guard Job ( combat creepers, PVP, destroy shields)
- Check day/night for sleep any sleep function? Add "general config" for send all bots to sleep for all jobs
- Add Job builder! based on mineflayer-builder & Schematichs
- Add Job sorter chest, have an a bot for sort all chest
- Add "store" and "share" the chest containes, and when bot need some item go to find directly, also must be update the container chest info when any bot open/close the chest and share the rest of bots
- Add placing torchs
- Check some bugs with mining job when have a too many lava or water
- Add a robust documentation =P
- Think about chat commands, currently it is faster / comfortable with the front end, but if anyone wants to configure all boot via chat commands?
- Add back guard
Please keep calm. I'm working hard on this project :D