Leaves One

Alan Richard's Blog

Minecraft Plugin Workshop Reflection


I set up a course with Tap University during the summer time this year – Minecraft Plugin Workshop (aka. Introduction to Minecraft Server Plugin Development or MSP01).

Even though the course ended up with a few of the whole class get a sound foundation of Minecraft server plugin development as well as coding in Java, there were also something that is traumatic.

The course was initially designed for those who has no knowledge of programming. Nonetheless, this was where problems happened. For it was the first time I teach online, I got no idea on what would likely go wrong, for example, I didn’t even know that my cursor would not show up during screen broadcasting because of a software issue, and students could not hear my voice through out the first recitation session. Even worse, as there were not enough lecture sessions, it was hard for programming novices be comfortable with Java programming.


Repo for the course which archived lecture slides and source codes: https://github.com/richardhyy/MSP01-2021Summer

Experience Gained

Before I started teaching, I read an article about lecturing in programming (Ten quick tips for teaching programming by Neil C. C. Brown, Greg Wilson. Source: https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1006023). The paper truly worth its weight in gold.

I emphasized on the following parts during the summer session.

  1. Use live coding
  2. Use authentic tasks
  3. Have students make predictions

Use Live Coding

Live coding took up more than half of each lecture session my in MSP01 course. Even though problems ranging from network issues to code bugs occurred from time to time, I held the believe that making mistakes is quite common in daily programming and should not be intentionally thrown away when teaching. In addition, exposing debugging and troubleshooting procedures to students is a significant benefit for them since they can get impression on how to handle errors.

Use authentic tasks

MSP01 introduced students to Java programming by giving them a “Hello World” example in Minecraft instead of white-on-black terminal. In later sessions and assignments, students were asked to program to solve real-world Minecraft “problems” such as how to award players when they actively playing in the server, and how to letting players fly by spending their experience, as well as how to give players a chance to save their experience in bank.

Have students make predictions

I kept asking students guess what would happen by altering or introducing a piece of code. In this way I teach them new knowledge or techniques on writing server plugins.


I will keep teaching MSP courses as my time permits, because not only instructing itself is enjoyable but it allows me work with students come from various regions and with differed background, and more importantly, delivering the idea that making games is as fun as playing it, which is the pushing force for me to keep active in the Minecraft community where creativity and innovation are treasured.