From 77a7524917c03f01f439ea7c3ce21a869f560dcd Mon Sep 17 00:00:00 2001 From: SysAdmin Date: Sun, 26 Apr 2026 03:03:14 +0100 Subject: [PATCH] fix(camping): swap tent panel L/R to render apex /\ not \/ Bedrock mirrors the panel geometry across the block's local X axis relative to the .geo.json, so the player's column needs panel_r and the adjacent column needs panel_l for the roof seam to peak correctly. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../camping_supplies_BP/scripts/main.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/camping-supplies-addon/camping_supplies_BP/scripts/main.js b/camping-supplies-addon/camping_supplies_BP/scripts/main.js index 24fab31..288d78d 100644 --- a/camping-supplies-addon/camping_supplies_BP/scripts/main.js +++ b/camping-supplies-addon/camping_supplies_BP/scripts/main.js @@ -167,8 +167,9 @@ function tryPlaceTent(player) { // A-frame layout: 3 long × 2 wide, single block tall. Each cross-section is a // pair of slope panels meeting at the apex on the seam between the two columns. - // w=0 is the player's column → LEFT side of the tent (panel_l). - // w=1 is one step right → RIGHT side of the tent (panel_r). + // Bedrock renders the panel geometry mirrored across the block's local X axis + // relative to a literal read of the .geo.json, so panel_r goes in the player's + // column and panel_l goes one step right to land /\ instead of \/. const blockFacing = blockFacingFor(facing); const canvasCells = []; for (let l = 0; l < 3; l++) { @@ -176,13 +177,13 @@ function tryPlaceTent(player) { x: ox + l * fx, y: oy, z: oz + l * fz, - block: TENT_PANEL_L, + block: TENT_PANEL_R, }); canvasCells.push({ x: ox + l * fx + rx, y: oy, z: oz + l * fz + rz, - block: TENT_PANEL_R, + block: TENT_PANEL_L, }); }