Author: Aditya Banerjee Date: 2019-12-7
Pre-Built World Loading Tutorial
Loading Pre-Built Worlds
Pre-requisites: Make sure you are able to run Minecraft and the default mission before attempting this tutorial.
Aim: To load pre-built Minecraft worlds into the XML missions.
Purpose: The pre-built world can have handmade structures which will help speed up mission development by shifting some load away from the XML. It is easier to build more complex environments by hand than through the XML. It will also allow us to set environment variables and command blocks in the world and control some aspects of the mission.
sarworld is expected to be updated often, so the number attached to the name
will reflect the current version number.
x_x_x is simply the placeholder to
represent this number.
1. Download the
sar_x_x_x world from this Drive link:
Save it somewhere convenient and unzip the file.
sar_x_x_x refers to the folder you got from unzipping.
NOTE : Ensure the path to which you save this folder has no white spaces.
Documents/folder name is not allowed, but
Documents/folder_name is allowed
2. Download the
file_gen_skeleton XMLs from this Drive link:
file_gen will serve as a reference for you to use
file_gen_skeleton to get your pre-built world working.
DO NOT save it inside
This is because the entire
sar_x_x_x folder represents the Minecraft world. It is not meant to hold anything else.
I saved mine in:
/home/$USER/Documents/TOMCAT/tomcat/external/malmo/sample_missions to keep it with all the other missions
Don’t change the name after we modify it (the next step) for the sake of this tutorial.
4. Modifying the XML
The comments in the XML indicate what needs to be filled in generally, but for
the tutorial go to the line
<FileWorldGenerator src = “” />
Within the quotes specify the path to which you saved your
Again,the Minecraft world is the whole folder and not just one file inside the folder, so the path should end in:
file_gen.xml to see how I specified my path.
It is important to note here that
$USER won’t work as placeholders inside the XML
The whole path needs to be specified using
5. For now, don’t modify any of the other variables. Simply save the XML.
6. Launch Minecraft from the build directory in tomcat, and in a separate terminal from inside build
run ./bin/runMission –mission <Path to the file_gen_skeleton.xml you modified>
7. That’s it! You should be inside the world I built.
Creating A World to Load
1. Simply launch Minecraft from inside the build folder using:
2. Single player → Create new world
3. Name the world anything you want and hit create.
This next part of the step is optional.
Select modify if you want it to be flat or use a specific seed for a certain world. You can also set the game-play mode to survival or creative. These modes are the only options available during world creation, but spectator and adventure mode are available through in-game commands.
4. Just play the game!
Build monuments, buildings or anything you want.
You might even experiment with command blocks. For a list of commands and how to use them, refer to this link:
5. Once you’re done building, press Esc -> Save and Quit.
6. Navigate to
7. Wrapping Up:
You should see the world you just played on as a folder in this directory. You can now load this world.
It is possible to load the world into the XML from this saves directory itself; however it is not recommended. Many worlds will be created each time a mission is run, and this directory will become hard to manage. It is better to save it elsewhere and then load it in from that path.
I intentionally left
file_gen_skeleton as a very basic XML with no real mission elements. It is meant to serve as a foundation to build missions without needing to change or delete much.
When you’ve finished going through this documentation, you may add as much as you want to
file_gen_skeleton to implement your mission. There is no need to follow
the tutorial’s XML modification restrictions at that time.
Note however, it is better to set trivial paramaters through in-game commands while playing the world so that the XML can be more streamlined in its implementation of the mission itself. The goal of this endeavour is to move the trivial tasks of building and setting daytime etc. away from the XML.