Welcome! This unit you will write code that runs inside Minecraft Education Edition. Start with the tutorials, then tackle one of two assessment tasks.
What You Will Be Doing
Unit Overview
In this unit you will be writing code that runs inside Minecraft Education Edition. Rather than placing blocks by hand, you will be programming the computer to do it for you — this is how real software developers work.
Start with the required tutorials below to get comfortable with the coding interface, then choose one of two assessment tasks. The further you push yourself, the higher your result.
Code can be written in Block code or Python. Block code is fine for most tasks. Python is required for the Extending level and is available as an optional challenge at any level.
Opening the Coding Interface
How to Get Started in Minecraft Education
1
Open Minecraft Education Edition. If prompted, sign in with your school credentials: username@stvirgils.tas.edu.au. If Minecraft is not installed, let your teacher know.
2
Create a new world using the "Blocks of Grass" template. This gives you a flat, clear space where your code is easy to see and test.
3
Once you are walking around in your world, press the C key on your keyboard to open the coding window.
4
The MakeCode editor will open — the same type of coding interface that you used with Micro:bits! Select the Chicken Rain tutorial, and then select the Block code option. You can switch to Python using the same toggle if you want to go further.
Step 1: Select the Chicken Rain tutorialStep 2: Click Chicken Rain, then choose Block code and Start Tutorial
Select “Blocks” then click “Start Tutorial”
5
You are ready to code! If you accidentally spawn too many animals, type /kill @e into the Minecraft chat window to remove them all.
Tutorial Tasks
Complete the two required tutorials in order first. Once both are done, choose any one more tutorial to explore.
REQUIRED — Complete First
🐔 Chicken Rain
Spawn mobs using code. Your coding warm-up — get comfortable with events and actions. Complete in Block code (Python optional).
REQUIRED — Complete Second
⛏ Super Digger
Use loops and coordinates to dig out large areas automatically. Key skills here appear in both assessment tasks. Complete in Block code (Python optional).
CHOOSE ONE MORE
🌸 Flower Trail
Place blocks under your feet as you walk. Good practice for coordinate-based placement and movement events.
CHOOSE ONE MORE
🌊 Sandstorm
Randomly generate objects within a defined area. Great for practising randomness, loops, and coordinate ranges.
CHOOSE ONE MORE
🏗 Any Other Tutorial
Choose any other available tutorial in the MakeCode library. Follow what interests you!
Work through progressively harder challenges. Each level builds on the last — the further you go, the higher your result.
Important: You cannot skip levels. A Consolidating result is only awarded once all Developing tasks have been completed.
Submission
Submit a PowerPoint document with one slide per completed task. Each slide should include:
A screenshot of your code (Block code or Python)
A screenshot of what it produces inside Minecraft
Slide 1
→
Slide 2
→
Slide 3
→
...
Each slide = one task. Screenshot of code + screenshot of result in Minecraft.
Block code is accepted for Developing and Consolidating levels. Python is required for Extending challenges.
Coding Progress
Developing
DEVELOPING — Lower
Stack It
Place 3 blocks stacked on top of each other, triggered by a typed command.
Triggered when the player types: stack_it
The blocks must be a stackable material
Block code OK
DEVELOPING — Upper
Make Meat
Place 1 block near you, then spawn 10 animals 5 blocks above it.
Must use a loop
Triggered when the player types: make_meat
Block code OK
Consolidating
CONSOLIDATING — Lower
Pathway
Construct a pathway 3 blocks wide that is always under your feet as you walk. Gaps are fine — computer performance affects reliability.
This only needs to work along 1 axis (X or Z)
Bonus: Can you make it follow a full 2D plane?
Look at the Flower Trail tutorial
Block code OK
CONSOLIDATING — Upper
Chicken Nugget Factory
Randomly generate chickens within a 5×5 cube. Add a slab of lava below where they land. Generate 1 chicken every 0.5 seconds.
Triggered when the player types: bring_me_nuggs
Look at the Sandstorm tutorial
Bonus ideas — try adding one or more of these:
Add a glass enclosure around the lava so the chickens fall in and cook rather than scatter
Use a pause in your loop to slow down the spawning rate so you can watch each chicken fall individually
Add a hopper or chest beneath the lava to automatically collect the dropped items
Clear a large area with air blocks first so your factory always appears in a clean space (like Super Digger)
Block code OK
Extending
EXTENDING — Lower
Nested Structure
Create the 3D structure shown below using nested for loops (loops inside loops).
Must use nested For loops
Must be written in Python
Python required
EXTENDING — Upper
Ladder Builder
Build a function that constructs the ladder shown below. The height is passed as a parameter when the player types the command in chat (e.g. ladder 9 builds a 9-block-tall ladder).
Must use a Boolean variable
Must use For loops
Height must be a parameter passed into the function
Must be written in Python
def ladder(height):
for i in range(height):
# your code here
...
When the player types ladder 9 in chat, the value 9 is assigned to the parameter height inside your function.
Python required
Submission Formatting
Level
What you need to demonstrate
Developing
Basic evidence is included. Some completed tasks have a slide, but slides may be missing either the code screenshot or the screenshot of the result in Minecraft. Little or no formatting of the slide has occurred.
Consolidating
One slide per completed task, in order. Every slide includes both a clear screenshot of the code and a screenshot of the result in Minecraft. It is easy for the reader to follow your progress from one level to the next. Formatting includes background colour, headings and/or themes.
Extending
All slides include a brief description of how the code works and any problems you solved along the way. Screenshots are cropped and readable, slides are carefully presented, and an index menu has been included at the start with hyperlinks to each of your solutions.
Digital Food Production
Design and code an automated animal or vegetable processing machine in Minecraft.
The Task
The ACME Virtual Sausage Company needs you to design a prototype system in Minecraft that simulates an automated paddock-to-butchery (or farm vegetable-to-table) machine.
Your machine needs to transform animals or vegetables into consumable form — cooked meat, processed food, and so on. How you design it is up to you.
Tip: Working in 3D can be tricky. Use the X/Z grid sheet provided here to plan the footprint of your structure on paper before writing any code.
Submission
What to Submit
A PowerPoint document containing:
Screenshots of your code (one section per slide)
Screenshots of what your machine looks like in Minecraft
A brief description of how your machine works on each slide
If using Python, include your code on the final slide
Rubric
You must achieve each level before moving to the next.
Level
What you need to demonstrate
Developing — Higher
Some aspects of the machine are coded — specifically the physical structure (walls, enclosure). The production mechanism does not need to be coded yet.
Consolidating — Low
This level can be achieved in either of the following two ways:
Option A — Digital Lego (available for students who have missed lessons or are finding the coding difficult): No code required. Design a multi-stage system built by hand — not coded. The design must have more than 2 stages (for example: water pushes an animal → animal takes fall damage → hoppers collect the output). Submit screenshots and a description in a PowerPoint. Written text or a verbal recording on your slides are both acceptable. Note: choosing this option makes a final subject result higher than a C very unlikely.
Option B — Coded: The entire build area is emptied first (as in Super Digger). Both the emptying and the building of your machine are triggered by typing Food in the chat window.
Consolidating — Mid
A glass enclosure is created with lava at the bottom. Animals are spawned above so they fall in and cook. All required evidence — screenshots of the structure and code — is in your PowerPoint. Hoppers and chests (or equivalent storage) are included to collect output.
Consolidating — High
Animals are spawned in random locations and directed into the machine. Trigger words Meat and/or Vegetables are used. A production mechanism is in place (lava, fall damage, entity cramming, etc.). Additional automation features are included. Python code is shown on the final slide.
Extending — Low
Complex models involving multiple levels of strategy, movement, and production. Creative use of code throughout. Strong evidence of working deliberately with XYZ coordinate systems.
Extending — High
The machine runs without errors. You have researched and implemented features that allow continuous food production while your player moves freely around the world. Python code is included on the final slide of your PowerPoint.
Submission Formatting
Level
What you need to demonstrate
Developing
Basic evidence is included. Some completed tasks have a slide, but slides may be missing either the code screenshot or the screenshot of the result in Minecraft. Little or no formatting of the slide has occurred.
Consolidating
One slide per completed task, in order. Every slide includes both a clear screenshot of the code and a screenshot of the result in Minecraft. It is easy for the reader to follow your progress from one level to the next. Formatting includes background colour, headings and/or themes.
Extending
All slides include a brief description of how the code works and any problems you solved along the way. Screenshots are cropped and readable, slides are carefully presented, and an index menu has been included at the start with hyperlinks to each of your solutions.
Production Mechanism Ideas
Ways to process your animals or vegetables
🔥 Lava — mobs fall into or walk over lava
💧 Water — drowning in an enclosed pool
⇩ Fall damage — drop them from a tall shaft
🧵 Suffocation — push a solid block into a mob
🧩 Magma block — standing on it deals damage
👾 Entity cramming — 24+ mobs in a 1×1 space
🐶 Natural enemy — wolves attack sheep
↔ Piston — extends to strike a mob in a tight space
Planning for 3D Construction
Before writing a single line of code, great builders plan first. This page will show you how to think about and map out your Minecraft structures like an architect.
Top-Down Design: The Floorplan
How Architects and Builders Think
When architects design a house, they do not start by drawing a 3D picture of the finished building. They start with a floorplan — a view from directly above, looking straight down. This is called a top-down design.
A floorplan shows the layout of rooms, walls, and spaces as if you sliced the building horizontally and lifted the roof off. It lets you figure out where everything sits before worrying about height.
This same approach works perfectly for coding structures in Minecraft. Plan the footprint first — then add height.
Example: Simple House Floorplan (Top-Down View)
The floorplan (left) shows exactly the same building as the 3D view (right) — just from above.
Refresher: The Cartesian Plane
Something You Have Already Met in Maths
You have already used a Cartesian plane in your maths class. It is a grid with two axes — a horizontal axis (X) and a vertical axis (Y) — that meet at a point called the origin (0, 0). Any point on the grid can be described with a pair of coordinates: (X, Y).
Standard Cartesian Plane (from Maths)
Numbers sit on the lines. The point (2, 2) is where X = 2 and Y = 2 intersect.
In a standard Cartesian plane, each number label marks a line, and a coordinate is the intersection of two lines. You will see shortly why Minecraft needs a slightly different approach.
The Minecraft XZ Floorplan Grid
Adapting the Cartesian Plane for Minecraft
In Minecraft, you do not use X and Y for your floorplan — you use X and Z. The X axis runs East–West, and the Z axis runs North–South. The Y coordinate is simply the height, which you figure out separately once the footprint is planned.
There is one important difference from the Cartesian plane you know from maths: in Minecraft, each number corresponds to a block, not a line. So the numbers should align with the gaps between grid lines, not the lines themselves. The origin (0, 0) is not a point where lines cross — it is a square (the block your player is standing on).
Your player starts at the origin. From there, positive X extends to the right (East), and positive Z extends downward on your map (South).
Minecraft XZ Floorplan Grid
Each numbered cell is a block location. Your player stands in block (0, 0). The block to the right is (1, 0), and the block directly in front (south) is (0, 1).
Key difference from the maths Cartesian plane: numbers label the gaps (blocks), not the lines. The origin is a square, not a point. This matches how Minecraft counts block positions.
Adding the Y Coordinate (Height)
Once You Have X and Z, Height Is Simple
Once you have planned your floorplan using the XZ grid, figuring out the Y coordinate is straightforward. Y is simply the height — how many blocks above the ground a block is placed.
X
East → West position on the floorplan
Z
North → South position on the floorplan
Y
Height — how many blocks above the ground
For example, to place a block 3 across, 5 forward, and 2 high, you would write: pos(3, 2, 5) in your code — that is (X, Y, Z) in Minecraft's order.
Think of Y as the layer number. Y = 0 is the ground level. Y = 1 is one block above the ground. Y = 2 is two blocks above, and so on.
Plan your XZ footprint first, then simply decide how tall each part of your structure should be.