Minecraft 1.13, the Update Aquatic, is releasing on July 18th. It does not only add a bunch of new content into the depths of the oceans and new commands into the hands of map makers, it also features the long-awaited standardization of names, IDs and asset names called “The Flattening”. This includes a great number of changes to Minecraft Java Edition resource packs, not only asset names.
More Info about “The Flattening” can be found here: http://minecraft.gamepedia.com/1.13/Flattening
I decided to give an overview over the changes in 1.13 on this new blog. There are automatic converters that are being worked on, but until then we will have to update our packs by hand. It is also a good practice to know and understand how resource packs work. Here are the changes to resource packs in Minecraft version 1.13:
Update: We have this converter now: https://github.com/HypixelDev/ResourcePackConverter/releases
Tip: Back-up your resource pack before updating it to 1.13 or using any update scripts!
As with every major resource pack change, the version number in the “pack.mcmeta” changed. It is now:
The folder structure of resource packs has not changed a lot in this update. The only change that was made is that the “blocks” and “items” folders inside “textures” were renamed to “block” and “item”, so made them singular. This was made to make the names consistent with the other textures folder (like “entity” instead of “entities”) and of course with the folders inside models, that have been “block” and “item” for forever.
textures/blocks > textures/block
textures/items > textures/item
File names are most likely the biggest change in this list. So many names have changed that it is impossible to make a list here. This includes texture names, model names, blockstate file names and subfolders.
- Blockstate filenames now usually match the block ID of their block.
- The same goes for models, but they often have a suffix that describes their state, for example “oak_door” and “oak_door_top”.
- Texture names try to stay consistent aswell, but of course not all blocks have their own texture and some blocks have multiple textures.
- “textures/entity/endercrystal” has been renamed to “textures/entity/end_crystal”.
My suggestion is to use rename scripts and look at the default 1.13 resource pack for reference. Here is the link to a script: ResourcePackPorter
Blockstate files are the files that tell the game which model to load for which block and blockstate. Two things have changed here: The format of the files and the actual distribution of blockstates across blocks. Let’s start with the format.
- The paths to models now start in the models folder by default. Before, they linked directly to the block folder. This means that you have to prefix all paths with “block/” now.
- The key for the default model inside “variants” is now an empty string “”. It used to be “normal”.
- The item frame blockstate now uses the variants “map=false” and “map=true” instead of “normal” and “map”.
Due to “The Flattening”, which made unlimited block IDs possible, a lot of models, which used to be blockstates, now have their own block ID and therefore their own blockstate file. For example, the flower pot models are now split up across 22 individual blockstate files instead of one.
Support for TrueType Fonts has been added in Minecraft 1.13. By default, the game still uses bitmap fonts, but they can now be combined or replaced with .ttf fonts. Which font types and files the game uses is defined in “default.json” inside “/font”.