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 03:59:00 +00:00
|
|
|
These can be ran by anyone, all bots will reply
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!ping - replies with "pong"
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!echo [data] - replies with "data"
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!pos - replies with position and dimension
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!afk - goes AFK with /afk
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!unafk - goes not AFK with /afk
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!error - raises an error
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!inv - prints current inventory
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!time - replies with Minecraft world time
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!count [id] - counts the number of items with that id
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!loaded - replies with the current loaded area
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!players - prints the current players
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!players clear - clears the current player list
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!objects - prints the current items on ground
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!objects clear - clears the current object list
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!mobs - prints the current mobs
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!mobs clear - clears the current mob list
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!monsters - prints the current monsters
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!villagers - prints the current villagers
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!threats - prints the dangerous monsters within 20 blocks
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!threats [num] - prints the dangerous monsters within num blocks
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
"zzz" or !zzz - bot does /afk to let others sleep
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
!tree - replies with the closest tree
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +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 03:59:00 +00:00
|
|
|
These will only run for the bot they are addressed to
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
1respawn - respawns the bot if it's dead
|
2021-03-26 22:18:46 +00:00
|
|
|
|
2021-04-19 03:59:00 +00:00
|
|
|
1gather wood - gathers wood from the world
|
|
|
|
|
|
|
|
1gather sand - gathers sand from the world
|
|
|
|
|
|
|
|
1farm wood - farms wood from a certain area
|
|
|
|
|
|
|
|
1farm sand - farms sand from a certain area
|
|
|
|
|
|
|
|
1farm wart - farms netherwart from a certain area
|
|
|
|
|
|
|
|
1farm crop - farms mature crops from a certain area
|
|
|
|
|
|
|
|
1loiter - stands still but eats, sleeps, and flees
|
|
|
|
|
|
|
|
1trade - sells items to villagers to get emeralds
|
|
|
|
|
|
|
|
1stop - stops the current job and resets bot
|
|
|
|
|
|
|
|
1drop - drops the current stack its holding
|
|
|
|
|
|
|
|
1select [id] - moves item with id into main hand
|
|
|
|
|
|
|
|
1dump [id] - drops all items matching id
|
|
|
|
|
|
|
|
1drain - drops all items in inventory
|
|
|
|
|
|
|
|
1fill [x] [y] [z] [x] [y] [z] - fills the cuboid with the block at the first coordinate
|
|
|
|
|
|
|
|
1here - bot comes to your location
|
|
|
|
|
|
|
|
1goto [x] [y] [z] - sends the bot to coordinate (x, y, z)
|
|
|
|
|
|
|
|
1close - closes the current Minecraft window
|
|
|
|
|
|
|
|
1click [slot] [button] [mode] - clicks the current window
|
|
|
|
|
|
|
|
1use - use the item it's currently holding
|
|
|
|
|
|
|
|
1interact [entity id] - interacts with that entity
|
|
|
|
|
|
|
|
### Authorized Commands
|
|
|
|
|
|
|
|
These dangerous commands can only be ran by the bot owner
|
|
|
|
|
|
|
|
1print [expression] - replies with Python eval(expression)
|
|
|
|
|
|
|
|
1exit - exits the program
|
2021-03-26 22:18:46 +00:00
|
|
|
|