한눈에 보기
- 무엇: 코드 작성기(메이크코드) '위치' 분류의 좌표 블록. 월드 좌표, 상대 좌표(~), 바라보는 방향 좌표(^)를 구별해 쓰기
- 누구: 좌표를 처음 배우는 초등 고학년~중학생. 채팅 명령·이벤트 블록을 한 번 써 본 뒤가 좋음
- 흐름: 좌표 읽기 → 블록 세 가지 → 순간이동 → 블록 채우기 → 시선 좌표 → 정사영·블록 복사
- 결과물: 머리 위 닭 소환, 정육면체·선·점 채우기, 달리면 부서지는 블록, 앞 3칸 블록, 방위 글자, 건축물 복사
- 좌표의 기본 개념(x·y·z, 방위)은 PART 03 건축에서도 다룹니다. 여기서는 코드 블록에서 어떻게 쓰는지에 집중합니다.
좌표 읽기: x·y·z와 방위
- 좌표 보기를 켜면 화면 왼쪽 위에
위치: x, y, z가 나오고, 움직일 때마다 값이 바뀜 - y = 높이: 블록을 쌓아 올라가면 커지고, 땅을 파고 내려가면 0을 지나 음수(−)가 됨
- x = 동(+)·서(−), z = 남(+)·북(−). 0을 지나 반대쪽으로 가면 빼기(−)가 붙음
- x·z는 내가 바라보는 방향이 아니라 월드에 고정된 축. 직접 걸어 보며 어느 값이 바뀌는지 확인하기


좌표 블록 세 가지: 월드·상대(~)·바라보는 방향(^)
| 종류 | 블록 표기 | 기준 |
| 월드 좌표 | 월드 0 0 0 | 월드의 고정된 위치 |
| 상대 좌표 | `~0 ~0 ~0` | 플레이어 위치(x 동서, y 위아래, z 남북) |
| 바라보는 방향 | `^0 ^0 ^0` | 플레이어 시선(왼쪽, 위, 앞) |
| 바라보는 축 | right · above · in front | 시선과 가장 가까운 축 (대각선이어도 축 방향으로 보정) |


월드 좌표와 상대 좌표로 순간이동
- 좌표 칸은 기본이 물결(~) = 상대 좌표. 월드 좌표로 가려면 '월드' 좌표 블록을 끼움
- 월드 좌표: 가고 싶은 곳(예: 암석)의 좌표를 기억해 두었다가 그대로 입력 → 늘 같은 곳으로
- 상대 좌표: 지금 내 자리에서 몇 칸.
~2 ~2 ~2는 x·y·z로 2칸씩 간 곳 ~0 ~10 ~0= 내 머리 위 10칸,~0 ~-10 ~0= 10칸 아래
다음 채팅명령어를 입력하면 "go"
teleport to world 9 2 8 ← 월드 좌표: 기억해 둔 장소
teleport to ~2 ~2 ~2 ← 상대 좌표: 지금 위치에서 2칸씩


상대 좌표 예제: 닭 소환과 정육면체 채우기
- 예제 1 닭 소환: 채팅명령어 3 → 동물(닭) 소환 / 위치
~0 ~10 ~0= 내 머리 위 10칸 / 숫자를 바꿔 앞·옆으로 옮겨 보기 - 예제 2 정육면체 채우기: 블록 채우기: 시작
~1 ~1 ~1→ 끝~20 ~20 ~20/ 시작점·끝점에 다른 블록을 놓아 범위를 눈으로 확인



블록 채우기: 시작 좌표와 끝 좌표
- 블록 채우기 = 시작 좌표부터 끝 좌표까지를 직육면체 모양으로 가득 채우기
- '채팅명령어를 입력하면' 블록의 ⊕를 눌러 변수 가로·높이·세로를 받음 → 채팅에
go 3 3 3 - 가운데 값(y)이 높이. 4 5 6을 넣으면 가로 4, 높이 5, 세로 6
- 시작
~1 ~1 ~1은 나로부터 한 칸씩 떨어진 곳, 끝은~가로 ~높이 ~세로 - 다른 예: 꽃밭 = 파란색 난초로 시작
~1 ~0 ~1→ 끝~10 ~0 ~10, 10×10 (자막 ‘y는 높이라 0, 시작 1 끝 10’과 결과 10칸 기준 · 4:39 장면)
다음 채팅명령어를 입력하면 "go" (가로) (높이) (세로)
블록 채우기: [블록]
시작 ~1 ~1 ~1
끝 ~가로 ~높이 ~세로
교체하기


