Pair Brainstorm:
First, sit with your partner and brainstorm about five or six common tasks in Minecraft that
might be automated. Here are some ideas as a starting point:
• Finding temples
• Finding villages
• Finding dungeons
• Harvesting mature wheat
• Harvesting tall sugar canes
• Finding the way out of a cave
You and your partner should pick two different tasks from your list that would require the Agent
or the Builder to evaluate its environment and react differently. Try to write out, in pseudocode,
what the steps would be to accomplish each task.
Here is one example, for finding jungle temples. The Builder will fly over the treetops and
examine a given search area beneath the tree line until it finds moss stone above ground, which
is likely to be the site of a jungle temple. This is similar to the tree cover-penetrating radar that
archaeologists use to find real temples in the Amazon!
Pseudocode:
• Create a variable for steps
• Create a variable for turns
• Teleport the Builder to my position
• Ascend to 20 blocks above my position
• While a test for moss stone in an area between 20 and 15 blocks below the Builder is
negative:
o Change the number of steps by 1
o If the number of steps is greater than the search area:
▪ Alternate turning right or left based on the value of turns
▪ Reset steps to zero
▪ Flip the value of turns (i.e., if it’s true, make it false, and vice versa.)
o Move forward to search a new area
• If you have found moss stone, report your current position since moss stone above ground
level is the likely spot of a jungle temple.
You can use a similar algorithm for finding strongholds or dungeons. It is a good idea to have
the Builder report its position every so often (using a Say block) so you have an idea of where it
is and what it is doing.