Skip to content

Connecting Model Type

SuperMartijn624 edited this page Jun 18, 2026 · 1 revision

Connecting Model Type

The connecting model type specifying connection conditions for connecting textures similar to how vanilla specifies materials.

The connecting model type adds two new properties; connections is a map that specifies connection predicates for each key, similar to how vanilla specifies textures. Element faces can then reference these keys with the connections property. If a face does not specify a connections key, it uses its texture key instead.

If a key is not defined in the connections property, connections from the default key will be used.

Note

Connecting models are an extension of the format for the base model type.

Below is an example of a connecting model with four different textures. In the model, the ice and lapis textures will end up using the predicates under the blue key, the dirt texture will use the predicates under the dirt key, and the stone texture will use the predicates under the default key.

{
  "loader": "fusion:model",
  "type": "connecting",
  "textures": {
    "ice": "block/oak_tiles",
    "lapis": "block/oak_tiles",
    "dirt": "block/oak_tiles",
    "stone": "block/oak_tiles",
    "particle": "#ice"
  },
  "connections": {
    "blue": [
      {
        "type": "match_block",
        "block": "ice"
      },
      {
        "type": "match_block",
        "block": "lapis_block"
      }
    ],
    "lapis": "#blue",
    "dirt": {
      "type": "is_same_block"
    },
    "default": {
      "type": "is_same_block"
    }
  },
  "elements": [
    {
      "from": [0, 0, 0],
      "to": [16, 16, 16],
      "faces": {
        "up": {
          "texture": "#ice",
          "connections": "#blue"
        },
        "down": {
          "texture": "#lapis",
          "connections": "#lapis"
        },
        "north": {
          "texture": "#dirt"
        },
        "south": {
          "texture": "#stone"
        }
      }
    }
  ]
}

For simplicity, in case the model only has one connecting texture or all textures should use the same connection predicates, the connection predicates can be specified directly under the connections property without using any connection keys. Here is such an example of an oak tiles block which connects to itself and acacia tiles:

{
  "loader": "fusion:model",
  "type": "connecting",
  "parent": "block/cube_all",
  "textures": {
    "all": "block/oak_tiles"
  },
  "connections": [
    {
      "type": "is_same_block"
    },
    {
      "type": "match_block",
      "block": "acacia_tiles"
    }
  ]
}
Connected model example

Clone this wiki locally