Minecraft Statistics DataFixer

GitHub Repo:

MinecraftStatsDataFixer

And

Website

This was initially conceived due to the work I had been doing research for Dual Stats Files DF where you can have both a [username] and a UUID file at the same time and during it I noticed how many times there were issues with statistics, no doubt due to their perceived unimportance in development besides their initial implementation.

I started with some of the issues I already knew about: unlit redstone torch ID instead of lit in 13w36a/b (1.7.2), namespace IDs after 14w06a (1.8) and the before and after of the entity renamings in 16w32a (1.11). These all were incredibly simple with it just being a simple replace though progressively getting harder: redstone torch ID from 75 to 76, the namespace IDs I used their numerical ID - I.e #0003 to minecraft:dirt - as an index into the block and item array.

There is 3 separate arrays, block ID array that has every block up to ID 177: wall_banner, this is because the IDs around this region are very sporadic so I had to include many unnecessary blocks that get added much later (Prismarine and sea lanterns, namely in 14w25a) as well as ones you cannot normally get like flowing_water.

An array of item IDs which were thankfully more sensibly laid out though the armour stand ID is earlier on due that previously being the horse saddle item which then got removed. and lastly an array specifically for music discs due to them using their own ID system that starts at 2256. All of these a pain to manually write but the final system works great.

Initially looked at the existing PDVs for statistics at the time which were

  1. The original bug said entities statistics don't work in 17w47a this is wrong and they do not upgrade from old versions until 1.13-pre3
  2. This is actually the same bug as above.

Minecraft Discontinued Features Timeline

GitHub Repo:

MCDF-DF-Timeline

And

Website