Seamless
Search
K

Outline Rules

Inside of the folder you just created, we are going to add JSON files for different outline rules. These rules define how outlines of different blocks merge if they are next to each other. This works recursively: if a match is found, Seamless will check again but for that block. This could go on forever! You can merge as many blocks as you want! (Well, up to 1500 blocks, but that should be enough right?)
An outline rule in its simplest form looks like this:
sunflower.json
{
"blocks": ["minecraft:sunflower"],
"directions": ["up", "down"],
"connecting_blocks": ["minecraft:sunflower"]
}
  • First we have the blocks list. This is where you put all blocks (or tags) that apply to this rule. Think of this as the block you are looking at.
  • The connecting_blocks list specifies which blocks (or tags) should be able to connect with the blocks in the blocks list.
  • The directions list contains all directions in which the rule should work. This can be north, east, south, west, up and down.
The file name can be whatever you want, but it would make sense to describe the rule.

Blockstates

Optionally, you can specify blockstates too:
door_upper.json
{
"blocks": ["#minecraft:doors"],
"blockstates": {
"half": ["upper"]
},
"directions": ["down"],
"connecting_blocks": ["#minecraft:doors"],
"connecting_blockstates": {
"half": ["lower"]
}
}
This means: any block in #doors with a state of upper for the property half, will connect to any block in #doors with a state of lower for the property half.
You can specify more than one state too, for example:
"blockstates": {
"age": ["0", "1", "2"],
"half": ["lower"]
}