fix(UC-02): arch review — furniture x/z offsets + ceiling chain fidelity

- Add x_offset/z_offset to PositionedBlock for multi-block furniture clusters
- Furniture items now spread across 2-3 positions (matching original Java code)
- Offsets multiplied by inward direction for correct corner orientation
- Fix has_ceiling_chain: only oubliette has ceiling chains (was true for all 6)
- Fix firstCornerSpecial: oubliette cauldron uses x/z offset +1 (inward diagonal)
- Update parser to read x_offset/z_offset (defaults to 0)
This commit is contained in:
NotEvil
2026-04-16 01:52:31 +02:00
parent 706172fb9a
commit 6d9d6b4b81
9 changed files with 48 additions and 28 deletions

View File

@@ -52,9 +52,9 @@
"first_corner_special": { "block": "minecraft:skeleton_skull", "y_offset": 1 },
"furniture_cluster": [
{ "block": "minecraft:lectern", "y_offset": 1 },
{ "block": "minecraft:candle[lit=true,candles=4]", "y_offset": 1 }
{ "block": "minecraft:candle[lit=true,candles=4]", "x_offset": 1, "y_offset": 1 }
],
"use_torch_lighting": true,
"has_ceiling_chain": true
"has_ceiling_chain": false
}
}

View File

@@ -50,10 +50,10 @@
],
"furniture_cluster": [
{ "block": "minecraft:powder_snow_cauldron[level=3]", "y_offset": 1 },
{ "block": "minecraft:blue_ice", "y_offset": 1 },
{ "block": "minecraft:lantern", "y_offset": 2 }
{ "block": "minecraft:blue_ice", "x_offset": 1, "y_offset": 1 },
{ "block": "minecraft:lantern", "y_offset": 2, "z_offset": 1 }
],
"use_torch_lighting": false,
"has_ceiling_chain": true
"has_ceiling_chain": false
}
}

View File

@@ -49,10 +49,10 @@
],
"furniture_cluster": [
{ "block": "minecraft:soul_campfire", "y_offset": 1 },
{ "block": "minecraft:lava_cauldron", "y_offset": 1 },
{ "block": "minecraft:gilded_blackstone", "y_offset": 1 }
{ "block": "minecraft:lava_cauldron", "x_offset": 1, "y_offset": 1 },
{ "block": "minecraft:gilded_blackstone", "y_offset": 1, "z_offset": 1 }
],
"use_torch_lighting": false,
"has_ceiling_chain": true
"has_ceiling_chain": false
}
}

View File

@@ -51,10 +51,10 @@
"wall_midpoint_blocks": [
{ "block": "minecraft:soul_lantern", "y_offset": 3 }
],
"first_corner_special": { "block": "minecraft:water_cauldron[level=3]", "y_offset": 1 },
"first_corner_special": { "block": "minecraft:water_cauldron[level=3]", "x_offset": 1, "y_offset": 1, "z_offset": 1 },
"furniture_cluster": [
{ "block": "minecraft:barrel", "y_offset": 1 },
{ "block": "minecraft:brewing_stand", "y_offset": 1 }
{ "block": "minecraft:brewing_stand", "x_offset": 1, "y_offset": 1 }
],
"use_torch_lighting": false,
"has_ceiling_chain": true

View File

@@ -43,10 +43,10 @@
"first_corner_special": { "block": "minecraft:tnt", "y_offset": 1 },
"furniture_cluster": [
{ "block": "minecraft:barrel", "y_offset": 1 },
{ "block": "minecraft:flower_pot", "y_offset": 1 },
{ "block": "minecraft:orange_terracotta", "y_offset": 1 }
{ "block": "minecraft:flower_pot", "x_offset": 1, "y_offset": 1 },
{ "block": "minecraft:orange_terracotta", "y_offset": 1, "z_offset": 1 }
],
"use_torch_lighting": true,
"has_ceiling_chain": true
"has_ceiling_chain": false
}
}

View File

@@ -49,10 +49,10 @@
"first_corner_special": { "block": "minecraft:sculk_catalyst", "y_offset": 1 },
"furniture_cluster": [
{ "block": "minecraft:sculk_shrieker", "y_offset": 1 },
{ "block": "minecraft:sculk_sensor", "y_offset": 1 },
{ "block": "minecraft:candle[lit=true,candles=3]", "y_offset": 1 }
{ "block": "minecraft:sculk_sensor", "x_offset": 1, "y_offset": 1 },
{ "block": "minecraft:candle[lit=true,candles=3]", "y_offset": 1, "z_offset": 1 }
],
"use_torch_lighting": false,
"has_ceiling_chain": true
"has_ceiling_chain": false
}
}