명령어는 Minecraft: Bedrock Edition이 수행하는 특별한 절차입니다. 이 절차들은 시간을 변경하는 것처럼 간단할 수도 있고 점수판을 설정하고 작동하는 것처럼 복잡할 수도 있습니다. 명령어의 종류는 매우 다양하며 명령어마다 콘텐츠를 향상시킬 수 있는 고유한 잠재력을 가지고 있습니다.
콘텐츠 크리에이터는 명령어를 사용하여 플레이어 주변 환경을 변화시키거나 반응합니다. 플레이어는 변하지 않는 월드가 아닌 명령어 시스템이 일정한 방식으로 감지하거나 대응할 수 있는 작업을 실행할 수 있습니다. 한 예로는 "유적 완성" 형식의 지도에서 플레이어가 양털 블록을 특정한 위치에 배치했는지 확인하는 것입니다.
이 튜토리얼에서는 다음과 같은 사항을 안내해 드립니다.
- 명령어가 무엇이며 사용하는 방법을 알아봅니다.
- 명령어 구문.
- 대상 선택기 및 선택기 매개 변수를 사용하는 방법을 알아봅니다.
명령어 활성화
명령어를 사용하기 전에 반드시 치트를 활성화해야 합니다. 월드를 생성하거나 기존 월드를 편집할 때 활성화할 수 있습니다. 하지만 치트를 활성화하는 경우 월드의 도전 과제가 비활성화됩니다.
치트를 활성화하면 채팅 인터페이스에서 명령어를 사용할 수 있습니다. 새로 생성된 월드에서 첫 번째 명령어 블록을 사용하려면 반드시 채팅 창에서 명령어를 실행해야 합니다. 명령어 블록을 사용하려면 동일한 메뉴에서 활성화해야 합니다. 명령어 블록은 기본 설정으로 활성화되어 있어 설정을 변경할 필요는 없습니다.
필요하지 않은 경우 기본 게임 모드를 창작 모드로 변경하면 명령어 블록을 크리에이티브 모드에서만 사용할 수 있습니다. 기본 게임 모드를 창작 모드로 설정하면 치트가 활성화됩니다.
마지막으로 "운영자 명령" 권한을 활성화해야 채팅에서 명령어를 실행하고 명령어 블록을 사용할 수 있습니다. 제작하는 월드에서 이 설정을 기본 설정으로 사용할 때 월드를 생성하거나 다른 플레이어들에게 권한을 허가하기 이전에 미리 설정을 변경해야 합니다. 월드에서 일시 정지 메뉴를 열고 플레이어 오른쪽에 있는 아이콘을 클릭하면 설정할 수 있습니다.
다양한 권한 목록이 표시됩니다. 채팅에서 명령어를 사용하거나 명령어 블록을 사용하려면 특히"운영자 명령" 권한이 활성화되어야 합니다.
채팅으로 명령어 사용하기
명령어를 채팅 기능으로 사용하는 방법을 알아봅니다. 이 문서에서는 간단한 명령어를 실행하고 구문 작성 방법을 배우고 테스트를 진행하여 명령어 블록을 사용할 준비를 합니다. 설정 및 권한을 정확히 변경했다면 채팅에 슬래시(/
)를 입력하여 다양한 명령어를 화면에 표시할 수 있습니다.
퀵 액션 버튼으로도 특정 상황(예: 시간 변경 또는 현재 날씨)에 대한 명령어를 생성할 수 있습니다.
입력을 하면 채팅 화면에 표시되는 명령어 목록이 입력한 문자에 맞춰 필터링됩니다.
tab
키를 눌러 언제든지 명령어 목록을 살펴보고 실행할 명령어를 선택할 수 있습니다. 어떤 명령어의 이름을 전부 입력하면 명령어 목록이 선택한 명령어의 구문 작성 목록으로 변경됩니다.
참고
채팅창을 열고 키보드의 위쪽 화살표를 누르면 이전에 입력했던 명령어를 확인할 수 있습니다. 같은 명령어의 변형을 몇 번이고 계속해서 입력할 때 유용합니다.
명령어 구문
모든 명령어는 다음과 같은 형식을 따릅니다.
- 채팅에서 명령어를 실행하려면 슬래시로 시작해야 합니다.
- 슬래시 뒤에 명령어 이름이 옵니다.
- 명령어 이름 뒤에는 인수가 필요한 경우 명령어 이름 뒤에 공백을 입력해야 합니다.
- 공백 다음에 명령어에 필요한 인수를 공백으로 구분하여 입력합니다.
모든 플레이어들이 볼 수 있는 메시지를 채팅창에 보내는 역할을 하는 /say
명령어를 예로 들어보겠습니다.
/say Hello World
- 이 명령어는 슬래시로 시작합니다.
- 슬래시 다음에는 명령어의 이름인 "say"가 옵니다.
- 명령어 이름 뒤에 인수가 필요하므로 이름 뒤에 공백을 입력합니다.
- 그러면
/say
에 필요한 유일한 인수가 나타납니다. 이 인수는 채팅창에 표시할 메시지입니다.
결과적으로 채팅창에 "Hello World" 가 출력됩니다.
인수
서로 다른 명령어에는 서로 다른 인수가 필요합니다.
/help
명령어는 명령어와 명령어에 해당하는 인수를 알려줍니다. 채팅에 명령어를 입력할 때 나타나는 자동 완성 기능도 같은 정보를 표시해줍니다.
예를 들어 /help testfor
명령어를 채팅으로 실행하면 /testfor
명령어가 사용할 수 있는 구문을 알려줍니다.
/testfor <victim: target>
해당 명령어가 사용할 수 있는 인수는 하나로, 존재 여부를 테스트할 대상입니다. 확인하고 싶은 플레이어의 이름을 인수로 입력하고 명령어를 실행하면 해당 이름을 가진 플레이어가 월드에 로그인한 경우 성공 메시지가 출력됩니다.
/testfor PlayerName
세 가지 기본 유형의 인수가 있습니다. 필수형, 선택형, 서술형입니다.
필수형 인수
필수형 인수는 <this>
와 같이 꺾쇠 괄호로 묶여 있습니다.
/testfor
명령어의 경우, 유일한 인수가 꺾쇠 괄호로 묶여 있으므로 필수형 인수임을 알 수 있습니다. 만약 인수를 입력하지 않으면 명령어 실행에 실패합니다. 이 유형의 인수에는 짧은 서술자가 있으며 적합한 유형을 입력해야 합니다.
/difficulty
명령어를 예로 들어보겠습니다.
/difficulty <difficulty: Difficulty>
/difficulty <difficulty: int>
`/difficulty` 명령어는 월드의 난이도를 설정하는 명령어이며 두 가지 방법으로 원하는 난이도를 지정할 수 있습니다. 입력할 내용에 대한 단서를 제공하는 텍스트가 표시됩니다. 각 줄의 콜론 뒤에 적합한 유형을 입력해야 합니다. 따라서 목록에 나열된 값("평화로움", "쉬움", "보통", "어려움") 중 하나를 입력하거나 각 난이도에 해당하는 정수(0, 1, 2, 3)를 입력해야 합니다.
다음 명령어 중 하나를 명령어를 난이도가 '어려움'으로 설정됩니다.
/difficulty hard
/difficulty 3
선택형 인수
선택형 인수는 대괄호로 묶여 있습니다. 이 인수는 입력하지 않아도 괜찮습니다. 필수형 인수처럼 서술자와 입력 유형을 가지고 있습니다.
/gamemode <gameMode: GameMode> [player: target]
/gamemode <gameMode: int> [player: target]
`/difficulty` 명령어와 마찬가지로 `/gamemode` 명령어도 두 가지 다른 방법으로 동일한 작업을 수행할 수 있습니다. "gameMode" 서술자는 입력해야 하는 값이 게임 모드라는 것을 의미하며 목록에 나열된 값("GameMode"로 분류된 값)을 입력하거나 게임 모드에 해당하는 정수(0~2)를 입력해야 합니다.
이 경우 게임 모드 뒤에 입력할 수 있는 선택형 인수가 있습니다. 게임 모드가 변경될 플레이어입니다. 입력 유형은 "target"이며 플레이어 이름이나 대상 선택기를 입력할 수 있습니다. 선택형 인수를 입력하지 않더라도 명령어는 실행됩니다. 이 경우 명령어를 실행한 플레이어의 게임 모드가 변경됩니다. 선택형 인수를 입력하면 대상의 게임 모드가 변경됩니다.
다음 명령어 중 하나를 입력하면 지정된 플레이어("PlayerName")의 게임 모드를 서바이벌 모드로 변경합니다.
/gamemode survival PlayerName
/gamemode 0 PlayerName
서술형 인수
서술형 인수는 서술자가 없는 인수입니다. 인수 자체의 이름을 입력해야 합니다. 예를 들어 /time
명령어에는 "set"이라는 인수가 있습니다.
/time set <amount: int>
/time set <time: TimeSpec>
"set" 인수에는 서술자가 없으므로 직접 서술해야 합니다. 괄호로 묶여 있지 않지만 인수를 입력해야만 합니다.
/time set 6000
/time set noon
서술형 인수는 여러 값을 입력할 수도 있습니다. 여러 값을 입력할 경우 수직 막대로 값을 구분합니다.
/weather
명령어의 경우 적용할 날씨를 인수로 사용하는데 인수들은 모두 명령어가 인식할 수 있는 값으로 입력해야 합니다.
/weather <clear|rain|thunder> [duration: int]
/weather rain 10000
선택형 서술형 인수는 대괄호로 묶습니다.
/testforblocks
의 마지막 인수는 선택형 서술형 인수로, "all" 또는 "masked"를 사용할 수 있습니다. 인수를 입력하지 않으면 "all"을 기본값으로 사용합니다. "masked" 인수는 비교 기능에서 공기 블록을 제외하며 지정한 장소에 공기 블록이 있더라도 다른 종류의 블록을 배치할 수 있게 합니다.
/testforblocks <begin: x y z> <end: x y z> <destination: x y z> [masked|all]
/testforblocks 0 64 0 20 64 20 100 50 100
/testforblocks 0 64 0 20 64 20 100 50 100 masked
입력 유형
서술형 인수가 아닌 다른 종류의 인수는 서술자 뒤에 특정한 유형의 인수를 입력해야 합니다.
/command <descriptor: type>
/command [descriptor: type]
입력 유형은 매우 다양합니다. 가장 일반적인 유형으로는 기초 숫자 값이 있으며 특정 명령어에만 쓰이는 유형도 있습니다. 아래 표에서 일반적으로 많이 쓰이는 입력 유형들과 해당 유형을 사용하는 명령어를 확인할 수 있습니다.
/gamemode
명령어의 "GameMode"처럼, 유일한 입력 유형 대부분은 채팅의 자동 완성 기능을 통해 쉽게 확인할 수 있습니다.
유형 | 설명 | 많이 쓰이는 명령어 |
---|---|---|
Boolean | 참과 거짓입니다. | /effect , /gamerule |
int | 1, 2, 3과 같은 정수입니다. | /give , /scoreboard , /time , /weather , /xp |
float | 1, 2.3, 4, 5.6과 같은 십진수입니다. | /spreadplayers |
string | '따옴표' 안에 쓰이는 단어나 문장입니다. | /scoreboard , /summon , /tag |
message | 따옴표를 쓰지 않는 문장입니다. | /me , /msg , /say , /tell , /title , /w |
x y z | 3가지 소수를 공백으로 구분하여 특정 좌표를 나타냅니다. 각 값은 물결표(~)로 쓸 수도 있으며 이는 해당 좌표축에서는 기본값의 0점에서 변경하지 않고 사용하며 물결표에 숫자를 붙인 경우(~5) 해당 좌표축에서 기본값의 0점에서 입력한 숫자만큼 떨어진 블록을 의미합니다. |
/clone , /execute , /fill , /setblock , /summon , /teleport , /testforblock |
Block | 블록의 ID입니다. | /clone , /execute , /fill , /setblock , /testforblock |
Item | 아이템의 ID입니다. | /clear , /give , /replaceitem |
EntityType | 개체 ID입니다. | /summon |
json | JSON 형식 문장입니다. | /give , /replaceitem , /summon , /tellraw , /titleraw |
target | 플레이어 이름이나 대상 선택기를 입력합니다. | /clear , /execute , /gamemode , /give , /kill , /replaceitem , /scoreboard , /tag , /teleport , /testfor |
대상 선택기
플레이어 이름을 값으로 사용하는 인수로 모든 플레이어가 사용할 수 있는 명령어 시스템에는 적합하지 않습니다. 여러분은 나중에 여러분의 콘텐츠를 사용할 플레이어의 이름을 알 수 없습니다. 대상 선택기는 플레이어나 다른 개체를 임의로 선택해 이 문제를 해결합니다.
선택기에는 5가지 기본적인 종류가 있습니다. @p
, @a
, @r
, @e
, @s
. 선택기가 선택하는 플레이어나 필요한 대상에 따라 사용합니다.
@p
: 선택기 매개 변수의x
,y
,z
로 실행 기준점이 변경되지 않은 경우 가장 가까이에 살아있는 플레이어를 선택합니다. 만약 실행기가 명령어 블록이었을 경우 명령어 블록이 실행 기준점이 되기 때문에 명령어 블록에 가장 가까이 있는 플레이어가 대상으로 선택됩니다.@a
: 모든 온라인 플레이어를 생사에 상관없이 선택합니다.@r
:type
매개 변수를 설정하지 않은 경우 무작위로 살아있는 플레이어를 선택합니다.@e
: 모든 개체(플레이어, 소, 떨어진 아이템 등)를 선택합니다.@s
:/execute
명령어로 변경이 가능한 실행할 수 있는 개체를 선택합니다.
플레이어 이름은 선택기로 대체할 수 있습니다. 예를 들어 /gamemode
명령어에 플레이어 이름을 입력하는 대신 선택기를 입력할 수 있습니다. 다음 예시는 크리에이티브 모드에서 모든 플레이어의 모드를 변경합니다.
/gamemode creative @a
만약 선택기가 대상을 찾을 수 없다면 명령어 실행에 실패합니다.
선택기 매개 변수
기본 선택기 옆에 있는 것이 매개 변수입니다. 이 선택형 매개 변수들은 대상의 범위를 줄여줍니다. 예를 들어 모험 모드에서 플레이어만 대상으로 선택하는 경우가 있습니다. 모든 매개 변수는 대괄호 안에 있으며 각 매개 변수는 쉼표로 구분됩니다. 매개 변수 이름 뒤에 등호를 입력하고 그 뒤에 매개 변수 값을 입력합니다.
@<selector>[param1=value1,param2=value2]
모험 모드에서 /gamemode
명령어의 대상을 모든 플레이어로 지정하고 싶은 경우 m
매개 변수로 모험 모드에서 선택기의 대상이 될 수 있는 개체를 줄일 수 있습니다. 모든 매개 변수의 목록은 아래에서 확인할 수 있습니다.
/gamemode creative @a[m=adventure]
대상으로 선택될 수 있는 개체는 선택되기 전에 매개 변수 조건을 충족해야 합니다. 따라서 @p[tag=sometag,m=survival]
을 사용할 경우 "sometag" 태그를 가진 서바이벌 모드의 플레이어 중 가장 가까이에 있는 플레이어가 선택됩니다.
매개 변수 목록
매개 변수 | 설명 | 예시 |
---|---|---|
x, y, z |
플레이어를 찾을 좌표를 지정합니다. 모든 축을 지정할 필요는 없습니다. | |
@p[x=0,y=64,z=0] 을 사용할 경우 실행 기준점에서 가장 가까운 플레이어가 아닌 해당 좌표와 가장 가까운 플레이어를 선택합니다. |
||
r, rm |
"x, y, z" 매개 변수를 변경하지 않는다면 실행 기준점 주변 반경 내에 있는 대상을 선택하게 됩니다.r 기준점으로부터의 최대 블록 수이고 rm 은 기준점으로부터의 최소 블록 수입니다.둘 중 하나만 지정해도 정상적으로 작동합니다. |
@p[x=0,y=64,z=0,r=1] 지정한 좌표에서 블록 1개 떨어진 플레이어를 선택합니다.@a[rm=3] 지정한 좌표에서 블록 3개 떨어진 모든 플레이어를 선택합니다.@e[rm=3,r=10] 지정한 좌표에서 블록 3개에서 10개 사이에 있는 플레이어를 선택합니다. |
dx, dy, dz |
직육면체 내부에서 대상을 선택합니다. 실행 기준점은 지도의 한 귀퉁이로 매개 변수로 기준점부터 다른 귀퉁이 방향으로 떨어진 거리를 정할 수 있습니다. 매개 변수 하나의 값이 정하고 다른 값을 정하지 않았을 경우 기본적으로 0으로 설정됩니다. |
@a[x=60,y=64,z=60,dx=5,dy=3,dz=5] 특정 좌표로부터 X축과 Z축 방향으로 5개, Y축 방향으로 3개 블록만큼 떨어진 플레이어를 선택합니다.@a[dy=50] 기준점으로부터 Y축 방향으로 50개 이내, X축과 Z축 방향으로는 0개 블록 이내에 있는 플레이어를 선택합니다. 따라서 선택되는 플레이어는 기준점과 수평한 위치에 있지만 위쪽으로 50블록 이내에 있는 플레이어입니다. |
c |
선택될 수 있는 대상의 최대 숫자를 변경합니다. 대상은 대상 선택기의 종류에 따라 선택됩니다. 매개 변수로 설정된 대상의 수보다 선택할 수 있는 대상의 수가 적을 경우, 선택기는 정상적으로 매개 변수보다 적은 대상을 선택합니다. |
@a[c=5] 모든 플레이어가 아닌 가장 가까이에 있는 플레이어 5명을 선택합니다. 월드에 플레이어가 3명 있다면 3명이 모두 선택됩니다.@p[c=100] 실행 기준점 가까이에 있는 100명의 플레이어를 선택합니다.@r[c=3] 무작위로 3명의 플레이어를 선택합니다. |
type |
개체 ID로 대상을 선택합니다. 이 매개 변수는 @a , @p 선택기에 사용할 수 없습니다. |
|
@r 과 함께 사용할 수 있으며 플레이어가 아닌 개체를 선택합니다.특정 개체를 나타내지 않는 매개 변수 값은 무효 처리되어 대상을 선택할 수 없습니다. 이 매개 변수를 여러 개 사용하면 대상의 범위를 더 좁힐 수 있지만 매개 변수가 무효가 된 경우에만 가능합니다. |
@e[type=minecraft:bat] 모든 박쥐를 선택합니다.@r[type=minecraft:cow] 소를 무작위로 선택합니다.@s[type=!minecraft:player] 플레이어가 아닌 실행 개체를 선택합니다.@r[type=!minecraft:sheep, type=!minecraft:chicken] 양과 닭을 제외한 무작위 개체를 선택합니다. |
|
m |
플레이어의 게임 모드로 대상을 선택합니다. 특정 게임 모드를 나타내지 않는 매개 변수 값은 무효 처리되어 플레이어를 선택할 수 없습니다. |
@a[m=survival] 서바이벌 모드의 모든 플레이어를 선택합니다.@a[m=!creative] 크리에이티브 모드에 있지 않은 모든 플레이어를 선택합니다. |
tag |
특정 태그(/tag 명령어로 지정)를 가진 플레이어를 선택합니다.특정 태그가 없는 대상을 선택할 경우 무효가 됩니다. 이 매개 변수를 여러 개 사용하면 대상의 범위를 더 좁힐 수 있습니다. |
@e[tag=myfriend] "myfriend" 태그가 있는 모든 개체를 선택합니다.@e[tag=!myfriend] "myfriend" 태그가 없는 모든 개체를 선택합니다.@a[tag=a,tag=b,tag=!c] "a"와 "b" 태그를 모두 가진 플레이어를 모두 선택하지만 "c" 태그를 가진 플레이어는 선택하지 않습니다. |
name |
지정된 이름(플레이어 이름 또는 개체의 사용자 지정 이름)을 가진 개체를 선택합니다. 특정 이름이 아닌 대상을 선택할 경우 무효가 됩니다. 이 매개 변수를 여러 개 사용할 수 있지만 대상을 선택한 후 남는 매개 변수는 무시됩니다. |
@a[name=PlayerName] 이름이 "PlayerName"인 모든 플레이어를 선택합니다.@a[name=!PlayerName] 이름이 "PlayerName"이 아닌 모든 플레이어를 선택합니다.@e[name=!a,name=!b] 이름이 "a" 또는 "b"가 아닌 개체를 선택합니다. |
l, lm |
경험치가 최소 경험치 레벨(lm )과 최대 경험치 레벨(l ) 사이인 플레이어를 선택합니다.둘 중 하나만 지정해도 정상적으로 작동합니다. |
@a[lm=10] 10 이상의 경험치 레벨을 가진 모든 플레이어를 선택합니다.@a[l=15] 15 이하의 경험치 레벨을 가진 모든 플레이어를 선택합니다.@a[lm=10,l=15] 경험치 레벨이 10과 15 사이인 모든 플레이어를 선택합니다. |
rx, rxm |
X 회전(경사각)이 최소 회전(rxm )과 최대 회전(rx ) 사이인 대상을 선택합니다. 개체의 경사각은 -90도(위를 바라봄)에서 90도(아래를 바라봄) 사이를 범위로 합니다.둘 중 하나만 지정해도 정상적으로 작동합니다. |
@p[rxm=45,rx=90] 45도와 90도 사이로 내려보는 플레이어를 선택합니다.@e[rx=-45] 45도와 90도 사이로 올려보는 모든 개체를 선택합니다. |
ry, rym |
Y 회전(기울임각)이 최소 회전(rym )과 최대 회전(ry ) 사이인 대상을 선택합니다. 개체의 기울임각은 -180도에서 180도 사이를 범위로 합니다.둘 중 하나만 지정해도 정상적으로 작동합니다. |
@a[rym=45,ry=135] 대략적인 서쪽을 바라보는 모든 플레이어를 선택합니다.@a[rym=-180,ry=-180] 정확히 북쪽을 바라보는 모든 플레이어를 선택합니다. |
scores |
목표에 특정 점수를 달성한 대상을 선택합니다. 중괄호를 사용하면 매개 변수에 여러 목표를 추가할 수 있으며 목표와 목표 사이는 쉼표로 구분합니다. "3..7"은 3에서 7 사이의 값을 확인할 수 있도록 ".." 표기법을 사용하여 두 포괄 값 사이의 범위를 지정할 수 있습니다. 점수 값이 지정된 목표의 값과 일치하지 않는 대상을 선택하면 무효가 됩니다. 참고로 값이 없는 경우는 무효 값과 다릅니다. |
@e[scores={objectiveA=3}] "objectiveA" 목표에서 3점을 획득한 모든 개체를 선택합니다.@a[scores={points=4,deaths=!5}] "points" 점수는 4점이면서 "deaths" 점수는 5점이 아닌 모든 플레이어를 선택합니다.@a[scores={points=10..50}] "points" 점수가 10점에서 50점 사이인 모든 플레이어를 선택합니다.@a[scores={deaths=10..,points=..2}] "deaths" 점수는 10점 이상이고 "points" 점수는 2점 이하인 모든 플레이어를 선택합니다. |
family |
개체의 minecraft:type_family 구성 요소에 정의된 대로 패밀리 유형에 속하는 대상을 선택합니다.패밀리 유형에 속하지 않는 대상을 선택하면 무효가 됩니다. 이 매개 변수를 여러 개 사용하면 대상의 범위를 더 좁힐 수 있습니다. |
@e[family=skeleton] "skeleton" 패밀리에 속하는 모든 개체를 선택합니다.@e[family=!monster] "monster" 패밀리에 속하지 않는 모든 개체를 선택합니다. |
다음 튜토리얼
이제 명령어에 대해 숙지했으니 자주 사용하는 명령어에 대해 자세히 알아보거나 어떻게 명령어 블록을 사용해 채팅창 밖에서 명령어를 실행할 수 있는지에 대해 자세히 알아보세요.
[자주 사용하는 명령어](CommandsPopularCommands.md)
[명령어 블록](CommandBlocks.md)