Friday, May 19, 2017

Advanced Advancements

Minecraft 1.12 is nearly upon us, so I've taken the time recently to experiment with it (1.12-pre2) in a single-player world and see how things have changed. My conclusion? Parrots are cool and should be used as sentries to detect danger, Glazed Terracotta is hideous, and the recipe and advancements systems are pretty neat. Let's focus on that last point here, especially advancements.

The new version of the game includes a new "recipe book" in your Survival Mode inventory and in Crafting Tables, which shows recipes you've unlocked and uses your inventory to autofill a recipe in your crafting grid to simplify the crafting process. (This is great for recipes you don't use all the time, such as certain redstone components, and for new players or those who don't commit Minecraft recipes to memory) Usually, players unlock recipes as they collect the ingredients used to craft such things; for example, collecting a wood log grants the recipe for wood planks. However, for servers and worlds that have existed prior to 1.12 many of those recipes should already be unlocked, and doing so is possible with commands. I've put recipes to a vote in the server Facebook Group; since they can be granted on a per-player basis, members of Superstes Noctis can choose if they want recipes unlocked or if they'd rather earn them by scratch.

Achievements were a big deal in Minecraft up until now, but in 1.12 they're replaced by Advancements. It is my understanding that Achievement progress will not translate to Advancement progress, and it will all need to be done again; this makes sense, because there is more depth to some of the Advancements than the Achievement system ever was capable of supporting. Similar to recipes, I put Advancement unlocking by commands in the hands of the members of Superstes Noctis with the option to opt-out of pre-unlocking them if they wish.

Screenshot of SN Advancements (early progress)
The really cool thing about the new Advancements system is that it is customizable (Mojang says the recipe system will be too, likely in 1.13) meaning you can make your own additional Advancement trees on a per-world basis using JSON files. When I heard this I got very excited, so I began looking into it and doing some coding; I only know basic Java, so it involved a lot of research and a programming tool to assist me along the way. The result? Five custom Advancements for Superstes Noctis -- three of which appear to be working as planned -- specifically for the Superstes Noctis world file. (The file on the server itself, not a Resource Pack or anything. It's embedded in the world regardless of what RP players use while on the server)

Over time, I'm hoping to make even more Advancements (and get the two buggy ones I've made already also working alongside the three functional ones) with ideas from the members of Superstes Noctis. Organizing it in a tree like the system is can be a bit confusing for nonlinear advancements, so I'll need to make sure the tree doesn't get out of hand and end up looking like out-of-control vines branching all over your screen.

"display": {
"icon": {
"item": "minecraft:clock"
"title": {
"text": "Superstes Noctis","color":"white"
"description": {
"text": "Survive the Night","color":"white"
"background": "minecraft:textures/blocks/red_sand.png",
"show_toast": false,
  "announce_to_chat": false
"criteria": {
"tick": {
"requirements": [
That code mades this, the base Advancement in the SN tree.
That's the base Advancement for the SN tree, simply titled "Superstes Noctis". It may look relatively simple, but ask yourself this: how would you know what to type out like that? Even if you know Java, there is custom code from the game that you need to reference to get things done. This Advancement unlocks after a single game tick on the server, by the way, to get players access to the SN Advancements tree right away so they can start working on the other custom ones beneath this Parent file. Creating Custom Advancements is not for the faint of heart [or coding skills]. My current struggle is with some Advancements relating to killing and cooking rabbits... so yeah. Sorry Angie.

Once 1.12 goes live and Superstes Noctis is updated with it, these Custom Advancements should hopefully make gameplay more interesting in a unique way to the server. I personally am extremely excited to see how this system can be used to help, or hinder, our continuing efforts to survive the night.