최근 수정 시각 : 2024-12-06 22:30:51
상위 문서:
마인크래프트/명령어
1 . 개요2 . 사용법3 . 값이 될 수 있는 것4 . 대상 선택 인자 목록5 . 각 대상 선택 인자 특성6 . 용례 대상 선택 인자는 자세한 조건 하에서 개체를 선택하고자 할 때 이용할 수 있다. 인자들은 대소문자를 구분하며, 존재하지 않는 인자 값은 경고 출력 없이 무시된다. 또한 부정 인자를 지원하므로 =
뒤에 !
를 붙이면 그 인자에 해당하는 개체를 제외한 개체 가 대상이 된다. 대부분의 인자는 같은 인자를 중복하여 사용하는 것이 불가능하나 부정 인자는 중복할 수 있다. scores는 부정 인자가 불가능하다.
예시: 플레이어를 제외한 모든 개체를 죽임: /kill @e[type=!player]
게임 내부적으로 @e는 모든 엔티티를 나열한 다음 대상 선택 인자에 해당하는 엔티티만 골라 명령어를 실행하는 방식이라서 최적화 효율이 떨어진다. @s는 자기 자신만을 지칭하므로 이러한 문제에서 가장 자유롭다.@x[인자=값,인자=값,인자=값,...]
인자 뒤에 반드시 붙여서 대괄호 []
를 이용 해 써야 한다. 예를 들어, 범위를 2칸 이내로 설정하고자 한다면, @a[distance=..2]
로 쓰면 된다. 대상 선택 인자의 값 설정은 :
이 아니라 =
로 한다.
여러 인자를 동시에 쓸 땐 [type=@,name=@,gamemode=@]
와 같이 쉼표를 쓰면 된다.3. 값이 될 수 있는 것 대상 선택 인자마다 값으로 가지는 고유한 유형이 존재하며 그 목록은 다음과 같다.
수: 어느 특정한 하나의 수이다.
구간: 하나 이상의 수, 필요 시 ..
으로 정의되는 집합이다. 현재 자바에디션에서만 사용할 수 있다. 베드락 에디션의 경우 분리된 두 인자를 각각 수로 지정한다. 최소값보다 최대값이 작으면 안 된다.
예시) ..2
= (2 이하) / 6..
= (6 이상) / 4.5..9.3
= (4.5 이상 9.3 이하) / 5
= (정확히 5)
문자열: 말 그대로 특정한 단어이다. 영어를 제외한 다른 언어(한글 포함)를 포함한 문자열은 "이름"
과 같이 큰따옴표(")로 감싸야 한다. 물론 영어에 큰따옴표를 써도 된다.
예시) c
, survival
, zombie
, "홍길동"
식: 다른 식이다. 일반적으로 {식
} 형태로 쓴다. 즉 중괄호( {}
)로 식을 감싼다.
예시) {asdf=1
}, {minecraft:adventure/summon_iron_golem=true
}
4. 대상 선택 인자 목록
<colbgcolor=#47a0ff> 좌표
x=수,y=수,z=수
<colcolor=#fff> 기능
distance
이나 dx
, dy
, dz
대상 선택 인자의 기준을 설정한다.
기본값
실행 주체의 좌표
예시
x=10, y=14, z=-13
기준을 설정하는 인자이기 때문에 단독으로 사용할 수는 없다.
<colbgcolor=#47a0ff> 반지름
distance=구간
<colcolor=#fff> 기능
구의 중심을 설정했던 좌표
로, 반지름을 설정한 값 또는 구간으로 갖는 구들로 설명되는 집합을 범위로 만들어 개체가 그 범위 안에 있어야 인자에 포함시킨다.
기본값
-
예시
distance=..5
/ distance=5
/ distance=5..9
<colbgcolor=#47a0ff> 공간 범위
dx=수,dy=수,dz=수
<colcolor=#fff> 기능
설정했던 좌표
로부터 dx, dy, dz를 더한 좌표와 실행 주체의 좌표
를 두 점으로 하는 직육면체의 공간을 범위로 지정한 후, 그 범위 안에 있어야 인자에 포함시킨다.
기본값
-
예시
dx=2, dy=-3, dz=11
<colbgcolor=#47a0ff> 점수판
scores={식}
<colcolor=#fff> 식 구성
문자열(점수판 이름)=구간(점수 범위)
기능
그 개체의 점수판을 검사하여 점수가 구간 내에 있는지 확인한 후, 구간 내에 있어야 인자에 포함시킨다.
기본값
-
예시
scores={death=..1
} / scores={death=1..
}
<colbgcolor=#47a0ff> 태그
tag=문자열(태그 이름)
<colcolor=#fff> 기능
해당 태그를 갖고 있는 개체만 인자에 포함시킨다.
기본값
-
예시
tag="생존자"
/ tag=afk
tag= 으로 태그 이름을 비울 경우 태그가 없는 개체를 대상으로 적용된다.
<colbgcolor=#47a0ff> 팀
team=문자열(팀 이름)
<colcolor=#fff> 기능
해당 팀에 소속되어 있는 개체만 인자에 포함시킨다.
기본값
-
예시
team="적"
/ team=red
team= 으로 팀 이름을 비울 경우 팀이 없는 개체를 대상으로 적용된다.
<colbgcolor=#47a0ff> 수
limit=수
<colcolor=#fff> 기능
정렬된 개체 중 지정한 수만큼의 개체만 인자에 포함시킨다.
기본값
limit=2147483647
예시
limit=5
일부 명령어는 단순히 대상 선택 인자를 통해 선택하여도 대상으로 선택되지 않는 경우가 있다. 이는 대상이 단 하나만 선택되어야 할 경우인데, 이는 limit 이라는 선택 인자를 사용해 대상을 단 하나로 지정함으로써 해결할 수 있다.
예시
kill @e[type=zombie, sort=nearest, limit=2]
명령어를 사용한 위치로부터 가장 가까운 순서로 좀비 2마리를 죽인다.
tp @p @e[type=armor_stand, sort=random, limit=1]
랜덤한 아머 스탠드로 플레이어를 순간이동 시킨다.
<colbgcolor=#47a0ff> 레벨
level=구간
<colcolor=#fff> 기능
개체의 레벨이 지정한 구간 내에 포함되어야만 그 개체를 인자에 포함시킨다.
기본값
-
예시
level=15
/ level=2..3
<colbgcolor=#47a0ff> 게임모드
gamemode=문자열(모드 이름)
<colcolor=#fff> 기능
게임모드가 지정한 모드와 같은 플레이어만 인자에 포함시킨다.
기본값
-
예시
gamemode=survival
<colbgcolor=#47a0ff> 이름
name=문자열(개체 이름)
<colcolor=#fff> 기능
지정한 개체 이름을 이름으로 하고 있는 개체만 인자에 포함시킨다.
기본값
-
예시
name="홍길동"
/ name=Alex
<colbgcolor=#47a0ff> 수직 회전
x_rotation=구간
<colcolor=#fff> 기능
시선의 수직 방향 각도가 구간에 포함되어 있어야 그 개체를 인자로 포함시킨다.
기본값
-
예시
x_rotation=0..90
<colbgcolor=#47a0ff> 수평 회전
y_rotation=구간
<colcolor=#fff> 기능
시선의 수평 방향 각도가 구간에 포함되어 있어야 그 개체를 인자로 포함시킨다.
기본값
-
예시
y_rotation=0..30
<colbgcolor=#47a0ff> 개체 종류
type=문자열(개체 종류 이름)
<colcolor=#fff> 기능
개체가 지정한 종류에 포함되어 있어야 그 개체를 인자로 포함시킨다.
기본값
-
예시
type=villager
type=#skeletons
나 type=#raiders
처럼 비슷한 특성이 있는 여러 개체를 한 번에 지정할 수도 있다.
<colbgcolor=#47a0ff> 발전과제
advancements=식
식 구성
minecraft:(발전과제 분류)/(발전과제 id)=(논리값(true/false))
<colcolor=#fff> 기능
개체가 해당 발전 과제를 깨야/깨지 않아야 그 개체를 인자로 포함시킨다.
기본값
-
예시
advancements={minecraft:adventure/summon_iron_golem=true
}
<colbgcolor=#47a0ff> NBT
nbt=식
식 구성
{NBT}
<colcolor=#fff> 기능
지정한 NBT 조건을 만족하는 개체만 인자에 포함시킨다.
기본값
-
예시
nbt={OnGround:1b
}
<colbgcolor=#47a0ff> Predicate
predicate=문자열
문자열 구성
네임스페이스:ID
<colcolor=#fff> 기능
지정한 predicate에 해당하는 개체만 인자에 포함시킨다.
기본값
-
예시
predicate=namespace:asdf
데이터 팩의 일부인
Predicate 를 이용해 대상 선택 인자로 사용할 수 있다.
<colbgcolor=#47a0ff> 정렬
sort=문자열
<colcolor=#fff> 기능
limit
등으로 선정 개체 수에 한계를 두었을 때 어떤 것부터 우선적으로 선정할지 결정한다.
기본값
sort=arbitrary
예시
sort=nearest
[sort=nearest]
는 거리가 가까운 순서에 따라 정렬한다. (@p의 기본값)
[sort=furthest]
는 거리가 먼 순서에 따라 정렬한다. (c=-1)
[sort=random]
은 무작위로 정렬한다. (@r의 기본값)
[sort=arbitrary]
는 소환한 순서에 따라 정렬한다.
JE와 대상 인자 이름이 조금씩 다르며 구간으로 정의하기 보다는 수 2개로 정의하려는 경향이 있다. 또한 team
, advancements
등은 BE에 해당 기능이 없어서 대상 선택 인자로도 제공되지 않는다.
<colbgcolor=#47a0ff> 좌표
x=수,y=수,z=수
<colcolor=#fff> 기능
r
이나 dx
, dy
, dz
대상 선택 인자의 기준을 설정한다.
기본값
실행 주체의 좌표
예시
x=10, y=14, z=-13
기준을 설정하는 인자이기 때문에 단독으로 사용할 수는 없다.
<colbgcolor=#47a0ff> 반지름
r=수
, rm=수
<colcolor=#fff> 기능
구의 중심을 설정했던 좌표
로, 반지름을 설정한 구간의 블록으로 갖는 구들로 설명되는 집합을 범위로 만들어 개체가 그 범위 안에 있어야 인자에 포함시킨다.
기본값
(두 인자 중 하나를 지정한 경우)rm
=0, r
=∞
예시
rm=3, r=5
rm
은 최소 반지름, r
은 최대 반지름이다.
<colbgcolor=#47a0ff> 공간 범위
dx=수,dy=수,dz=수
<colcolor=#fff> 기능
설정했던 좌표
로부터 dx, dy, dz를 더한 좌표와 실행 주체의 좌표
를 두 점으로 하는 직육면체의 공간을 범위로 지정한 후, 그 범위 안에 있어야 인자에 포함시킨다.
기본값
-
예시
dx=2, dy=-3, dz=11
<colbgcolor=#47a0ff> 점수판
scores={식}
식 구성
문자열(점수판 이름)=구간(점수 범위)
<colcolor=#fff> 기능
그 개체의 점수판을 검사하여 점수가 구간 내에 있는지 확인한 후, 구간 내에 있어야 인자에 포함시킨다.
기본값
-
예시
scores={death=..1
} / scores={death=1..
}
<colbgcolor=#47a0ff> 태그
tag=문자열(태그 이름)
<colcolor=#fff> 기능
해당 태그를 갖고 있는 개체만 인자에 포함시킨다.
기본값
-
예시
tag="생존자"
/ tag=afk
<colbgcolor=#47a0ff> 수
c=수
<colcolor=#fff> 기능
정렬된 개체 중 지정한 수만큼의 개체만 인자에 포함시킨다.
기본값
-
예시
c=5
JE는 limit를 쓴다.
<colbgcolor=#47a0ff> 레벨
l=수
, lm=수
<colcolor=#fff> 기능
개체의 레벨이 지정한 구간 내에 포함되어야만 그 개체를 인자에 포함시킨다.
기본값
(두 인자 중 하나를 지정한 경우)lm
=0, l
=∞
예시
lm=2,l=7
lm
은 최소 수이고, l
은 최대 수이다.
<colbgcolor=#47a0ff> 게임모드
m=문자열(모드 이름) 또는 수(모드 번호)
<colcolor=#fff> 기능
게임모드가 지정한 모드와 같은 플레이어만 인자에 포함시킨다.
기본값
-
예시
m=0
JE에서는 gamemode
로 쓴다.
BE는 JE와 다르게 모드 번호 및 모드 단축 이름을 쓸 수 있다.
<colbgcolor=#47a0ff> 이름
name=문자열(개체 이름)
<colcolor=#fff> 기능
지정한 개체 이름을 이름으로 하고 있는 개체만 인자에 포함시킨다.
기본값
-
예시
name="홍길동"
/ name=Alex
<colbgcolor=#47a0ff> 수직 회전
rxm=수,rx=수
<colcolor=#fff> 기능
시선의 수직 방향 각도가 구간에 포함되어 있어야 그 개체를 인자로 포함시킨다.
기본값
(두 인자 중 하나를 지정한 경우)rxm
=0, rx
=?
예시
rxm=0, rx=90
rxm
은 최소 수직 회전이고, rx
는 최대 수직 회전이다.
<colbgcolor=#47a0ff> 수평 회전
rym=수,ry=수
<colcolor=#fff> 기능
시선의 수평 방향 각도가 구간에 포함되어 있어야 그 개체를 인자로 포함시킨다.
기본값
(두 인자 중 하나를 지정한 경우)rym
=0, ry
=?
예시
rym=0, ry=30
rym
은 최소 수평 회전이고, ry
는 최대 수평 회전이다.
<colbgcolor=#47a0ff> 개체 종류
type=문자열(개체 종류 이름)
<colcolor=#fff> 기능
개체가 지정한 종류에 포함되어 있어야 그 개체를 인자로 포함시킨다.
기본값
-
예시
type=villager
<colbgcolor=#47a0ff> 패밀리
Family=실행인자
<colcolor=#fff> 기능
1.16.100 버전에서 나온 뉴 타겟, 특정 종류의 엔티티를 대상으로 삼는다.
기본값
-
예시
family=monster
<colbgcolor=#47a0ff> 가진 아이템
hasitem={식}
<colcolor=#fff> 기능
아이템, 아이템 수량, 손에 든 것 등을 검사하여 일치하면 인자에 포함시킨다.
기본값
-
예시
hasitem={item=apple, quantity=2..}
예시: 8번 핫바에 사과 1개 ~ 5개를 둔 모든 플레이어의 다이아몬드 1개를 없애는 명령어
/clear @a[hasitem={item=apple, quantity=1..5, data=0, location=slot.hotbar, slot=8}] diamond 0 1
<colbgcolor=#47a0ff> 플레이어의 입력 가능 여부
haspermission={식}
<colcolor=#fff> 기능
카메라 상태, 움직임 상태를 감지하여 일치하면 인자에 포함시킨다.
기본값
-
예시
haspermission={camera=disabled,movement=enabled}
예시: 카메라의 입력 여부가 켜져있고 움직임의 입력 여부가 꺼져있는 모든 플레이어의 다이아몬드 1개를 없애는 명령어
/clear @a[haspermission={camera=disabled,movement=enabled}] diamond 0 1
5. 각 대상 선택 인자 특성scores
인자는 scores={"점수판 이름"=인수 범위}
형태로 사용할 수 있다.
hasitem
인자는 hasitem={"종류"=아이템 또는 수량 등}
형태로 사용할 수 있다. 종류에는 item, quantity, data, location, slot이 있다.
실행 주체로부터 반경 20블록 안에 있는 모든 플레이어를 위쪽으로 20블록만큼 텔레포트
tp @a[distance=..20] ~ ~20 ~
x=10, y=20, z=30을 기준으로 반경 20블록 안에 있는 좀비 두 마리를 위로 20블록만큼 텔레포트
execute positioned 10 20 30 as @e[distance=..20,limit=2,type=zombie] run tp @s ~ ~20 ~
x=10, y=20, z=30을 기준으로 반경 20블록 안에 있는 test 점수가 3 이상 5 이하인 좀비 두 마리를 위로 20블록만큼 텔레포트
execute positioned 10 20 30 as @e[distance=..20,limit=2,type=zombie,scores={test=3..5}] run tp @s ~ ~20 ~
가장 가까운 좀비 두 마리를 위로 20블록만큼 텔레포트
tp @e[type=zombie,sort=nearest,limit=2] ~ ~20 ~
*실행 주체와 같은 차원에 있는 모든 엔티티를 실행 주체로 텔레포트
이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.