分析建築的鏡像對稱程度
mc_analyze_symmetryCheck if a build region is symmetrical along the X or Z axis, and identify exactly which blocks break the symmetry for grading student work. It mirrors the region, compares blocks, and returns a symmetry score.
Instructions
檢查一塊區域是否左右(或前後)對稱,並在不對稱時指出哪幾塊不對稱。批改學生作品用這個:分數是對稱格子的比例,不是憑感覺。原理:testforblocks 只會平移比對不會鏡像,所以先用 structure save/load 的 mirror 參數做出鏡像副本,再跟原區比對。⚠️ 這會暫時寫入 scratch 指定的暫存區:流程一定先備份該區內容,比對完立刻還原;備份失敗就中止且不動世界。scratch 不可與分析區重疊,否則鏡像副本會蓋掉原始建築。區域受 structure 指令上限限制(64×384×64)。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | 分析區的對角 | |
| from | Yes | 分析區的一角 | |
| mirror | No | 鏡射軸;x 檢查左右對稱、z 檢查前後對稱、xz 兩軸都要 | x |
| scratch | Yes | 暫存區最小角;會被覆蓋後還原,不可與分析區重疊 | |
| cellsPerAxis | No | 整體不對稱時的細分粒度;每軸 n 段共 n³ 格,每格一條指令 |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| score | Yes | 0–100,對稱格子的比例 | |
| mirror | Yes | ||
| symmetric | Yes | ||
| totalCells | Yes | ||
| matchedCells | Yes | ||
| commandsIssued | Yes | ||
| asymmetricCells | Yes | ||
| scratchRestored | Yes | false 代表暫存區沒還原成功,世界被留下改動 |