Changing different parts of a model's textures based on custom_model_data?

yall i need help wrapping my head around this 😭

I know you can choose the model file using Misode's Item Generator but is there a way to bypass that and choose a texture override directly? I have 4 parts of my model which each have a bunch of textures and I'm trying to figure out if I can use custom model data to select these textures directly instead of having thousands of model files.

For example, this is one model file with texture overrides- but since there are 16 instruments, 25 notes, and 9 octaves- I'll need 3,600 of these model files to achieve every combination. I'm just wondering if there is a better way using custom_model_data so I dont have to have thousands of model files.

{
  "parent": "quinnsbetternoteblocks:item/better_noteblock",
  "textures": {
    "4": "quinnsbetternoteblocks:item/better_noteblock/instrument6"
    "5": "quinnsbetternoteblocks:item/better_noteblock/note21"
    "6": "quinnsbetternoteblocks:item/better_noteblock/counter21"
    "7": "quinnsbetternoteblocks:item/better_noteblock/octave7"
  }
}

Ideally I'd have 3 floats in the custom model data like [6.0, 21.0, 7.0] which would translate through a range_dispatch to using textures for instrument6, note21, octave7, etc

Anyone know if this is possible?

Continue to help post