ConnectedTexturesMod

ConnectedTexturesMod

110M Downloads

ItemOverrideList models are not handled by CTM

yrsegal opened this issue ยท 0 comments

commented

When applying a CTM texture (for example, a glowing string for a bow) to a model with overrides/predicates, the override list is completely ignored, only applying the base model.

Because all vanilla models resolve to known states (ItemOverrideLists load their targets like any other model) this is possible without having to handle arbitrary model behavior.

Example:

This override fails to work when the rod is being used. fishing_rod_overlay is emissive.

{
  "parent": "item/handheld_rod",
  "textures": {
    "layer0": "rpsideas:items/ebony_fishing_rod",
    "layer1": "rpsideas:items/fishing_rod_overlay"
  },
  "overrides": [
    {
      "predicate": {
        "cast": 1
      },
      "model": "rpsideas:item/ebony_rod_cast"
    }
  ]
}

This override succeeds, with no emissive textures involved.

{
  "parent": "item/handheld_rod",
  "textures": {
    "layer0": "rpsideas:items/psimetal_rod"
  },
  "overrides": [
    {
      "predicate": {
        "cast": 1
      },
      "model": "rpsideas:item/psimetal_rod_cast"
    }
  ]
}