We may still need StataMappers or its replacement!
I'm dealing with blockstates including subtypes(int), facing(Direction) and status(Boolean). Removing subtypes is straightforward. Facing and status controls the appearance of the block. I decided to only keep facing and status in the blockstate, however I encoutered some problems.
In 1.12.2, my mod uses StataMapper extensively to avoid writing tons of json files (BlockState json) files and then redirect the loading of variants to my own loader.
In 1.15.2, the StataMapper has been removed and the hardcoded logic in ModelBakery::loadBlockstate(ResourceLocation) suggests that it only accepts JSON files! Which means I have to write a JSON Blockstate file for each block, flattening makes things worse as it increases the number of JSON files required.
I have three solutions, the first is to write a json blockstate file for each block, it points to a json model file, which then tell forge to use my own IModelLoader to load the model. Although it takes a lot of time, but it is still feasible.
The second is to add back the StateMapper, by the MinecraftForge Officials, it will take some effort but I definitely think it is worthwhile. I will be really appreciate if StateMapper is back!
The last one is to use IForgeTileEntity::getModelData, but some of my blocks don't have a tileEntity.