Hello, I am messing around with creating various things in 1.8.9 in an attempt to get a better feel for the new model system. Right now I am trying to create a basic helmet which changes the armor texture and the item texture depending on the value of the design tag in the ItemStack NBT. I have read through a few other topics on changing the item texture/model depending on the NBT or other conditions, and have found a way to do what I am trying to achieve. The way I am attempting makes use of a custom ItemMeshDefinition which allows me to change the ModelResourceLocation based on an ItemStack. The other topics I have read, along with the 1.8.9 Rendering Primer document that has been going around say that I must first bake the models using ModelLoader#registerItemVariants and passing it all the ResourceLocations pointing to my variants, and then I must use ModelLoader#setCustomMeshDefinition to apply my custom ItemMeshDefinition. I believe that I have done both of those things correctly, however my item still has the over sized block model, and the purple/black missing texture look. I have also compared my code against code found in the 1.8 port of Botania (the mana gun and other items use the same approach) however I couldn't find any differences or things I might have left out. This issue has really stumped me, and I would really appreciate it if someone could give my code a look over.
Some important notes
-Right now I have only creates json models for 3/16 of my current designs.
-The 3 designs that have json models are not listed in the console output of missing models, the other 13 are.
-The models I am using use a custom parent model to cut down on the size of my json files. This seems to be a common thing, however it is worth mentioning.
The entire source for this mod is public on GitHub however here are some other important files
Mod Class
Main Mod Class
Mesh Definition
Model Files
Item Class