선과 점으로 좌표 확인하기
- 시작은 모두
~1 ~1 ~1. 끝 좌표에서 한 칸만 변수로 두면 그 축으로 한 줄 - 색이 다른 셜커 상자로 채워 어느 값이 어느 방향인지 눈으로 구별
| 모양 | 색 | 끝 좌표 |
| 가로선 | 초록 | `~가로 ~1 ~1` |
| 높이선 | 노랑 | `~1 ~높이 ~1` |
| 세로선 | 파랑 | `~1 ~1 ~세로` |
| 한 점 | 검정 | `~1 ~1 ~1` (시작과 같으면 블록 하나) |


블록 채우기 옵션: 블록파괴왕
- 이벤트 '플레이어가 [달리고] 있으면 실행' → 걸을 때는 안 되고 달릴 때만 실행
- 공기로 내 주변(시작
~5 ~0 ~5→ 끝~-5 ~5 ~-5)을 채워 달리면서 지형을 부숨 - 파괴하기: 손으로 캔 것처럼 아이템이 떨어짐 / 교체하기: 아이템 없이 그냥 사라짐
- 유지하기: 원래 블록은 두고 빈 곳(공기)에만 채움 → 바닥
~5 ~-1 ~5→~-5 ~-1 ~-5에메랄드 블록 - 비우기·외곽선 옵션은 모양 만들기 튜토리얼에서 다룸



상대 좌표로 방위 글자 세우기
- 동 = x+, 서 = x−, 남 = z+, 북 = z−. 채팅
compass로 내 주변 20칸에 글로우스톤 글자 E·W·N·S - 처음엔 along이 모두 West (negative X)라 글자가 뒤집혀 보이거나 안 보임 → along을 고치는 디버깅
- 빌더(builder)는 화면에 보이지 않아 앞뒤를 알 수 없음 → 방위를 알아야 face 블록으로 방향을 정할 수 있음
- 예전 버전 화면(Code Connection, 영문 블록). 지금 코드 작성기의 블록 이름은 다를 수 있음
on chat command "compass"
print "E" of 글로우스톤 at ~20 ~0 ~0 along South (positive Z)
print "W" of 글로우스톤 at ~-20 ~0 ~0 along South (positive Z)
print "N" of 글로우스톤 at ~0 ~0 ~-20 along East (positive X)
print "S" of 글로우스톤 at ~0 ~0 ~20 along West (negative X)


변수에 랜덤 위치 담기: 좀비 피그맨
- 돼지 주변에 번개가 치면 좀비 피그맨이 됨 → 돼지와 번개는 같은 위치여야 함
- '위치' 변수에 랜덤 수(0~20)를 저장하고, 두 소환 블록의 x 칸에 같은 변수를 넣음
- 평화로움에서는 좀비 피그맨이 나오지 않아 난이도를 먼저 바꿈
- 반복 횟수를 늘려 더 많이 만들어 보기(영상 4:23 장면에서 횟수를 늘림)
다음 채팅명령어를 입력하면 "피그맨"
난이도 설정하기: 기본
반복(repeat): 10 회
위치 값 랜덤 선택(정수): 0 ~ 20 저장
소환 동물 [돼지] 를 위치 ~위치 ~0 ~0
소환 마법 발사 [라이트닝 볼트] 를 위치 ~위치 ~0 ~0

바라보는 방향 좌표 두 가지: 앞으로 3칸
- 철제 삽 → 파란 블록
right 0 above 0 in front 3: 바라보는 방향과 가장 가까운 축의 앞 3칸, 늘 수평 - 곡괭이 → 빨간 블록
^0 ^0 ^3: 시선 그대로 3칸 앞. 위를 보면 공중, 아래를 보면 땅 쪽 - 대각선을 보면 첫 번째 블록은 조금이라도 더 가까운 축 쪽에 놓임(가운데는 없음)
- 활동: 방향을 바꿔 가며 블록이 어디에 생길지 먼저 말하고 확인하기
만약 아이템 [철제 삽] 사용하면
[파란 블록] right 0 above 0 in front 3 에 놓기
만약 아이템 [곡괭이] 사용하면
[빨간 블록] ^0 ^0 ^3 에 놓기



