#Minecraft Agent
A perception and action interface and HTN planner for solving 'puzzle rooms' in the Minecraft world. Uses Spockbot, a high-level Python client for the Minecraft server, and PyHop, a Python-based HTN planner created by Dana Nau and based on SHOP2. The minecraft-agent project was originally developed as part of Google Summer of Code 2015. That code is now part of a separate project, currently developed by OpenCog at opencog-to-minecraft.
##Prerequisites
####Ubuntu http://www.ubuntu.com
Recommended: Ubuntu Trusty (14.04).
####Minecraft server https://minecraft.net/download
Installation instructions for the Minecraft server are here
You can also choose other Minecraft server managers. Code has not been tested with the integrated server used in single player.
####Spock version 0.1.3
A python API to connect with Minecraft server.
The original repository, under heavy development, can be found here
A fixed state used for my projects is on my public GitHub here
##Contents
/utils
contains utility files for movement, perception, and sensation plugins. It also has constants that are used throughout the code base.
/worlds
contains Minecraft test worlds. Note worlds were simply edited to remove chunk data in a certain radius around the spawn 'island'. Terrain still exists beyond this radius.
##Steps to run
-
add the following to your PYTHONPATH:
/path_to_minecraft-agent/
-
Start the Minecraft Server. This step will differ depending on how you chose to set it up.
-
Run
test_agent.py
. You should see the bot appear in your Minecraft world. If you don't see it right away, a 'spawn' message should still appear in the chat dialogue, along with its coordinates. -
If the bot is not inside the given room, teleport it by typing the command into the chat dialogue box:
/tp Bot x, y, z
. -
Place a block of gold in the world. The bot will invoke its planner, and then navigate to the gold.
##TODO
-
Finish documentation.
-
Add more percepts:
inventory_contents
andheld_object
.