Skip to content
AI agent for the computer game Minecraft
Java Shell
Branch: master
Clone or download
Latest commit 3f9fe2c Oct 27, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Json2Java Oct 3, 2017
prebuilt Clean up Oct 27, 2017
scripts Clean up Oct 27, 2017
src Fix Oct 18, 2017
.gitignore unrequired Oct 3, 2017
LICENSE Initial commit Oct 3, 2017
MalmoJava.dll initSrc Sep 27, 2017 Update Oct 27, 2017
Report.pdf Add project report Oct 27, 2017
libMalmoJava.jnilib init Oct 3, 2017


In this work, we exploit the open-source framework Malmo to build an Artificial Intelligence connected to the popular computer game Minecraft. We explore planning methods with hierarchical actions to control the main character and achieve predefined goals.

Please refer to the project report for further details.

Final Result
Complex structure built by our agent


  1. Download the pre-built version 0.30.0 of Malmo, for Windows, Linux or MacOSX.

  2. Navigate to the downloaded folder and clone this repository in it.


  1. Open a Powershell and run:
Set-ExecutionPolicy -Scope CurrentUser Unrestricted

Refer to this guide for details.


  1. Run the script scripts/

Refer to this guide for details.


  1. Follow the instructions here.

Running the agent

In order to run the agent, first start a Minecraft instance and wait for it to load completely, then run the included MalmoAgent.jar with this command:

java -cp MalmoAgent.jar;. main.JavaAgent

If you wish to compile the project yourself, all of the source files are contained in this repository, including the libraries.

Original project

Johnson M., Hofmann K., Hutton T., Bignell D. (2016) The Malmo Platform for Artificial Intelligence Experimentation. Proc. 25th International Joint Conference on Artificial Intelligence, Ed. Kambhampati S., p. 4246. AAAI Press, Palo Alto, California USA.


This work is released under the MIT license. See LICENSE for more information. Notice that some dependencies are bundled with this project, but are under terms of separate licenses.

You can’t perform that action at this time.