바라보는 방향 예제: 레일과 번개
- 바라보는 축 기준: 앞 1칸부터 100칸까지 선 모양 레일(아래는 레드스톤 블록, 위는 레일). 대각선을 봐도 가까운 축 방향으로 곧게 생성
- 바라보는 기준 상대 좌표: 철삽을 들고 오른쪽 클릭 → 시선 앞 10칸(
^0 ^0 ^10)에 번개 - 숫자는 플레이어 기준 왼쪽·위·앞으로 얼마나 떨어졌는지





정사영 위치와 spreadplayers
- 정사영 위치 = 그 자리에서 곧장 아래로 내려가 처음 만나는 디딜 수 있는 바닥면. x·z는 그대로, y만 바뀜
- 예: 실제 위치
-434 109 -410→ 정사영 위치-434 83 -410, 정사영 위치로 텔레포트하면 바닥에 도착 - 수학의 입체도형 '정사영'과 비슷한 뜻
/spreadplayers는 x·z만 받고 y가 없음 → 대상을 정사영 위치(바닥) 위에 흩뿌림- 영상: 내 위치 기준, 거리 1·범위 20(다음엔 10), 대상 모든 엔티티 → 공중에 떠 있던 플레이어도 바닥으로
다음 채팅명령어를 입력하면 "1"
채팅창에 말하기: 연결한 문자열 "실제위치" (플레이어 절대좌표)
채팅창에 말하기: 연결한 문자열 "정사영위치" (정사영 위치 (플레이어 절대좌표))
다음 좌표로 텔레포트: 정사영 위치 (플레이어 절대좌표)
/spreadplayers <x: value> <z: value> <spreadDistance: float> …



블록 복사: 월드 좌표로 범위 잡기
- 원본의 시작·끝은 월드 좌표가 편함. 건축물 두 모서리의 좌표를 메모해 넣기
- 시작점 = x·z가 작은 모서리, 끝점 = x·z가 +로 커지는 반대 모서리. 다리까지 들어가게 여유 있게
- 목적지
~0 ~0 ~0= 내 위치 → 내가 선 자리가 원본 시작점 자리가 됨 - '복사할 블록'을 고르는 블록 복사도 있음: 범위 안의 고른 블록(예: 파란색 난초)만 복사
다음 채팅명령어를 입력하면 "1"
블록 복사하기: 시작 월드 34 62 87
끝 월드 50 77 104
목적지 ~0 ~0 ~0
마스크설정 교체하기
복사설정 기본


블록 복사 옵션과 실행이 안 될 때
| 설정 | 옵션 | 하는 일 |
| 마스크설정 | 교체하기 | 공기 블록까지 모두 복사 (목적지 배경이 공기로 덮일 수 있음) |
| 마스크설정 | 마스크 | 공기 블록을 빼고 복사 (배경을 지킴) |
| 복사설정 | 기본 | 원본과 겹치는 곳이면 실행하지 않아 원본을 지킴 |
| 복사설정 | 이동 | 원본을 지우고 옮김 (실수 위험 → 복사 후 원본을 지우기 권장) |
| 복사설정 | 덮어쓰기 | 원본이 망가져도 덮어 씀 |

수업 팁
- 상대 좌표의 x·z는 시선이 아니라 월드 축. '앞·오른쪽'으로만 설명하면 바라보는 방향에 따라 다르게 보이므로, 방위 글자(N·S·E·W)를 세워 두고 시작
- 상대 좌표 y를 0으로 두고 텔레포트하면 캐릭터 키(2칸) 때문에 블록에 낄 수 있음
- 채우기·복사 범위는 시작점과 끝점에 색이 다른 블록을 놓아 눈으로 먼저 확인
- 결과를 먼저 예측해 말하거나 종이에 그린 뒤 실행해 비교하기
- 좀비 피그맨처럼 적대적인 몹을 만드는 실습은 크리에이티브 모드에서
- 영상 일부는 예전 버전(Code Connection·영문 블록) 화면입니다. 지금 코드 작성기에서는 블록 이름·모양이 다를 수 있습니다.