minecraft-bot/README.md

145 lines
3.3 KiB
Markdown
Raw Normal View History

2020-09-10 21:33:52 +00:00
# Minecraft Bot
## Setup
Assuming Debian / Ubuntu based distro:
```
$ sudo apt update
2021-02-21 00:08:14 +00:00
$ sudo apt install build-essential python3 python3-dev python3-pip python3-virtualenv git
2020-12-15 22:37:32 +00:00
2021-01-05 06:15:12 +00:00
$ git clone https://git.tannercollin.com/tanner/minecraft-bot.git
$ cd minecraft-bot/
2020-12-15 22:37:32 +00:00
$ bash download_mcdata.sh
2020-09-10 21:33:52 +00:00
$ virtualenv -p python3 env
$ source env/bin/activate
(env) $ pip install -r requirements.txt
```
Always make sure the virtual environment is running `(env)`.
## Running
```
(env) $ USERNAME=you@domain.com PASSWORD=supersecret SERVER=example.com python main.py
```
2021-03-26 22:18:46 +00:00
## Commands
Talking to bot (All commands can be found in "game.py" under "public commands", starting around line 494)
Use prefix (in this case, "1") to call to attention before giving command. (EX. 1ping, 1here, etc.)
2021-04-19 03:59:00 +00:00
### Public Commands
2021-03-26 22:18:46 +00:00
2021-04-19 04:18:40 +00:00
These can be ran by anyone, all bots will reply.
`!help` - prints this whole help message to console
`!help [command]` - replies in-game explaining command
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!ping` - replies with "pong"
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!echo [data]` - replies with "data"
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!pos` - replies with position and dimension
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!afk` - goes AFK with /afk
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!unafk` - goes not AFK with /afk
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!error` - raises an error
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!inv` - prints current inventory
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!time` - replies with Minecraft world time
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!count [id]` - counts the number of items with that id
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!loaded` - replies with the current loaded area
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!players` - prints the current players
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!players clear` - clears the current player list
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!objects` - prints the current items on ground
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!objects clear` - clears the current object list
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!mobs` - prints the current mobs
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!mobs clear` - clears the current mob list
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!monsters` - prints the current monsters
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!villagers` - prints the current villagers
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!threats` - prints the dangerous monsters within 20 blocks
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!threats [num]` - prints the dangerous monsters within num blocks
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`"zzz" or !zzz` - bot does /afk to let others sleep
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!tree` - replies with the closest tree
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`!block x y z` - replies what block is at (x, y, z)
2021-03-26 22:18:46 +00:00
2021-04-19 03:59:00 +00:00
### Bot-specific Commands
2021-03-26 22:18:46 +00:00
2021-04-19 04:18:40 +00:00
These will only run for the bot they are addressed to.
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`1respawn` - respawns the bot if it's dead
2021-03-26 22:18:46 +00:00
2021-04-19 04:02:51 +00:00
`1gather wood` - gathers wood from the world
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1gather sand` - gathers sand from the world
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1farm wood` - farms wood from a certain area
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1farm sand` - farms sand from a certain area
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1farm wart` - farms netherwart from a certain area
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1farm crop` - farms mature crops from a certain area
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1loiter` - stands still but eats, sleeps, and flees
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1trade` - sells items to villagers to get emeralds
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1stop` - stops the current job and resets bot
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1drop` - drops the current stack its holding
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1select [id]` - moves item with id into main hand
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1dump [id]` - drops all items matching id
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1drain` - drops all items in inventory
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1fill [x] [y] [z] [x] [y] [z]` - fills the cuboid with the block at the first coordinate
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1here` - bot comes to your location
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1goto [x] [y] [z]` - sends the bot to coordinate (x, y, z)
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1close` - closes the current Minecraft window
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1click [slot] [button] [mode]` - clicks the current window
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1use` - use the item it's currently holding
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1interact [entity id]` - interacts with that entity
2021-04-19 03:59:00 +00:00
### Authorized Commands
2021-04-19 04:18:40 +00:00
These dangerous commands can only be ran by the bot owner.
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1print [expression]` - replies with Python eval(expression)
2021-04-19 03:59:00 +00:00
2021-04-19 04:02:51 +00:00
`1exit` - exits the program
2021-03-26 22:18:46 +00:00