스티브코딩

좌표 블록

월드·상대(~)·시선(^) 좌표 블록과 채우기·복사·정사영·방위 예제

개념2026-10-20 갱신

한눈에 보기

  • 무엇: 코드 작성기(메이크코드) '위치' 분류의 좌표 블록. 월드 좌표, 상대 좌표(~), 바라보는 방향 좌표(^)를 구별해 쓰기
  • 누구: 좌표를 처음 배우는 초등 고학년~중학생. 채팅 명령·이벤트 블록을 한 번 써 본 뒤가 좋음
  • 흐름: 좌표 읽기 → 블록 세 가지 → 순간이동 → 블록 채우기 → 시선 좌표 → 정사영·블록 복사
  • 결과물: 머리 위 닭 소환, 정육면체·선·점 채우기, 달리면 부서지는 블록, 앞 3칸 블록, 방위 글자, 건축물 복사
  • 좌표의 기본 개념(x·y·z, 방위)은 PART 03 건축에서도 다룹니다. 여기서는 코드 블록에서 어떻게 쓰는지에 집중합니다.

좌표 읽기: x·y·z와 방위

  • 좌표 보기를 켜면 화면 왼쪽 위에 위치: x, y, z 가 나오고, 움직일 때마다 값이 바뀜
  • y = 높이: 블록을 쌓아 올라가면 커지고, 땅을 파고 내려가면 0을 지나 음수(−)가 됨
  • x = 동(+)·서(−), z = 남(+)·북(−). 0을 지나 반대쪽으로 가면 빼기(−)가 붙음
  • x·z는 내가 바라보는 방향이 아니라 월드에 고정된 축. 직접 걸어 보며 어느 값이 바뀌는지 확인하기
① 위치 0, 1, 0 = X Y Z 순서 (03:29)
① 위치 0, 1, 0 = X Y Z 순서 (03:29)
② 플레이어 기준 N 쪽이 −z (00:21)
② 플레이어 기준 N 쪽이 −z (00:21)

좌표 블록 세 가지: 월드·상대(~)·바라보는 방향(^)

종류 블록 표기 기준
월드 좌표 월드 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칸씩
① 상대 좌표 ~2 ~2 ~2 와 월드 좌표 9 2 8 블록 (06:04)
① 상대 좌표 ~2 ~2 ~2 와 월드 좌표 9 2 8 블록 (06:04)
② ~0 ~10 ~0 = 나의 머리 위 10칸 (03:33)
② ~0 ~10 ~0 = 나의 머리 위 10칸 (03:33)

상대 좌표 예제: 닭 소환과 정육면체 채우기

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

블록 채우기: 시작 좌표와 끝 좌표

  • 블록 채우기 = 시작 좌표부터 끝 좌표까지를 직육면체 모양으로 가득 채우기
  • '채팅명령어를 입력하면' 블록의 ⊕를 눌러 변수 가로·높이·세로를 받음 → 채팅에 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
    끝   ~가로 ~높이 ~세로
    교체하기
① 가로·높이·세로 변수를 받는 블록 채우기 (02:14)
① 가로·높이·세로 변수를 받는 블록 채우기 (02:14)
② go 3 3 3 → 3×3×3 정육면체 (03:16)
② go 3 3 3 → 3×3×3 정육면체 (03:16)

선과 점으로 좌표 확인하기

  • 시작은 모두 ~1 ~1 ~1. 끝 좌표에서 한 칸만 변수로 두면 그 축으로 한 줄
  • 색이 다른 셜커 상자로 채워 어느 값이 어느 방향인지 눈으로 구별
모양 색 끝 좌표
가로선 초록 `~가로 ~1 ~1`
높이선 노랑 `~1 ~높이 ~1`
세로선 파랑 `~1 ~1 ~세로`
한 점 검정 `~1 ~1 ~1` (시작과 같으면 블록 하나)
① 셜커 상자 색마다 끝 좌표를 하나씩 바꾼 코드 (04:15)
① 셜커 상자 색마다 끝 좌표를 하나씩 바꾼 코드 (04:15)
② 가로·높이·세로 선과 한 점이 겹친 결과 (06:42)
② 가로·높이·세로 선과 한 점이 겹친 결과 (06:42)

블록 채우기 옵션: 블록파괴왕

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

상대 좌표로 방위 글자 세우기

  • 동 = 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)
  • 고친 뒤의 along 값은 영상 13:47 화면 기준(처음엔 넷 다 West였고, 11:24부터 고침)
① print 블록: 글자·블록·위치·방향 (07:19)
① print 블록: 글자·블록·위치·방향 (07:19)
② along 값이 맞지 않아 뒤집혀 보이는 글자 (10:02)
② along 값이 맞지 않아 뒤집혀 보이는 글자 (10:02)

변수에 랜덤 위치 담기: 좀비 피그맨

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

바라보는 방향 좌표 두 가지: 앞으로 3칸

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

바라보는 방향 예제: 레일과 번개

  • 바라보는 축 기준: 앞 1칸부터 100칸까지 선 모양 레일(아래는 레드스톤 블록, 위는 레일). 대각선을 봐도 가까운 축 방향으로 곧게 생성
  • 바라보는 기준 상대 좌표: 철삽을 들고 오른쪽 클릭 → 시선 앞 10칸(^0 ^0 ^10)에 번개
  • 숫자는 플레이어 기준 왼쪽·위·앞으로 얼마나 떨어졌는지
선 모양 레일 코드
선 모양 레일 코드
앞으로 곧게 생긴 레일
앞으로 곧게 생긴 레일
철삽을 쓰면 시선 앞 10칸에 번개
철삽을 쓰면 시선 앞 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> …
① 실제 위치와 정사영 위치를 채팅에 보여 주는 코드 (00:28)
① 실제 위치와 정사영 위치를 채팅에 보여 주는 코드 (00:28)
② 정사영 위치로 텔레포트하면 바닥면에 도착 (01:18)
② 정사영 위치로 텔레포트하면 바닥면에 도착 (01:18)
③ spreadplayers로 엔티티가 바닥 위에 퍼진 모습 (02:29)
③ spreadplayers로 엔티티가 바닥 위에 퍼진 모습 (02:29)

블록 복사: 월드 좌표로 범위 잡기

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

블록 복사 옵션과 실행이 안 될 때

설정 옵션 하는 일
마스크설정 교체하기 공기 블록까지 모두 복사 (목적지 배경이 공기로 덮일 수 있음)
마스크설정 마스크 공기 블록을 빼고 복사 (배경을 지킴)
복사설정 기본 원본과 겹치는 곳이면 실행하지 않아 원본을 지킴
복사설정 이동 원본을 지우고 옮김 (실수 위험 → 복사 후 원본을 지우기 권장)
복사설정 덮어쓰기 원본이 망가져도 덮어 씀
- **실행이 안 되는 두 가지 이유**: ① 너무 멀리 가서 명령을 실행한 청크 범위를 벗어남 ② (교체하기·기본) 붙여 넣을 곳이 원본과 겹침 - 영상의 추천: 원본을 지키는 **교체하기 + 기본**. 마스크 + 기본은 원본 위치에서도 실행되어 모양이 겹쳤음(영상 시연 결과)
원본 위치에서도 덮어서 복사된 결과 (04:07)
원본 위치에서도 덮어서 복사된 결과 (04:07)

수업 팁

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

관련 영상

관련 공식 자료

함께 보기

출처

  • 유튜브 「코드작성기에 이제야 추가된 좌표 명령블록! #코드작성기튜토리얼」(2022-09-29)