마인크래프트/명령어
1. 개요
2. 참고
3. 종류
3.1. 클라이언트
3.1.1. 여러 플랫폼
3.1.1.1. clear
3.1.1.2. clone
3.1.1.3. defaultgamemode
3.1.1.4. difficulty
3.1.1.5. effect
3.1.1.6. enchant
3.1.1.8. experience (xp)
3.1.1.9. fill
3.1.1.10. function
3.1.1.10.1. JE 사용법
3.1.1.10.2. BE 사용법
3.1.1.11. gamemode
3.1.1.12. gamerule
3.1.1.13. give
3.1.1.14. help
3.1.1.15. kill
3.1.1.16. locate
3.1.1.17. me
3.1.1.18. particle
3.1.1.19. playsound
3.1.1.20. publish
3.1.1.21. reload
3.1.1.22. say
3.1.1.24. setblock
3.1.1.25. setworldspawn
3.1.1.26. spawnpoint
3.1.1.27. spreadplayers
3.1.1.28. stopsound
3.1.1.29. summon
3.1.1.30. tag
3.1.1.31. teleport (tp)
3.1.1.32. tell (msg/w)
3.1.1.33. tellraw
3.1.1.34. time
3.1.1.35. title
3.1.1.36. weather
3.1.2. JE 한정
3.1.2.1. advancement
3.1.2.2. attribute
3.1.2.3. bossbar
3.1.2.4. data
3.1.2.5. debug
3.1.2.7. forceload
3.1.2.8. item
3.1.2.9. locatebiome
3.1.2.10. loot
3.1.2.11. recipe
3.1.2.12. schedule
3.1.2.13. seed
3.1.2.14. spectate
3.1.2.15. team
3.1.2.16. teammsg
3.1.2.17. trigger
3.1.2.18. worldborder
3.1.3. BE 한정
3.1.3.1. alwaysday(daylock)
3.1.3.2. camerashake
3.1.3.3. connect
3.1.3.4. clearspawnpoint
3.1.3.5. event
3.1.3.6. fog
3.1.3.7. immutableworld
3.1.3.8. playanimation
3.1.3.9. replaceitem
3.1.3.10. ride
3.1.3.11. structure
3.1.3.12. testfor
3.1.3.13. testforblock
3.1.3.14. testforblocks
3.1.3.15. tickingarea
3.1.3.16. titleraw
3.1.3.17. toggledownfall
3.1.3.18. mixer
3.1.3.19. mobevent
3.1.3.20. setmaxplayers
3.1.3.21. transferserver
3.1.3.22. videostream
3.1.3.23. videostreamaction
3.1.4. EE 한정
3.2. 서버
3.2.1. ban
3.2.2. ban-ip
3.2.3. banlist
3.2.4. deop
3.2.5. kick
3.2.6. list
3.2.7. save
3.2.8. setidletimeout
3.2.9. stop
3.2.10. op
3.2.11. pardon
3.2.12. whitelist
3.3. 삭제된 명령어
3.3.1. Classic 버전
3.4. 이벤트 명령어
4. 관련 문서
1. 개요
만약 명령어를 일일이 쳐서 사용하기 귀찮다면 Minectaft Tools나 MCStacker와 같은 사이트를 이용해 보는 것도 나쁘지 않으니까 사용해보자.
2. 참고
2.1. 좌표
마인크래프트는 3D 게임이기 때문에 3차원 좌표가 지정되어 있다. X값은 동서 방향, Y값은 높이, Z값은 남북를 나타내며, 이 값들은 F3을 누르면 뜨는 디버그 스크린[1] 에서 확인 가능하다. 이러한 좌표값은 특정 위치에서 명령어를 실행해야 할 때 유용하게 사용할 수 있다. 이러한 절대 좌표 이외에도 플레이어 또는 엔티티, 명령 블록의 위치를 기준으로 하는 상대적 위치를 지정할 수 있는데, 이때는 '~'를 앞에 붙이면 된다. 예를 들어 순간이동을 하는
tp
명령어의 경우 특정 위치로 언제나 이동할 수 있고, 현재 위치에서 일정 거리를 이동하고 싶다면 ~
를 이용하면 된다.- 예) 명령어의 주체를 위로 200칸 이동할 때:
tp ~ ~200 ~
또한, 대상의 시점을 기준으로 한 상대 좌표가 있는데, ^를 써서 나타낼 수 있다.
^
를 쓸 때 X좌표는 대상의 시점으로부터 좌우, Y좌표는 대상의 시점으로부터 위아래, Z좌표는 대상의 시점으로부터 앞뒤를 나타낸다.- 예) 플레이어의 시점으로부터 두 칸 왼쪽, 다섯 칸 위쪽, 세 칸 앞쪽에 크리퍼를 소환할 때:
summon creeper ^-2 ^5 ^3
좌표가 -인 곳은 블럭 좌표와 일반 좌표가 다르다. 그 이유로는 일반 좌표가 -0 [2] 이 있기 때문에 일반 좌표에서 한 칸 더 뒤로 가야 맞는다.
2.2. 대상 선정
명령어를 작동시키는 데 필수적인 요소인
<대상>
대신 아래의 5개의 선택자 중 원하는 것 하나를 넣을 수 있다. 아래에서 설명할 '''대상 선택 인자'''를 통해 조금 더 구체적인 목표 설정이 가능하다.교육 에디션(EE) 한정으로 아래와 같은 대상 선택 인자를 사용할 수 있다.
: 자신의 에이전트@c
: 모든 에이전트@v
2.2.1. 대상 선택 인자
이것을 사용하면 특정한 대상을 선택하여 명령어를 실행할 수 있다.
2.3. 탭, 화살표 키 활용
탭(Tab) 키를 활용하면 상당히 편리하게 명령어를 작성할 수 있다. 예를 들어
tp
명령어의 경우 플레이어의 닉네임을 써야 하는 경우가 많은데, 입력하는 것이 귀찮은 경우가 많다. 이럴 경우 탭을 누를 때마다 자동으로 가능한 현재 플레이어를 검색하여 입력해주니 상당히 편리하게 사용할 수 있다.[예] 또한 한글 아이디도 지원한다. 대표적으로 좌표를 입력해야 하는 경우 F3을 눌러 좌표를 직접 입력할 필요 없이 원하는 위치에 블록을 배치하고 바라본 다음, 탭 키를 누르면 알아서 그 블록 x, y, z 순서대로 좌표가 입력된다. 특히 위치를 참조해야 하는 명령어에서 편리하게 사용할 수 있다. 단, 바라보는 블록이 공기(Air) 블록같은 블록 주변 테두리가 생기지 않는 블록일 경우 자신의 위치가 입력된다.그리고 /를 쓰고 탭을 누르면 모든 명령어가 뜬다. 또한
g
한 글자만 쓰고 탭을 누를 때마다 abc순인 gamemode, gamerule, give
의 순서대로 자동 입력된다. 다만 stat.
처럼 하위 항목이 수십 ~ 수백 개 되는 경우 로딩하여 찾는 것이 번거로우니 적당히 입력한 뒤 탭 키를 누르는 것이 좋다.슬래시를 누른 다음 위쪽 화살표 키를 누르면 이전에 사용했던 명령어가 복사된다.
2.4. JSON 문법
bossbar
, tellraw
, title
, titleraw
와 같은 일부 명령어의 경우 JSON 문법에 관한 기초적인 부분을 알아야 한다. 마인크래프트 입력 체계 특성상 JSON 문자열을 가로로 적어야 하기에 위 문서에 그 문법과 개체 목록을 정리하였다.3. 종류
명령어는 플레이어가 직접 쓸 때는
/
를 앞에 붙여야 하며, 명령 블록의 경우 /
가 있든 없든 작동한다. 참고로 모든 명령어들은 '''대소문자를 구분한다.'''[6] 자신 없으면 자동완성 기능을 이용하자.3.1. 클라이언트
3.1.1. 여러 플랫폼
3.1.1.1. clear
- 용례
- 자신의 인벤토리를 초기화할 때:
clear
- A라는 플레이어의 인벤토리에서 하얀색 양털 아이템을 모두 삭제할 때:
clear A white_wool
- 근처 반경 10 안에 있는 플레이어가 가진 날카로움 I가 마법부여된 금 검을 제거 :
clear @p[distance=..10] golden_sword{Enchantments:[{id:"sharpness",lvl:1}]}
- A라는 플레이어의 인벤토리에 있는 하얀색 양털의 개수를 구할 때:
clear A white_wool 0
- 자신의 인벤토리를 초기화할 때:
- 출력
- execute store success ...
- 실패 시: 0
- 성공 시: 1
- execute store result ...
- 실패 시: 0
- 성공 시: (지워지거나 감지 된 총 아이템 수.)'''
- execute store success ...
3.1.1.2. clone
- 부가 설명
는 복사될 영역의 북서쪽 최하단 즉 x, y, z 좌표가 모두 최소인 좌표로 설정해야 한다.<복사 좌표>
- 최소 부피가 1이다. 즉, 좌표를
이라고 치면 해당 좌표에 있는 블록 1개가 지정된다.0 0 0 0 0 0
- 최대 부피는 32768(32*32*32)이다.
- 마스크 설정: 어떤 부분을 복사할 지 결정한다.
: 복사 범위 내의 특정 블록만 복사filtered
: 공기가 아닌 블록만 복사masked
: 범위 내 모든 것을 복사replace
- 복사 설정: 어떻게 복사할 지 결정한다.
: 복사 영역과 붙여넣기 영역이 겹치더라도 무시하고 복사한다.force
: 복사 영역의 원본을 삭제하고 붙여넣기 영역에 붙인다. 즉, 이동하는 명령.move
: 기본 설정. 둘 다 사용하지 않는다. 복사 영역과 붙여넣기 영역이 겹칠 경우에는 경고만 출력한다.normal
- 구간의 블록들을 회전시키는 것은 불가능하다. 회전시키기 위해서는 구조물 블록이 필요.
- x좌표 13, y좌표 20, z좌표 50과 x좌표 17, y좌표 30, z좌표 65 사이에 있는 블록들을 x좌표 50, y좌표 100, z좌표 0으로 공기가 아닌 블록만 복사하기 :
clone 13 20 50 17 30 65 50 100 0 masked
- 출력
- execute store succeess ...
- 실패 시: 0
- 성공 시: 1
- execute store result ...
- 실패 시: 0
- 성공 시: (대상 지역에서 변경된 블록 수.)
- execute store succeess ...
3.1.1.3. defaultgamemode
- 기본 게임모드에 대해: 현재의 게임모드가 크리에이티브 모드라 가정할 때 기본 게임모드가
로 설정되어 있으면 서버 및 월드 재접속 시 게임모드가 서바이벌 모드로 변경된다.survival
- 부가 설명:
에 들어갈 내용은 아래와 같다.<게임 모드>
- 서바이벌 모드:
survival
- 크리에이티브 모드:
creative
- 모험 모드:
adventure
- 관전자 모드:
spectator
- 서바이벌 모드:
3.1.1.4. difficulty
- 부가 설명:
는 다음과 같다.[7][8]<난이도>
- 평화로움:
(0 또는 p)peaceful
- 쉬움:
(1 또는 e)easy
- 보통:
(2 또는 n)normal
- 어려움:
(3 또는 h)hard
- 평화로움:
- 출력
- execute store succeess ...
- 실패 시: 0
- /difficulty ... 명령어 성공: 1
- /difficulty 명령어 성공: 1
- execute store result ...
- 실패 시: 0
- /difficulty 명령어 성공: 현재 난이도의 번호 id (평화로움 = 0, 쉬움 = 1, 보통 = 2, 어려움 = 3)
- execute store succeess ...
3.1.1.5. effect
- 부가 설명
: 마인크래프트 상의 효과는 다음과 같이 총 27가지가 있다. 효과에 대한 상세 내용은 마인크래프트/상태 효과 문서에 서술되어 있다.효과
- 효과 변경: 이미 부여된 효과는 다음과 같은 경우에 새로 부여된다.
- 효과의 단계가 이미 부가된 효과의 단계보다 클 때: 해당 효과를 더 높은 단계의 효과의 설정으로 부여한다.
- 효과의 단계가 같고 시간이 현재 남은 시간보다 클 때: 해당 시간만큼 다시 부여한다.
: 단위는 초이며[10] , 1~100만 구간 내의 숫자만 유효하다. 2048 이상의 값을 넣으면 숫자 대신 **:**로 표기된다. **:** 으로 표시된다고 해서 무한은 아니다. /data get entity @s ActiveEffects[0].Duration 을 통해 확인해 보면 시간은 계속해서 줄어든다.[시간]
: 0~255의 256단계이며, 실제 적용치는[증폭값]
보다 1단계 더 높다. 일부 효과들은 증폭의 영향을 받지 않을 수 있으며, JE에서는 효과가 반대의 효과를 지칭하는 효과의 이름이 없을 경우에는 128 이상은 반대의 효과를 준다. (플레이어 한정)[증폭값]
- 공중 부양 같은 경우 250 이상에서 떨어지는 속도가 느려지는 효과를 주며 255에서는 떨어지지 않는다.JE
- 점프 강화는 128 이상에서 점프를 못하고 255에서는 일반 점프를 할 수 있으며 260블록 위 부터 낙하 대미지를 받는다. 255 레벨의 점프 강화를 주고 127 이하의 점프 강화를 주면 낙하 대미지 감소는 255 레벨로 나타나면서 점프력이 상승한다.JE
: 포션을 먹거나 효과를 얻고 있다면 효과를 받는 대상의 주변에 입자가 생기고 화면 오른쪽 위에 아이콘이 생기는데,[입자 숨김 여부]
일 경우 보이지 않는다.true
- 사용 예시
- 가까운 플레이어에게 속도 3을 1분 동안 주고 싶을 때:
[11]effect give @p speed 60 2
- 가까운 플레이어의 신속 효과를 제거하고 싶을 때:
effect clear @p speed
- 근처 플레이어에게 입자 없는 투명 효과를 1분간 주고 싶을 때:
effect give @p invisibility 60 0 true
- 가까운 플레이어에게 속도 3을 1분 동안 주고 싶을 때:
- 출력
- execute store succeess ...
- 실패 시: 0
- 성공 시: 1
- execute store result ...
- 실패 시: 0
- 성공 시: 효과가 주어 지거나 취소 된 개체의 수
- execute store succeess ...
3.1.1.6. enchant
- 참고
- 마법부여가 불가능한 아이템이거나 유효하지 않은 경우[12] 에는 실행할 수 없다. 대신 관련 플러그인을 쓰거나 NBT 태그를 이용해서 마법부여를 강제로 적용시킬 수 있다.
- 부가 설명
: 이곳을 참조하자. 사용 예시 참조.[마법부여 ID]
: 1부터 그 마법의 마법부여 레벨 최대치까지이다. 마법부여된 책으로 마법을 부여할 수 있는 레벨 한계까지만 마법부여가 가능하다.[레벨]
- 사용 예시
- 플레이어의 검에 날카로움 Ⅴ를 추가할 경우:
enchant @p sharpness 5
- 플레이어의 부츠에 가벼운 착지 Ⅲ을 추가할 경우:
enchant @p feather_falling 3
- 플레이어의 검에 날카로움 Ⅴ를 추가할 경우:
그 이상 레벨은 give 명령어로 부여한다.
3.1.1.7. execute
3.1.1.8. experience (xp)
- BE의 경우 경험치를 제거할 수는 없다. 레벨로만 지원.
는xp
가 추가되면서 단축용으로 사용된다. 플레이어는 생략하면 자신에게 적용되며, 레벨의 경우 음수도 지원된다. 참고로 레벨 값은 32비트 값이므로 2147483647가 최대치이며(BE는 24791), 음수 경험치는 없다. 즉, 아무리 레벨을 줄여도 0일 뿐 그 미만이 되지는 않는다. 참고로 2147483647 이상의 레벨이 된다면 오버플로가 일어나 음수가 되고, 음수 레벨은 존재하지 않으므로 레벨이 0이 돼버린다. 물론 정상적인 방법으로 저 레벨에 도달하는 것은 거의 불가능하다.experience
- 부가 설명
: 경험치 /points
: 레벨levels
: 대상의 기존 경험치/레벨에add
만큼 추가한다.<값>
: 대상의 경험치/레벨을set
으로 설정한다.<값>
: 대상의 경험치/레벨을 확인한다.query
나points
를 쓰지 않을 경우levels
- 사용 예시
- 가장 가까운 플레이어의 경험치를 10 추가하는 경우:
또는experience add @p 10
xp 10 @p
- 모든 플레이어의 레벨을 200으로 설정하는 경우:
또는experience set @a 200 levels
xp 200L @a
- 가장 가까운 플레이어의 경험치를 10 추가하는 경우:
- 출력
- execute store succeess ...
- 실패 시: 0
- /... query ... 명령어에서 성공 시: 1
- /... add ... 또는 /... set ... 명령어에서 성공 시: 1
- execute store result ...
- 실패 시: 0
- /... query ... 명령어에서 성공 시: 플레이어의 경험치 또는 레벨 수
- /... add ... 또는 /... set ... 명령어에서 성공 시: 대상 플레이어 수
- execute store succeess ...
3.1.1.9. fill
- fill 명령어의 블록 최대 설치 개수는 32,768이며 정사각형으로 32x32x32이다.
- 부가 설명
,<좌표 1>
: 설정할 좌표이다. 블록을 바라보고 탭을 누르면 편하다.<좌표 2>
: 블록의 ID이다.<블록>
[실행 방식]
: 기본적인 명령이다. 기존 블록을 제거하고 설치한다. 바꿀 블록을 입력한다면 그 블록만 바뀐다.replace
: 범위 내 블록을 파괴하고 블록을 설치한다. 이때 파괴된 블록은 플레이어가 채굴한 것처럼 파티클과 아이템을 드랍한다.destroy
: 범위 내의 공기 블록에만 블록을 설치한다.keep
와 같은 처리 방식이다.replace air
: 범위로 지정한 직육면체 범위의 겉면만 블록을 채우고 이로 생긴 직육면체 내부의 블록을 모두 제거한다. 거대한 방을 만들 때 쓰면 좋은 명령.hollow
:outline
와 비슷하나 겉면 부분을 제외한 내부의 블록을 제거하지 않는다.[13]hollow
:[바꿀 블록]
모드에서만 사용이 가능하며 대체할 특정 블록을 지정해 그 블록을 대상으로만 명령이 실행되게 할 수 있다.replace
- 새롭게 채운 블록에 의존할 수 없는 블록이나 개체는 파괴된다.[14]
3.1.1.10. function
- JE에서는 데이터팩 내에, BE에서는 행동 팩 내에
명령어 파일이 들어간다.function
- 1.12 -
의 양식<실행 파일>
- 하위 폴더가 있다면
<네임스페이스로 사용한 폴더>:<하위 폴더>/[하위 폴더]/.../<실행 파일명>
- 하위 폴더가 없다면
- 하위 폴더가 있다면
- 1.13 -
의 양식<실행 파일>
<네임스페이스로 사용한 폴더>/<실행 파일명>
1.12의 실행 파일 만드는 방법 [펼치기·접기]
}}}
- 1.13에서
실행 파일을 만들고 싶다면 이곳에 들어가 보자.function
- 출력
- execute store succeess ...
- 실패 시: 0
- 성공 시: 1
- execute store result ...
- 실패 시: 0
- 성공 시: (실행 된 명령의 수 (성공 여부에 관계없음)와 함수에서 호출 한 내장 함수의 수.)
- execute store succeess ...
3.1.1.10.1. JE 사용법
영문 위키참조 아래의 내용은 영문 위키를 번역한 것이다.
말 그대로 함수로 플레이어가 커맨드 리스트를 적은 텍스트 파일을 저장하고 게임내에서 사용할 수 있게 해준다. 저장 확장자는 .mcfunction. UTF-8로 인코딩하여 사용하는 것이 여러 문제를 예방할 수 있다.[15]
기능을 사용하려면 먼저 텍스트 파일을 .minecraft/saves/(월드이름)/datapacks/(데이터팩 이름)/data/(네임 스페이스)/functions 내의 최상위 폴더에 배치해야 한다. 새로운 최상위 폴더의 이름은 내부 함수를 실행할 때 사용되는 네임 스페이스가 된다. 최상위 폴더 내의 하위 폴더에 기능을 배치 할 수도 있다. (데이터팩 이름) 폴더에 pack.mcmeta 파일이 있어야 한다.데이터팩문서와 같이 보는 것을 추천데이터팩에 대하여 영문위키
예를 들어 custom:example/test라는 함수를 실행하면 data/custom/functions/example/test.mcfunction에서 데이터를 불러오게 된다. 만약 네임스페이스를 쓰지 않았다면 minecraft:라는 기본 설정된 네임 스페이스를 지정받게 된다. 하지만 나중에 기본 네임 스페이스를 추가하였을 때 의도하지 않은 동작을 방지하기 위해선 사용자 지정 네임 스페이스를 사용하는 것을 추천한다.
텍스트 파일로 이루어져 있는 함수는 수정하기 쉽고, 커맨드 블럭에서 긴 명령어를 작성하는 것 보다 렉을 더 적게 유발한다.
/reload 명령어를 사용해서 함수 파일을 로딩하면 마인크래프트에 재접속 하지 않고 바뀐 함수를 적용할 수 있다.
/function 명령어를 성공적으로 입력했다면 Executed [amount] command(s) from function '[function file directory]'라고 출력된다. 내장된 함수는 위 메세지를 출력하지 않는다. 함수 내에서 명령의 성공적인 출력은 비교기로 측정 할 수 없다 (/ execute store 명령을 사용하여 동일한 효과를 얻을 수는 있다.)
싱글 플레이나 LAN서버에서 커맨드 블럭이 실행하는 모든 함수는 permission 레벨2를 넘을 수 없다. 하지만 위와 다르게 보통의 멀티플레이 서버 구현 프로그렘에서는 server.properties의 function-permission-level에서 자유롭게 설정할 수 있다.
'''함수 구문 작성법'''
.mcfunction 파일 내부에 유효한 마인크래프트 명령어를 슬래쉬(/)를 제외하고 작성하여야 한다. 또 플레이어는 함수 택스트 파일 내부에서 줄 맨앞에 #을 붙여서 명령어에 대한 설명을 작성 할 수 있다. 함수를 사용하면 커맨드 블럭의 입력 한계값이 32,500보다 길게 쓸 수 있지만 내부에서 실행가능한 커맨드의 총합은 /gamerule maxCommandChainLength의 값으로 결정되고 기본값은 65,536자이다. /gamerule maxCommandChainLength의 설정값을 초과하는 넘어가는 명령어는 무시된다.
함수는 모든 명령을 단일 틱으로 실행하고 다른 함수 내에서 호출 된 함수는 부모함수와 동일한 틱으로 명령을 실행한다. 함수는 다른 함수를 사용하거나 커맨드 블럭 환경에서 사용된다.[16] 여기에는 명령 발신자, 위치, 회전 등이 포함된다.
함수 내에서 발생하는 명령어의 문맥을 변경해도 명령 순서에 관계없이 다음 반복까지 동일한 함수 내 (또는 하위 함수 내)의 다른 명령에서 사용하는 명령 환경에 영향을 미치지 않는다. 단 / execute 명령은 예외이며 하위 함수의 명령 환경을 업데이트 한다.
- 사용 예시
위와 같은 명령어를 플레이어가 사용하면 플레이어는 y좌표가 5칸 위인 위치로 텔레포트 한다. 그리고 플레이어가 원래 밟고 있던 블럭은 에매랄드 블럭으로 바뀌며 텔레포트한 위치 바로 아래에 다이아몬드 블럭이 생성된다. 이러한 특성은 대상 선택인자 매개변수의 영향을 받지 않는다.execute as @a at @s run function foo:bar
@s라는 대상 지정 인자를 이용해서 엔티티가 함수를 사용하도록 할 수 있고, /execute as 로 연출자 엔티티를 수정하는 함수를 전 보다 잘 쓸 수 있는 가능성을 제시해 준다.[17] 이것은 더 간단한 과정으로 대상 선택 인자로 선택한 특정 엔티티를 사용하는 연출을 보다 높은 퀄리티로 구현할 수 있게 해주며 일반적으로 월드의 엔티티 숫자를 줄일 수 있다.
이외에 다양항 방법으로 함수를 활용할 수 있으며, 스크립트, 플러그인에서만 지원하던 함수 기능을 마인크래프트로 가져옴으로써 플러그인을 덜 쓰고도 동일한 효과를 낼 수 있게 되었다. 이는 마인크래프트 서버를 더 쾌적한 환경으로 운영할 수 있는 가능성을 제시해 주며, 전에는 시도해 보지 못했던 다양한 연출을 사용함으로써 새로운 미니게임의 탄생을 촉구할 수 있다.
3.1.1.10.2. BE 사용법
영문 위키
3.1.1.11. gamemode
지정한 플레이어의 게임모드를 변경한다. 베드락 에디션은 s와 같이 앞글자만 입력하거나 0과 같은 숫자를 입력해 전환하는것도 가능하나 자바 에디션은 1.13 버전부터 해당 기능이 삭제되었다.
- 부가 설명:
에 들어갈 내용은 아래와 같이 분류한다.<모드>
: 서바이벌 모드survival
: 크리에이티브 모드creative
: 모험 모드adventure
: 관전자 모드spectator
- 비슷한 명령어: defaultgamemode
3.1.1.12. gamerule
명령어를 설정한 월드 전체에 적용되는 규칙이다. 미리 정해두고 하면 편한 명령이 많은 편. 맵을 만들 때 아주 유용하다.
말 그대로 게임의 규칙이기에 게임 내 각종 상황을 명령어로 강제로 조정할 수 있으며, 저주 마법부여 아이템의 디버프 역시 gamerule의 효과가 우선시된다.
- 규칙 목록. 이후 버전에서 추가된 규칙도 있으며, 특정 에디션에서만 이용할 수 있는 규칙도 있다. 규칙 이름은 대소문자를 구분한다
- 사용 예시
- 시간을 멈추게 할 때:
gamerule doDaylightCycle false
- 시간을 멈추게 할 때:
- 출력
- execute store succeess ...
- 실패 시: 0
- 성공 시: 1
- execute store result ...
- 실패 시: 0
- 성공 시: (규칙마다 다름. false = 0, true = 1. 정수일경우 숫자)
- execute store succeess ...
3.1.1.13. give
그 플레이어가 있는 지점에 플레이어가 먹고 있는 아이템 개체를 소환한다. 즉 인벤토리에 바로 추가되는 게 아니라 아이템을 줍는 것이 되는 셈. (
kill @e[type=Item]
이란 명령어를 반복 명령 블록에 입력하면 give
명령어를 입력한 시점에서 Item을 죽였다는 메시지가 뜨나 아이템은 인벤토리에 정상적으로 들어온다.)- 부가 설명
-
: 아이템의 아이디이다.<아이템>
-
: 0이 아니라면 수량 제한은 없으며[23] , 기본적으로는 1이다. 눈이나 칼 같은 겹칠 수 있는 최대 아이템 수가 64 미만이거나 겹칠 수 없는 아이템이라면 그 이상으로 겹칠 수 없다.[수량]
-
: 같은 아이디에 아이템을 구별하는 데이터 값이다. 내구도가 있는 아이템은 입력한 값만큼 내구도가 깎인다.[24][데이터 값]
-
: JSON 형식으로 자바 에디션의 NBT와 같은 역할을 한다. 쓴 구성 요소들의 맨 바깥을 중괄호로 한 번 묶어야 하며, 여러 종류의 구성 요소를 사용하고자 하는 경우 콤마(,)로 연결한다.[구성 요소]
-
:can_destroy
형식으로 모험 모드에서 특정 블록을 부술 수 있게 해준다."can_destroy":{"blocks":["블록 이름"]}
-
:can_place_on
형식으로 모험 모드에서 지정된 블록에 아이템을 설치할 수 있게 해준다."can_place_on":{"blocks":["블록 이름"]}
-
:item_lock
형식으로 아이템을 인벤토리 또는 슬롯에 잠글 수 있다."item_lock":{"mode":"모드"}
종류모드
-
: 아이템을 버리거나 조합에 사용할 수 없게 하지만 인벤토리 내 이동은 자유롭다.lock_in_inventory
-
: 아이템을 그 슬롯에 그대로 고정시켜버려서 인벤토리 내에서 움직일 수도, 버리거나 조합에 사용할 수도 없게 한다.lock_in_slot
-
-
:keep_on_death
형식으로 사망했을 때 해당 아이템을 바닥에 떨구지 않고 그대로 가지고 있게 한다."keep_on_death": {}
-
-
- 사용 예시
- JE
- A라는 플레이어에게 "Presents" 라는 이름이 붙은 참나무 판자를 30개 줄 때:
give A oak_planks{display:{Name:'{"text":"presents"}'}} 30
- A라는 플레이어에게 어드벤처 모드일 때 흙에 설치할 수 있고 유리를 부술 수 있는 다이아몬드 블록을 줄 때:
give A diamond_block{CanPlaceOn:["dirt"],CanDestroy:["glass"]}
- A라는 플레이어에게 "Presents" 라는 이름이 붙은 참나무 판자를 30개 줄 때:
- BE
- A라는 플레이어에게 물 양동이를 줄 때:
give A bucket 1 8
- A라는 플레이어에게 어드벤처 모드일 때 흙에 설치할 수 있는 다이아몬드 블록을 줄 때:
give A diamond_block 1 0 {"can_place_on":{"blocks":["dirt"]}}
- A라는 플레이어에게 물 양동이를 줄 때:
- JE
3.1.1.14. help
- 사용 예시
의 사용법:experience add
help experience add
3.1.1.15. kill
무형 개체들은 즉시 죽이며, 몹 개체는 약 3.4*1038[27] 의 공허 피해를 준다. 따라서 죽은 이유도 세계 밖으로 떨어진 것으로 표시된다. 슬라임이나 마그마 큐브는 가장 작은 단계가 아닐 시 더 작은 단계의 몹들을 소환한다.
3.1.1.16. locate
채팅창에 가장 가까운 구조물의 x, z좌표를 알려주며, y좌표는 알려주지 않고 ~로 표시된다. 채팅창에 나오는 좌표를 클릭하게 되면 그 좌표로 향하는 tp 명령어가 입력된다. 대소문자를 구분한다.[주의]
: 묻힌 보물Buried_Treasure
: 피라미드Desert_Pyramid
: 엔드 시티EndCity
: 네더 요새Fortress
: 이글루Igloo
: 정글 사원Jungle_Pyramid
: 삼림 대저택Mansion
: 폐광Mineshaft
: 바다 유적Monument
: 약탈자 전초 기지Pilligerpost
: 바다 폐허Ocean_Ruin
: 난파선Shipwreck
: 요새Stronghold
: 마녀의 집Swamp_Hut
: 주민 마을Village
- 출력
- execute store succeess ...
- 실패 시: 0
- 성공 시: 1
- execute store result ...
- 실패 시: 0
- 성공 시: (실행자와 구조물 사이 거리)
- execute store succeess ...
3.1.1.17. me
채팅창에 "* 닉네임"이 앞에 붙는 문장을 출력한다.
namuwiki라는 사용자일 시:
me 안녕하세요 예시입니다.12
→ 채팅창에 * namuwiki 안녕하세요 예시입니다.12 이 출력된다.3.1.1.18. particle
특정 위치에 입자를 소환한다. 입자 이름과 종류, 그 모양은 여기를 참조.
- 부가 설명
: 입자의 생성 범위이다.1 1 1으로 설정할 경우 8×8×8의 육방체의 공간에서 생성된다.[
] - 예외: 이름이
,reddust
, 또는mobSpell
일 경우 속도가 0이 아니고 개수가 0이거나 입력하지 않았을 경우, 이 값은 RGB 값으로 입력되고 속도는 0에서 1까지의 숫자이며 RGB 값에 곱해진다. 개수가 0이 아닐 경우 입자의 색은 무작위로 결정된다. 예를 들자면mobSpellAmbient
이나mobSpell
의 RGB값이 0 0 0일 경우에는 검은색, 0 1 0 일 경우에는 초록색 등으로 나타난다. 그러나mobSpellAmbient
의 RGB값의 R값은 0이 입력될 경우 자동으로 1로 채워진다.reddust
- 예외: 이름이
: 이동 속도이다. 0 이상의 값을 넣어야 한다. 이 속도는 1을 넘으면 지나치게 빠르게 움직인다.<속도>
: 입자의 개수이다.[개수]
: 화면 효과를 정의한다.[모드]
와force
이 있으며normal
모드에서는 256블록 밖의 입자도 보이게 하며, 비디오 세팅과 관계없이 입자 효과를 재생시킨다.force
: 입자 효과를 나타낼 특정한 플레이어를 지정한다.[플레이어]
- 사용 예시
- 거대한 폭발 입자를 현재 위치에서 동쪽으로 10칸 생성시킬 때:
particle huge_explosion ~10 ~ ~ 0 0 0 0 1
- 거대한 폭발 입자를 현재 위치에서 동쪽으로 10칸 생성시킬 때:
- 여담
- 원래 PE 1.0.5 빌드 1에 JE와 거의 똑같은 문법으로 추가되었으나, 어떠한 문제로 인해 바로 다음 버전인 PE 1.0.5 빌드 2에 삭제되었다고 한다.
3.1.1.19. playsound
특정 위치에서 소리가 나오게 설정한다.
- 부가 설명
: 마인크래프트 상의 소리이며, 리소스팩을 통해소리
에 추가될 수 있으나 원래의 경로나 이름을 사용하는것이 아니라sound.json
에 정의된 대로 사용한다. 기본적인 소리는 이곳 참조.sound.json
: 소리의 범주이다. 그 종류로는소스
,master
,music
,record
,weather
,block
,hostile
,neutral
,player
,ambient
가 있다.voice
: 소리가 들리는(재생되는) 플레이어이며 다른 플레이어들은 들을 수 없다.플레이어
: 소리가 재생되는 위치이다.xyz
: 소리의 근원으로부터 거리가 떨어질 때마다 소리 크기가 줄어들어서 일정 거리까지만 소리가 들린다. 0.0 ~ 1.0 사이의 값이며, 1.0 이상의 값을 입력하더라도 소리의 크기는 실질적으로는 1.0을 입력한 것과 같으나, 가청거리는 16×소리 크기만큼 구형의 구간에서 소리가 들린다.소리 크기
: 0.0~2.0 사이의 수이며, 원래 소리의 주파수에 곱해서 들리며 값이 작으면 재생시간도 늘어나고 커지면 마찬가지로 줄어든다. 0.5 미만의 값들은 0.5로 입력된다.피치
: 정상적인 소리 재생 범위 밖에 있을 때, 기존 재생위치가 아닌 재생 대상의 위치에서 가까운 거리에서[28] 작게 소리가 재생되는 범위를 결정한다. [0.0,1.0] 범위 내에서 입력 가능하다.최소 소리 크기
3.1.1.20. publish
3.1.1.21. reload
3.1.1.22. say
모두에게 말한다. 대신 이름에 대괄호가 붙는다. 플레이어는 그냥 채팅을 이용하면 되고, 사실상 명령 블록용.
3.1.1.23. scoreboard
- 최초 추가 버전: 1.5
- 권한: OP 이상
3.1.1.24. setblock
fill
명령어의 하위 호환으로, 단 한 칸만 변경을 한다.- 부가 설명
: 기존 블록의 처리 방식을 결정한다.[기존 블록 처리]
: 기존 블록을 무시하고 설치한다. 주의해야 할 점은 블록이 동일하면 NBT 태그가 달라도 블록을 놓을 수 없다. 단, 뒤에 바꿀 블록 아이디를 쓴다면 그 블록만 바뀐다.replace
: 기존 블록을 파괴하고 블록을 설치한다. 효과음과 입자가 발생하고 부순 블록은 대부분 아이템화 된다.destroy
: 원래 있던 블록이 공기 블록인 경우에만 블록을 설치한다.keep
3.1.1.25. setworldspawn
따로 스폰 위치가 정해져 있지 않은 플레이어는 이곳에서부터의
spawnRadius
내에서 랜덤하게 소환된다. 서버의 게임 모드가 어드벤처 모드가 아닐 경우에는 y좌표는 무시되어 가장 높이 있는 블록 위에서 스폰되고, 서버의 게임모드가 어드벤처 모드라면 y좌표 아래에 블록이 없거나 지하라고 해도 정확히 그 좌표에서 스폰되며, 만약 플레이어가 스폰될 수 없는 공간이라면 플레이어가 스폰될 수 있을 y좌표로 다시 설정된다. 스폰 청크가 항상 로드되는 것이 유지되나, 이 명령어에 의해서는 플레이어가 움직이기 전에는 새로운 스폰 청크를 로드하지 않는다. 또한 나침반의 방향도 재시작 되기 전까지는 업데이트되지 않는다. 20w12a부터 모든 차원에서 사용하면 그 차원의 스폰포인트를 설정할 수 있다.3.1.1.26. spawnpoint
- 부가 설명
: 스폰 지점을 결정할 플레이어이다.플레이어
: 스폰 지점의 좌표이다.좌표
- 플레이어나 좌표를 입력 하지 않으면 플레이어가 있는 그 자리에 스폰포인트가 지정된다.
3.1.1.27. spreadplayers
플레이어 또는 개체들을 흩어지게 만든다. 액체의 위에는 설정되지 않는다.
- 부가 설명
: y좌표는 설정하지 않는데, 따라서 높이는 가장 높은 블록의 위치에 놓이며 이 좌표를 기준으로 범위가 정해진다. 즉 최대한 높은 좌표에서 대상이 배치된다.
: 떨어뜨리는 대상 간 거리이다. 0보다 커야 한다.<대상 간 거리>
: 위에서 설정한 중심부터 가장자리 수평선까지의 거리이다. 즉 범위가 원형이 아니라 정사각형이다. 대상 간 거리보다 적어도 1.0 더 커야 한다.<최대 범위>
:<팀 설정>
일 경우, 같은 팀끼리는 모인다.true
면 그냥 다 흩어진다.false
: 대상이 되는 플레이어 또는 개체다. 여러 선택자를 이용할 경우 구분을 위해 띄어쓴다.<대상..>
- 사용 예시
- 모든 플레이어를 (0,0)을 중심으로 하는 1000 × 1000 공간에 200칸 간격으로 팀끼리 흩어지게 만들 경우 :
spreadplayers 0 0 200 500 true @a
,Red
,Blue
팀에서 각각 랜덤으로 한 명, 그리고Green
와Alice
을 (0,0)을 중심으로 하는 200 × 200 공간에 50칸 간격으로 흩어지게 만들 경우:Bob
spreadplayers 0 0 50 100 false @r[team=Red] @r[team=Blue] @r[team=Green] Alice Bob
- 모든 플레이어를 (0,0)을 중심으로 하는 1000 × 1000 공간에 200칸 간격으로 팀끼리 흩어지게 만들 경우 :
3.1.1.28. stopsound
- 부가 설명
: 소리를 듣지 못하게 할 플레이어이다.<플레이어>
: 소리가 나는 근원이다.[출처]
,master
,music
,record
,weather
,block
,hostile
,neutral
,player
,ambient
중 하나를 선택해야 한다.[31]voice
: 위 출처에서 특정 소리만을 들리지 않게 할 수 있다. 예시 참고.[소리]
- 사용 예시
- 돼지가 꿀꿀거리는 소리만 모든 플레이어가 듣지 못하게 할 경우:
stopsound @a neutral mob.pig.say
- 돼지가 꿀꿀거리는 소리만 모든 플레이어가 듣지 못하게 할 경우:
3.1.1.29. summon
- 설명
- 개체의 이름이나 아이디는 여기를 참조하거나 Tab 키를 이용하자. 스폰 알을 이용하면 몹을 소환할 수는 있으나 자세한 속성을 설정 할 수는 없다.
- 속성
: 베드락 에디션에서[스폰 이벤트]
의 일부 항목을 대체하는 속성으로, 개체의 상태를 바꿀 수 있다. 스폰 이벤트의 목록은 여기를 참고하면 된다.[데이터 태그]
: 소환한 개체의 이름을 설정한다.[이름]
- 사용 예시
- PC라는 이름을 가진 충전된 크리퍼를 현재 위치에 소환하는 경우:
summon minecraft:creeper ~ ~ ~ {powered:1,CustomName:'{"text":"PC"}'}
- 번개를 10칸 동쪽에 소환할 경우 :
summon minecraft:lighting_bolt ~10 ~ ~
- 최대 HP가 100인 위더 스켈레톤을 현재 위치에 소환하는 경우:
summon minecraft:wither_skeleton ~ ~ ~ {Attributes:[{Name:generic.maxHealth,Base:100}]}
- 힘 Ⅲ 효과를 30초 가지고 있는 아이언 골렘을 현재 위치에 소환하는 경우:
[32]summon minecraft:iron_golem ~ ~ ~ {ActiveEffects:[{Id:5,Amplifier:2,Duration:600
}]}
- 스켈레톤의 머리를 쓰고 손에 용암 양동이를 들고있는 갑옷거치대를 소환하는 경우:
[33]summon minecraft:armor_stand ~ ~ ~ {ArmorItems:[{},{},{},{id:skull,Count:1b}],HandItems:[{id:lava_bucket,Count:1b},{}]}
- 발화 Ⅱ와 약탈 Ⅲ 마법이 부여된 다이아몬드 검 3개를 x방향으로 6칸 떨어진 곳에 소환하는 경우:
[34]summon minecraft:item ~6 ~ ~ {Item:{id:"minecraft:diamond_sword",Count:3b,tag:{Enchantments:[{id:"minecraft:fire_aspect",lvl:2},{id:"minecraft:looting",lvl:3}]} }}
- PC라는 이름을 가진 충전된 크리퍼를 현재 위치에 소환하는 경우:
- 한 엔더맨 위에 올라탄 엔더맨 위에 올라탄 엔더맨 위에 올라탄 엔더맨 위에 올라탄 엔더맨 위에 올라탄 엔더맨(......) :
summon minecraft:enderman ~ ~ ~ {Passengers:[{id:"enderman",Passengers:[{id:"enderman",Passengers:[{id:"enderman",Passengers:[{id:"enderman",Passengers:[{id:"enderman"}]}]}]}]}]}
3.1.1.30. tag
3.1.1.31. teleport (tp)
- 설명
- 최초 추가 버전
-
: Alpha 1.0.16_01tp
-
: 1.10teleport
-
- 문법
teleport <대상에게>
순간이동한다.<대상에게>
teleport <좌표>
- 해당
로 순간이동하고 시점을<좌표>
으로 설정한다.[회전각]
- 해당
teleport <대상을> <대상에게>
순간이동시킨다.<대상을> <대상에게>
teleport <대상을> (<좌표>|<대상에게>) facing <좌표>
로 순간이동 시키고<대상을> <좌표|대상에게>
를 바라보게 한다.<좌표>
teleport <대상을> (<좌표>|<대상에게>) facing entity <대상>
로 순간이동 시키고<대상을> <좌표|대상에게>
를 바라보게 한다.<대상>
teleport <대상을> <좌표> [회전각]
로 이동시키고 시점을<대상을> <좌표>
으로 설정한다.[회전각]
- [삭제됨]
- 설명: 대상을 순간이동시키고 시점을 설정할 때 쓰는 명령어다.
로 줄여쓸 수 있다.tp
- 부가 설명
-
: -180은 북쪽, -90은 동쪽, 0은 남쪽, 90은 서쪽이다. ( -180~ 180의 값)회전각(yaw 혹은 x-rot)
-
: -90은 하늘, 0은 수평 방향, 90은 땅이다. ( -90 ~ 90의 값)회전각(pitch 혹은 y-rot)
-
- 최초 추가 버전
- 사용 예시
- 본인이 A에게로 텔레포트:
tp A
- 모든 플레이어들을 본인에게로 텔레포트:
tp @a @s
- 본인을 위쪽으로 100블록 만큼 텔레포트:
tp ~ ~100 ~
- 근처에 있는 플레이어를 수평 방향 정북쪽을 보게 만들기:
tp @p ~ ~ ~ -180 0
- 본인이 A에게로 텔레포트:
3.1.1.32. tell (msg/w)
3.1.1.33. tellraw
- 문법
- JSON 문법 에서 확인 가능하다.
- 사용 예시
- 굵은 글씨의 Hello World 를 A라는 플레이어에게 보내기:
tellraw A {"text":"Hello World","bold":"true"}
- 굵은 글씨의 Hello World 를 A라는 플레이어에게 보내기:
- 플레이어 접속 메시지 띄우기:
tellraw @a {"color":"yellow","text":"Player joined the game."}
- 1.9 버전 이상부터는 JSON의 구조상 콜론을 제외한 모든 문자열을 큰따옴표로 구분해야 한다. 때문에 1.9 이전 버전을 사용하다 넘어온 유저들은 한참을 헤맬 수도 있다. 스토리맵 등에서 표지판 따위로 대사를 넣는 것보다 깔끔해 자주 쓰이지만 안 그래도 귀찮던 작업이 이것 때문에 상당히 귀찮은 작업이 되었다. 무엇보다 1.9 이전 버전에서 큰따옴표를 넣지 않고 명령 블록을 썼던 맵들은 전부 실행이 안 되어 매우 곤란하게 되었다. 큰따옴표 내에 큰따옴표나 역슬래시(\\)를 적어야 할 때는 앞에 \\ 기호를 써서 이스케이프하면 된다.
- 이제, BE한정으로 Selector나 Run_command가 가능해졌다 자세한 내용은 1.16.100.57 베타 참고바람
3.1.1.34. time
- 설명: 32비트 안의 값을 사용해야 하며 양수만 가능하다. 단위는 틱(0.05초)이며 마인크래프트의 하루는 20분이므로 틱으로 계산하면 24000이다.
- 부가 설명
-
: 값만큼 시간을 더한다.add
-
: 자정부터 걸린 시간이나, 게임을 켠 뒤 얼마나 됐는지 반환한다.query
-
: 시간을 그 값의 시점으로 설정한다.set
-
- 숫자 외에도
day
=1000, night
=13000이며, midnight
, noon
, sunrise
, sunset
이 있다.3.1.1.35. title
플레이어의 화면에 제목을 표시한다.
- 텍스트 문법
- JSON 문법 에서 확인 가능하다
- 부가 설명
- JE 1.9 버전 이상부턴 JSON의 구조상 콜론을 제외한 모든 문자와 문자열을 큰따옴표(")로 구분해야 한다. 그렇기 때문에 1.9 이전 버전을 사용하던 플레이어들은 약간 해맬 수도 있다. 1.9 이전 버전에서 큰따옴표를 사용하지 않은 맵들은 실행할 수 없다.
- BE에서 JSON 형식을 이용하고 싶다면 아래의
명령어를 사용해 JE 문법처럼 구현할 수 있다.titleraw
- BE에서 JSON 형식을 이용하고 싶다면 아래의
을 사용할 때 주의할 점이 있다.subtitle
은subtitle
을 실행한 후 부제목을 설정하는 개념이므로,title
을 먼저 사용한 후,title
을 사용해야 한다.subtitle
만 사용하면subtitle
이 나오지 않는다.subtitle
- JE 1.9 버전 이상부턴 JSON의 구조상 콜론을 제외한 모든 문자와 문자열을 큰따옴표(")로 구분해야 한다. 그렇기 때문에 1.9 이전 버전을 사용하던 플레이어들은 약간 해맬 수도 있다. 1.9 이전 버전에서 큰따옴표를 사용하지 않은 맵들은 실행할 수 없다.
- 사용 예시
- 화면에 회색, 이탤릭체의 "The Story begins…"라는 부제목을 추가
title @a subtitle {"text":"The story begins…","color":"gray","italic":"true"}
- 굵은 글씨의 "Chapter Ⅰ" 제목을 추가하고 출력
title @a title {"text":"Chapter Ⅰ","bold":"true"}
- 화면에 회색, 이탤릭체의 "The Story begins…"라는 부제목을 추가
만약 BE버전에서 쓰고 싶다면 titleraw 항목 참조
3.1.1.36. weather
- 설명
: 날씨가 맑아진다.clear
: 비가 온다.[35]rain
: 폭풍우가 몰아친다.thunder
: 1~100만 사이의 수로, 단위는 초이다.시간
toggledownfall
과는 다르게 특정 시간 동안 날씨를 덮어씌우는 것이다.3.1.2. JE 한정
3.1.2.1. advancement
1.12 버전 이상에서는 도전 과제가 발전 과제가 됨에 따라 명령어도 이 명령어가
achievement
명령어를 대채했다. 직접 발전 과제를 수행하지 않고 명령어를 이용해 발전 과제를 강제로 수행하거나 수행한 것을 취소할 수 있다.- 부가 설명
: 발전과제를 수행시킨다.grant
: 발전과제 수행을 취소시킨다.revoke
에 들어갈 수 있는 항목<조건>
: 해당 발전과제만only
: 해당 발전과제 이전의 발전과제 모두until
: 해당 발전과제 이후의 발전과제 모두from
: 해당 발전과제 전후의 발전과제 모두through
: 모든 발전과제everything
:criterion
한정으로 사용할 수 있는 구문이다. 해당하는 발전과제를 수행/철회 시킨다.only
- 예시
- 정조준 발전과제 제거
advancement revoke @p only minecraft:adventure/shoot_arrow
- 정조준 발전과제 획득
advancement grant @p only minecraft:adventure/shoot_arrow
- 모든 발전과제 제거:
advancement revoke @p everything
- 모든 발전과제 획득:
advancement grant @p everything
- 정조준 발전과제 제거
- 예시
- 출력
- execute store succeess ...
- 오류 시: (변하지 않음)
- 실패 시: 0
- 성공 시: 1
- execute store result ...
- 오류 시: (변하지 않음)
- 실패 시: 0
- 성공 시: ???
- execute store succeess ...
3.1.2.2. attribute
- 문법
- base get [규모]
- 대상의 속성 기초 값을 확인한다.
- base set <값>
- 대상의 속성 기초 값을 변경한다.
- get [규모]
- 대상의 속성에 실제 적용치를 확인한다.
- modifier add
(add|multiply|multiply_base) - modifier remove
- modifier value get
[규모]
- base get [규모]
- 예시
- 방어력 5로 설정.
- /attribute @s minecraft:generic.armor base set 5
- 공격력 2배 증가.
- /attribute @s minecraft:generic.attack_damage modifier add 0-0-0-0-15 "공격력 버프" 1 multiply
- 공격력 2배 제거.
- /attribute @s minecraft:generic.attack_damage modifier remove 0-0-0-0-15
- 방어력 5로 설정.
3.1.2.3. bossbar
- 설명: 보스바[36] 를 만들고 설정하고 삭제할 때 쓰는 명령어이다.
- 문법
bossbar add
<이름> - 보스바를 만든다.
bossbar set
name <이름> - 보스바의 이름을 바꾼다.
bossbar set
color <색> - 보스바의 색을 바꾼다. 보스바의 텍스트에 색 관련 구문이 없는 경우 텍스트의 색도 바꾼다.
bossbar set
style <스타일> - 보스바의 스타일을 바꾼다. 스타일은 부가 설명 참고.
bossbar set
value <값> - 보스바의 값을 설정한다.
bossbar set
max <최댓값> - 보스바의 최댓값을 설정한다.
bossbar set
visible - 보스바가 보이는 여부를 설정한다.
bossbar set
players <플레이어> - 보스바를 볼 수 있는 플레이어를 설정한다.
bossbar remove
- 해당 보스바를 제거한다.
bossbar list
- 만든 보스바의 목록을 표시한다.
bossbar get
- 명령어의 결과값으로서 이를 출력한다.
- 부가 설명
는id
형태로 만들고, 네임스페이스를 만들지 않으면네임스페이스:이름
로 설정된다.minecraft
- 이름은 표시될 보스바의 이름으로 JSON 형태의 텍스트만 지원한다.
에서 가능한bossbar set
style
목록<스타일>
notched_6
notched_10
notched_12
notched_20
progress
는 뒤에 있는 숫자만큼 칸을 만든다.notched
는 칸의 수를 1로 설정한다.progress
- 보스바를 처음 생성할 시 색은 흰색, 값은
, 최댓값은0
, 보이는 여부는100
, 볼 수 있는 플레이어는 없음으로 설정된다.true
- <이름>은 JSON문법으로 적어야한다.
3.1.2.4. data
- 문법
data get block <좌표> [NBT경로] [규모]
- 해당 좌표의 블록의 NBT 목록을 [규모]만큼 곱해서 불러온다.
data get entity <대상> [NBT경로] [규모]
- 대상의 NBT 목록을 [규모]만큼 곱해서 불러온다.
data get storage <아이디> [NBT경로] [규모]
- 스토리지의 NBT 목록을 [규모]만큼 곱해서 불러온다.
data merge block <좌표>
- 해당 좌표의 블록에 NBT 데이터를 추가한다.
data merge entity <대상>
- 대상에 NBT 데이터를 추가한다.
data merge storage <아이디>
- 스토리지에 NBT 데이터를 추가한다.
data remove block <좌표>
- 해당 좌표의 블록의 NBT 데이터를 제거한다.
data remove entity <대상>
- 대상의 NBT 데이터를 제거한다.
data remove storage <아이디>
- 스토리지의 NBT 데이터를 제거한다.
modify block/entity/storage <타겟 블럭 좌표/타겟 엔티티 셀럭터/타겟 스토리지 아이디>
set/merge - from from <소스 블럭 좌표/소스 엔티티 셀럭터/소스 스토리지 아이디>
- 소스 block이나 entity 또는 storage로부터 데이터를 가져와서 타겟 block이나 entity 또는 storage에 저장합니다.
- value
- 타겟 block이나 entity 또는 storage의 nbt 경로에 새로운 nbt데이터 값을 저장합니다.
- from from <소스 블럭 좌표/소스 엔티티 셀럭터/소스 스토리지 아이디>
set은 기존 데이터를 지우고 저장하고, merge는 기존 데이터와 겹치지 않는 선에서 저장한다.
modify block/entity/storage <타겟 블럭 좌표/타겟 엔티티 셀럭터/타겟 스토리지 아이디>
append/prepend/insert - from from <소스 블럭 좌표/소스 엔티티 셀럭터/소스 스토리지 아이디>
- 소스 block이나 entity 또는 storage로부터 데이터를 가져와서 타겟 block이나 entity 또는 storage에 저장합니다.
- value
- 타겟 block이나 entity 또는 storage의 nbt 경로에 새로운 nbt데이터 값을 저장합니다.
- from from <소스 블럭 좌표/소스 엔티티 셀럭터/소스 스토리지 아이디>
insert의 겅우 <index값> 위치에 새로운 데이터를 넣고 기존 데이터를 뒤로 밀어낸다.
- 참고로 이유는 불명이나 2개 이상의 개체의 태그를 바꿀 수 없어 반드시 인자로 limit=1을 넣어야 한다. 이를 해결하려면 /execute as <대상> run data merge entity @s
같은 식으로 하여야 한다.
3.1.2.5. debug
플레이어 프로필을 기준으로 디버깅을 시작하거나 종료한다. 종료하는 데는 몇 초 정도 걸린다.
- 부가 설명
에 쓸 수 있는 구문<지령>
: 디버깅 시작start
: 디버깅 종료stop
: 디버깅 보고report
- 출력
- execute store succeess ...
- 실패 시: 0
- /debug start 명령어 성공 시: 1
- /debug start 명령어 성공 시: 1
- execute store result ...
- 실패 시: 0
- /debug start 명령어 성공 시: 1
- /debug start 명령어 성공 시: (평균 TPS)
- execute store succeess ...
3.1.2.6. datapack
- 부가 설명
: 최저first
: 최고last
: 낮게before
: 높게after
: 활성화 가능한available
: 활성화된enabled
3.1.2.7. forceload
베드락 에디션의 경우 tickingarea 명령어를 이용한다.
3.1.2.8. item
- 부가 설명
-
... copy
... -
... block <블록 좌표> <슬롯 위치> [modifier]
- 첫 번째
에 있는 블록의<블록 좌표>
에서 두 번째<슬롯 위치>
에 있는 블록의<블록 좌표>
로 아이템을 복사한다.<슬롯 위치>
- 첫 번째
-
... entity <대상> <슬롯 위치> [modifier]
- 첫
의<대상>
에서 두 번째<슬롯 위치>
의<대상>
로 아이템을 복사한다.<슬롯 위치>
- 첫
-
-
... modify
- 데이터팩의
폴더를 불러와 아이템을 수정하거나 복사한다.item_modifiers
- 데이터팩의
-
... replace <아이템 ID> [갯수]
- replaceitem 명령어와 비슷하다.
-
3.1.2.9. locatebiome
locate와 동일하지만 구조물 대신 생물군계를 찾아준다.
3.1.2.10. loot
- loot
-
: - spawn
- - replace entity <대상> <슬롯> [
] - 기본적으로 replaceitem entity 명령어와 비슷하다. - replace block <좌표> <슬롯> [
] - 기본적으로 replaceitem block 명령어와 비슷하다. - give
- give 명령어와 비슷하다. - insert
- spawn
-
: - fish
[ |mainhand|offhand] - loot
- 아이템을 드롭한다. - kill
- mine
[ |mainhand|offhand] - 블록을 캐는것 처럼 아이템을 드롭한다. 행운 III 곡괭이에 mainhand를 한다면 행운 III 효과를 받는다.
- fish
-
3.1.2.11. recipe
- 부가 설명
는 플레이어에게 레시피를 주고,give
는 뺏는다.take
칸에는 아이템 ID를 적을 수 있고<아이템|*>
를 적으면 모든 아이템을 대상으로 명령을 실행한다.*
- 레시피를 주고 뺏으면, 그 레시피는 잠긴다. 하지만 조합자체는 가능하다
3.1.2.12. schedule
/function
커맨드를 지연시킨다.기본적인 문법은 다음과 같다.
schedule function
특정한
function
을 실행하게 한다.time
특정한 시간에 지정한
function
이 실행되게 한다.1d는 1일, 1s는 1초, 1t는 1틱과 같이 숫자 뒤에 알맞는 알파벳을 붙임으로서 시간의 단위를 조절할 수 있다.
append|replace
replace는 단순히 현재 실행되고 있는
function
의 스케줄을 대체한다.append는 서로 다른 스케줄이 공존할 수 있게 한다.
3.1.2.13. seed
3.1.2.14. spectate
3.1.2.15. team
scoreboard 명령어 내의 인자
team
을 대체하는 명령어이다. 인자로 하든 명령어로 쓰든 둘 다 작동된다.- 문법
team add <팀 이름> [보여질 이름]
team empty <팀 이름>
team join <팀 이름> [멤버]
team leave <멤버>
team list [팀]
team modify <팀> <옵션> <값>
team remove <팀 이름>
3.1.2.16. teammsg
3.1.2.17. trigger
trigger 명령어는 OP가 아니어도 스코어보드 값을 변경할 수 있기에 편리하다.
3.1.2.18. worldborder
원래 경계는 (0,0)을 기준으로 30,000,000칸 떨어진 곳, 즉 마인크래프트의 x,z의 최대좌표이자 머나먼 땅에 형성되어 있지만 이를 새로 설정할 수 있다. 따라서 경계를 추가하는 것이 아니라 변경하는 것이다.
- 문법: 8가지 변형이 있는데, 모두 제각각이라 부가 설명에서 자세히 설명한다.
- 부가 설명
-
: 경계까지의 거리를 설정하거나, 더하는 명령어이다.worldborder add|set <거리> [시간]
는<거리>
에서부터의 거리가 아닌 반대쪽 끝까지의 거리이며 단위는 블록이다. 1~6000만 사이의 숫자로 지정해야 한다.center
은 새롭게 지정한 경계가 실제 적용되는 데 걸리는 시간이며 단위는 초다. 기본값은 0.[시간]
-
: 세계의 중심을 정한다. 이 점이 거리의 기준점이 되는 것이다.worldborder center
-
: 현재 세계의 경계까지의 반경을 화면에 표시해 준다.worldborder get
-
: 경계를 벗어났을 때 블록당 대미지를 설정한다. 경계를 벗어나면 이렇게 설정한 값을 1초마다 받는다. [37]worldborder damage amount <대미지>
-
: 경계에서 얼마나 벗어나면 데미지를 입는지 정한다. 기본값은 5로 경계에서 5칸 벗어나면 데미지를 입는다. [38]worldborder damage buffer <거리>
-
: 경계면에 얼마나 가까워지면 경고하는지 설정한다. 경계 주위로 가면 화면 가장자리가 붉게 변한다.worldborder warning distance <거리>
-
: 경계면이 줄어드는 상황에서, 앞에서 정의한 시간 내에 현재 위치까지 경계면에 도달한다면 경고한다. 예를 들어 이 명령어에서 정의한worldborder warning time [초]
의 값이 15인 경우 15초 이내로 현재 위치까지 경계면이 줄어든다면 경고 표시가 나온다.[초]
-
tp
명령어등을 제외한 방법(엔더 진주도 불가)으로는 나갈 수 없다.[39] 만약 경계면이 줄어들면 나갈 수는 있지만 위에서 설정한 데미지를 입게 된다.3.1.3. BE 한정
대부분의 명령어는 EE에서도 사용이 가능하며 EE에서 사용이 불가능할 경우 명령어 표 내에 특별히 표시한다.
3.1.3.1. alwaysday(daylock)
시간을 낮으로 설정함과 동시에 시간의 흐름을 멈춘다.
gamerule doDaylightCycle [값]
과는 다르다. alwaysday
의 경우 명령어를 통해서도 시간을 바꿀 수 없도록 시간이 낮으로 완전히 고정된다.- 부가 설명
에는[값]
와true
를 넣을 수 있으며, 기본값은 항상 낮이 켜져 있어도false
이다.true
에 이상한 문구를 넣지 않는 한 항상 실행에 성공한다. 이미 항상 낮이 켜져 있을 때 항상 낮을 활성화하는 명령을 내려도 성공하고, 항상 낮이 꺼져 있을 때 항상 낮을 비활성화하는 명령을 내려도 성공한다.[값]
- 용례
- 항상 낮을 사용 설정할 때
또는alwaysday
alwaysday true
- 항상 낮을 해제할 때
alwaysday false
- 항상 낮을 사용 설정할 때
3.1.3.2. camerashake
3.1.3.3. connect
단축 명령어가 원래 명령어보다 길다
3.1.3.4. clearspawnpoint
3.1.3.5. event
3.1.3.6. fog
<안개>
- 리소스팩의 fogs 폴더 내에 있는 JSON 파일에 의하여 정의된 identifier 속성의 값을 입력한다. 아래는 값 목록이다.
[안개 효과 목록 보기]
- 리소스팩의 fogs 폴더 내에 있는 JSON 파일에 의하여 정의된 identifier 속성의 값을 입력한다. 아래는 값 목록이다.
}}}
: 안개 효과가 추가되는 목록의 이름으로, 스코어보드 이름처럼 사용자가 임의로 지정한 문자열이다.<목록>
: 최근pop
에 추가한 안개 효과를 삭제한다.<목록>
:remove
에 있는 모든 안개 효과를 삭제한다.<목록>
pop
을 통하여 안개 효과를 제거할 때도 마찬가지로 최근 추가한 안개 효과가 우선 제거된다.3.1.3.7. immutableworld
1.16.200기준 명령어 없음
ability
로 건축 권한을 주지 않은 플레이어들에게 설치/파괴 허용 여부를 설정한다.- 부가 설명
: 설치/파괴 금지true
: 설치/파괴 허용false
- 사용 예시
명령어로 건축 권한을 주지 않은 플레이어들에게 설치와 파괴를 금지시킬 때:ability
immutableworld true
3.1.3.8. playanimation
- 상세 문법 설명
:[다음 상태]
다음의 포즈를 설정한다.<애니메이션>
:[소멸 시간]
에서<애니메이션>
또는 일반 포즈로 넘어가는 기간을 설정한다.[다음 상태]
:[정지 조건]
에서<애니메이션>
로 넘어갈 때 잠깐 정지할 조건을 설정한다.[다음 상태]
: ???[controller]
3.1.3.9. replaceitem
'''아래 설명은 전부 JE 기준이므로 BE와 다를수도 있다.'''
- 부가 설명
: 아이템을 조작할 아이템 창의 위치이다. 값의 유효성은 블록이나 엔티티가 수정되는지에 의존한다.<슬롯>
블록에서는 반드시 다음의 순서를 따른다.
container.슬롯 번호
슬롯 번호는 슬롯을 특정시키기 위한 번호가 들어간다.- 상자, 발사기, 공급기, 호퍼 또는 덫 상자의 번호는 다음과 같이 수평 방향으로 먼저 수가 증가한다.
18 || 19 || 20 || 21 || 22 || 23 || 24 || 25 || 26 ||
이중 상자나 이중 덫 상자는 각각의 다른 컨테이너로 취급된다.
- 양조기는 아래쪽 슬롯은 왼쪽에서 오른쪽으로 0~2이고 위쪽의 투입 슬롯은 3, 왼쪽의 블레이즈 가루를 넣는 슬롯은 4이다.
- 화로는 투입 슬롯이 0, 연로 슬롯은 1, 산출 슬롯은 2이다.
- 화분이나 주크박스처럼 아이템을 받으나 인벤토리 GUI가 없는 블록들은 data로만 수정할 수 있다.
- 엔티티에서는 슬롯 번호에 슬롯을 특정시키기 위한 번호를 입력한다:
- 아이템 액자의 슬롯은 data로만 수정 가능하다.
: 슬롯에 변경될 아이템의 ID이다.<아이템>
: 그 슬롯에 들어갈 아이템의 개수이며 스택의 크기가 64보다 작더라도 1~64 사이의 수를 입력받는다.[수량]
: replaceitem 모드를 정한다<모드>
: 해당 슬롯에 아이템이 있는 경우 교체하지 않는다keep
: 해당 스롯에 아이템이 있어도 무시하고 교체한다.destroy
- 사용 예시
- 바로 아래 있는 상자의 오른쪽 아래 가장자리 칸에 자작나무 묘목 64개를 추가할 때:
replaceitem block ~ ~-1 ~ container.26 birch_sapling 64
- 가장 근처의 플레이어에게 철 검을 1번 핫키에 추가할 때:
replaceitem entity @p hotbar.0 iron_sword
3.1.3.10. ride
- 문법
ride <탑승자> start_riding <탈것> [순간이동 방식] [채우는 방식]
를<탑승자>
에 태운다.<탈것>
ride <탑승자> stop_riding
를 탈것에서 내리게 한다.<탑승자>
ride <탈것> evict_riders
에서 탑승자를 내쫓는다.<탈것>
ride <탈것> summon_rider <탑승자> [스폰 이벤트] [이름]
위에<탈것>
를 소환한다.<탑승자>
ride <탑승자> summon_ride <탈것> [탑승 규칙] [스폰 이벤트] [이름]
밑에<탑승자>
을 소환한다.<탈것>
- 세부 문법 설명
:[순간이동 방식]
가<탑승자>
으로 올지,<탈것>
이<탈것>
로 올지 결정한다.<탑승자>
:teleport_ride
을<탈것>
에게 순간이동시킨다.<탑승자>
:teleport_rider
를<탑승자>
으로 순간이동시킨다.<탈것>
: ???[채우는 방식]
: (스크립트와 관련된 것으로 추정)[스폰 이벤트]
: ???[탑승 규칙]
: 소환된 개체의 이름을 설정한다.[이름]
3.1.3.11. structure
- 상세 문법 설명
: ???[저장 모드]
: 논리값이며 저장 또는 불러올 구조물에 개체를 포함시킬지 결정하는 인자이다.[개체 포함]
: 논리값이며 저장 또는 불러올 구조물에 개체를 포함시킬지 결정하는 인자이다.[블록 포함]
: 불러올 구조물을 회전시킬 때 쓰인다.[회전]
: 불러올 구조물을 반전시킬 때 쓰인다.[반전]
: 0 이상 100 이하의 퍼센트값으로, 구조물을 얼마나 온전히 불러올지 결정하는 인자이다.[완전성]
: 완전성이 0~100 사이의 값일 때는 구조물을 구성하는 블록이나 개체를 랜덤하게 불러 오는데, 여기서 랜덤을 생성할 때 이용되는 인자이다.[시드]
3.1.3.12. testfor
특정 조건을 만족하는 개체가 있을 경우 실행에 성공하며 다른 목적을 가지지 않는다. 따라서 반복 명령 블록과 조건부 연쇄 명령 블록, 레드스톤 비교기를 이용한 신호 출력 방식을 이용해야 한다. 블록과 개체에 관한 데이터 태그는 JE에서만 사용 가능했으나, JE에서는 이 명령어 자체가 삭제되어
[데이터 태그]
는 사실상 사용할 수 없다.- 사용 예시
- 특정 플레이어 A가 온라인인지 알아보기:
testfor A
- 반경 3칸 안에 서바이벌 모드인 사람을 알아보기:
testfor @a[r=3,m=0]
- 날고 있는 플레이어를 감지할 때:
testfor @a {abilities:{flying:1}}
- 반경 20칸 안의 좀비를 감지할 때:
testfor @e[r=20,type=Zombie]
- 특정 플레이어 A가 온라인인지 알아보기:
3.1.3.13. testforblock
testfor
의 블록 버전. 개수를 세는 것이 아니라 그 위치의 블록이 조건을 만족하는지에 대해 판단해준다. 맞으면 그 위치에 그 블록이 있다고 출력하고, 틀리면 그 위치에는 어떠한 블록이 있다고 알려준다. 블록과 개체에 관한 데이터 태그는 JE에서만 사용 가능했으나, JE에서는 이 명령어 자체가 삭제되어 [데이터 태그]
는 사실상 사용할 수 없다.- 사용 예시
- 어떠한 색깔의 양털이라도 (0, 64, 0)에 있는지 확인:
또는testforblock 0 64 0 minecraft:wool
[42]testforblock 0 64 0 minecraft:wool -1
- mall 레코드가 들어 있는 주크박스가 바로 아래칸에 있는지 확인:
testforblock ~ ~-1 ~ minecraft:jukebox -1 {Record:2261}
- 어떠한 색깔의 양털이라도 (0, 64, 0)에 있는지 확인:
3.1.3.14. testforblocks
testforblock
의 범위 비교 버전. 지정한 범위 안에 특정 좌표에 있는 블록과 같은 블록의 개수를 반환한다.- 부가 설명
-
에 들어갈 수 있는 것[모드]
: 말 그대로 모두 비교하여 하나라도 다른 블록이 있으면 숫자를 반환하지 않는다.all
: 기준 블록에서 공기 블록은 제외하고 비교한다.masked
-
3.1.3.15. tickingarea
플레이어가 없어도 저장될 영역 설정하거나 목록을 보고, 삭제할 때 쓴다.
- 최초 추가 버전 : PE 1.2 빌드 1
- 문법
tickingarea add <시작 좌표> <끝 좌표> [설정할 영역이름]
- 시작 좌표와 끝 좌표로 항시 로드될 구역을 설정한다.
tickingarea add circle <중심 좌표> <반지름> [설정할 영역이름]
- 원형으로 항시 로드될 구역을 설정한다.
tickingarea remove <좌표>
- 로드되는 구역을 좌표로 삭제한다.
tickingarea remove <설정된 영역이름>
- 로드되는 구역을 설정된 영역이름으로 삭제한다.
tickingarea remove_all
- 모든 로드되는 영역을 삭제한다.
tickingarea list [all-dimensions]
- 모든 로드되는 영역의 목록을 표시한다.
- 설명: 플레이어가 없어도 로드될 청크를 설정하거나, 목록을 표시하거나, 영역을 삭제하는 명령어다.
- 부가 설명
: 단위가 블록이 아니라 청크 단위이다.반지름
: 쓰면 차원에 관계없이 모든 구역을 불러온다. 기본값은 쓰지 않은 상태.all-dimensions
- 권한: OP 이상
3.1.3.16. titleraw
BE에서 JE와 같은 JSON 환경의
title
을 사용하기 위한 추가 명령어. 플레이어의 화면에 제목을 표시한다. BE에서는 title
을 사용하면 <제목>
에 일반 텍스트를 이용할 수 있다.- 문법
titleraw <플레이어> title
- 타이틀을 제목에 표시한다.
titleraw <플레이어> subtitle
- 부제목을 추가한다.
titleraw <플레이어> actionbar
- 핫바 위[43] 에 제목을 추가한다.
titleraw <플레이어> times <페이드 인> <표시 시간> <페이드 아웃>
- 페이드 인 시간, 표시 시간, 페이드 아웃 시간을 정한다.
titleraw <플레이어> clear
- 표시되고 있는 제목을 지운다.
titleraw <플레이어> reset
- 설정을 리셋한다.
- 사용 예시: JE의
명령어와 같다.title
3.1.3.17. toggledownfall
날씨를 바꾼다. 비나 눈이 오면 그치게 하고, 오지 않는다면 오게 만든다.
3.1.3.18. mixer
Mixer 방송을 제어하는 데 사용하는 명령어이다.
3.1.3.19. mobevent
JE에서는
gamerule
명령어를 이용해 설정하나 BE에서는 이 고유 명령어를 이용해야 한다.- 부가 설명
에 들어가는 문자열<이벤트>
: 활성화된 이벤트events_enabled
: 습격 이벤트minecraft:pillager_patrols_event
: 떠돌이 상인 이벤트minecraft:wandering_trader_event
에는<값>
나true
가 들어간다.false
3.1.3.20. setmaxplayers
서버에 접속할 수 있는 최대 인원 수를 설정한다.
현재 서버에 있는 플레이어 수보다 더 적게 설정할 수 없으며, 기기에 따른 최대 플레이어 수 제한이 존재한다. 이에 따라 제한 사항에 걸리는 경우 그 한도 내에서 최대한 가까운 값으로 설정한다.
3.1.3.21. transferserver
3.1.3.22. videostream
3.1.3.23. videostreamaction
3.1.4. EE 한정
BE에서 에듀케이션 에디션 옵션을 켰을 때 사용할 수 있는 명령어의 경우 해당 문단 내에 특별히 표시한다.
3.1.4.1. ability
- 부가 설명
<권한명>
- 날 수 있는지의 여부 설정.mayfly
- 채팅을 칠 수 있는지의 여부 설정.mute
- 일반적인 상황에서 블록에 관여할 수 없을 때[44] 이를 무시하고 블록에 관여할 수 있는지의 여부 설정.worldbuilder
권한의 경우, 단축 명령으로worldbuilder
,worldbuilder
를 이용해 자신의 권한 한정으로 손쉽게 켜고 끌 수 있다.wb
- 용례
- 모두가 날 수 있도록 할 때:
ability @a mayfly true
- 실행자의 중심으로부터 반경 100블록 이상 떨어진 플레이어들의 채팅을 금지할 때:
ability @a[rm=100] mute true
- 모두가 날 수 있도록 할 때:
3.1.4.2. Agent 명령어
EE의 엔티티 에이전트에게 명령을 내리는 진짜 명령어이다.
- 명령어 목록
: 에이전트 이동move <방향>
: 에이전트 회전turn <회전>
: 에이전트가 공격attack <방향>
: 에이전트가 블록 파괴destroy <방향>
: 에이전트가 아이템 버리게함drop <슬롯 번호> <개수> <방향>
: 에이전트가 모든 아이템을 버림dropall <방향>
: ?inspect <방향>
: ?inspectdata <방향>
: ?detect <방향>
: ?detectredstone <방향>
: 에이전트의 슬롯 2개에 있는 아이템 서로 교체transfer <슬롯 번호1> <개수> <슬롯 번호2>
: 에이전트 만들기createagent
: 에이전트 tptpagent
: 에이전트가 아이템 모으기collect <아이템 이름>
: ?till <방향>
: 에이전트가 블록 설치place <슬롯 번호> <방향>
: ?getitemcount <슬롯 번호>
: ?getitemspace <슬롯 번호>
: ?getitemdetail <슬롯 번호>
- 문법 설명
: 앞뒤상하좌우(영어로)<방향>
: 좌우<회전>
3.2. 서버
마인크래프트 공식 서버 클라이언트에서 추가되는 커맨드들이다.
3.2.1. ban
서버에서 규칙에 어긋나는 활동을 하는 플레이어를 서버에 들어오지 못하도록 접속 제한한다.
[사유]
부분은 밴을 하는 이유를 적는 곳이며 굳이 쓰지 않아도 되나 쓴 경우 채팅창에 내용이 표기가 되며, 서버 로그에 남는다.3.2.2. ban-ip
ban
명령어와 다르게 한 컴퓨터의 IP로 접속하는 모든 닉네임을 차단한다. 복돌이들이 아이디를 바꿔서 들어오는 것을 차단하거나 다른 마인크래프트 아이디로 접속하는 것을 막을 때 쓴다. 3.2.3. banlist
명령어를 사용하는 현 시점까지 서버에서 접속 차단된 사람의 목록을 확인한다.
- 출력
- execute store succeess ...
- 성공 시: 1
- execute store result ...
- 성공 시: (밴한 플레이어 수)
- execute store succeess ...
3.2.4. deop
플레이어의 OP(관리자) 권한을 해지한다.
- 출력
- execute store succeess ...
- 실패 시: 0
- 성공 시: 1
- execute store result ...
- 실패 시: 0
- 성공 시: the number of players whose op statuses are revoke
- execute store succeess ...
3.2.5. kick
1.13 이후 랜서버 사용 가능. 서버에서 규칙에 어긋나는 활동을 하는 플레이어를 쫓아낸다.
[사유]
부분은 굳이 쓰지 않아도 되나 채팅창에 내용이 표기가 되며, 서버 로그에 남는다. [45]- 출력
- execute store succeess ...
- 실패 시: 0
- 성공 시: 1
- execute store result ...
- 실패 시: 0
- 성공 시: (대상 플레이어 수)
- execute store succeess ...
3.2.6. list
현재 접속해 있는 플레이어 목록을 띄운다. 플레이어는 Tab 누르는 것이 더 빠르다.
- 출력
- execute store succeess ...
- 성공 시: 1
- execute store result ...
- 성공 시: (플레이어 수)
- execute store succeess ...
3.2.7. save
현재 켜져 있는 서버 데이터를 저장하거나, 자동 저장 설정을 변경한다.
- 부가 설명
: 저장한다.save-all
: 자동 저장 설정을 켠다.save-on
: 자동 저장 설정을 끈다.save-off
- 주의: 이 명령어를 쓰고 바로 서버를 종료하면 맵이 손상될 수 있으므로 저장이 완료될 때까지 기다려야 한다.
3.2.8. setidletimeout
몇 분 동안 움직임이 없으면 쫓아낼지 설정하는 명령어이다. 단위는 분이다.
3.2.9. stop
서버를 종료시킬 때 이 명령어를 사용해야 한다. 그냥 X 버튼을 클릭해서 종료시키는 것은 비정상적이므로 서버 데이터에 손상이 생길수도 있다.
3.2.10. op
플레이어에게 OP(관리자) 권한을 준다. 이 명령어를 사용하지 않으면 만약 플레이어가 서버를 연 사람이라고 해도 권한을 이용할 수 없으니 서버 관리에 필수적인 명령어라고 할 수 있다. BE에서는 싱글에서도 사용 가능하다.
3.2.11. pardon
ban
또는 ban-ip
로 금지한 플레이어나 주소를 다시 들어올 수 있게 설정한다.3.2.12. whitelist
화이트리스트를 관리한다. 화이트리스트에 적힌 플레이어만 들어갈수 있는 기능이다. 서버를 여는 주체[46] 도 화이트리스트에 없으면 들어갈 수 없다.
- 부가 설명
3.3. 삭제된 명령어
직접 도전과제를 수행하지 않고 명령어를 이용해 도전 과제를 강제로 수행하거나 수행한 것을 취소할 수 있다.
- 부가 설명:
에 들어갈 수 있는 인자<사용 방식>
- 강제로 수행give
- 수행을 취소take
에 들어갈 "분류 ID" 는 이 사이트를 통해 알 수 있다. 게임 상에서 간단히 tab키로 그 목록을 확인할 수 있고, 분류 내용은 Internal ID 로 분류된다. 도전 과제 뿐만 아니라 몇 마리의 몹을 잡았는지 등의 내용도 수정이 가능하다.<도전 과제>
- 상위 업적이 강제 수행 되었을 경우 하위 업적도 자동으로 강제 수행 된다. 수행 취소도 마찬가지이다.
- 사용 예시
- 오버킬 업적을 얻고 싶을 때:
achivement give achivement.overkill
- 근처 1명의 플레이어에게 몹 킬 하나를 주고 싶을 때:
achievement give achivement.mobkill @p
- 모든 플레이어의 업적 제거:
[49]achivement take
@a
- 오버킬 업적을 얻고 싶을 때:
- 부가 설명: 이 사이트에서 NBT태그에 대한 정보를 얻을 수 있다. 이 NBT 데이터는 JSON 형식으로 되어 있다.
- 사용 예시
- 신호기의 주요 파워를 haste로 수정한다:
[50]blockdata <신호기의 좌표> {Primary:3}
- 상자를 잠그고 Namu라는 이름이 붙은 아이템으로 열 수 있게 한다:
blockdata <상자의 좌표> {Lock:Namu}
blockdata
의 엔티티 버전이다. 아이디를 입력하거나 @e 등을 이용하여 대상을 지정하며 이외는 blockdata
와 동일하다.- 사용 예시
- 좀비가 아이템을 주울 수 없게 한다:
entitydata @e[type=Zombie] {CanPickUpLoot:0}
- 좀비가 아이템을 주울 수 없게 한다:
<목표>
에 즉시 올린다. 명령어가 실행되면 stats
은 성공 여부, 영향을 준 블록 수, 영향을 준 개체 수, 또는 쿼리 값을 올린다.- 부가 설명
-
는 한번 설정해주면<상태>
할 때까지 사라지지 않는다. 단,clear
이 없어진다면 예외.<대상>
-
를 사용할 때는 특정한stats
과 오브젝티브가 필요하다.<대상>
은 항상 단수여야 한다.<대상>
-
를 오브젝트에 올릴때 스코어를 받는<상태>
가 그<대상2>
에 등록되어 있어야 한다.<목표>
-
의 종류<상태>
-
: 명령 블록이 성공적으로 실행됐는지 안 됐는지 여부.SuccessCount
같은 경우 감지된 사람 수를 올린다.testfor @a
-
: 영향을 받은 블록의 개수. 예를 들어AffectedBlocks
같은 경우 8의 값을 올린다.fill ~ ~ ~ ~1 ~1 ~1 minecraft:stone
-
: 영향을 받은 아이템의 개수.AffectedItems
와give
같은 아이템 관련 명령어를 여기에 사용할 수 있다.clear
-
: 영향을 받은 개체의 수.AffectedEntities
,testfor
,summon
등 대상이 지정 가능한 명령어를 여기에 사용할 수 있다.kill
-
: 쿼리값. 단순히 숫자만 표시하는 명령어를 여기에 사용할 수 있다.QueryResult
,time query
등이 있으며, 예를 들어gamerule
같은 경우 현재 시간을 올린다.time query daytime
-
-
- 사용 예시
(Test라는 목표를 dummy 형태로 생성)scoreboard objective add Test dummy
(Player의 Test 스코어를 0으로 설정)scoreboard players set Player Test 0
(나의stats entity @p set AffectedBlocks Player Test
AffectedBlocks
를 Player의 Test<상태>
로 올림)<목표>
(총 64개의 돌을 설치, 실행 즉시 Player의 Testfill ~ ~ ~ ~3 ~3 ~3 minecraft:stone
스코어가 64로 바뀜)<목표>
3.3.1. Classic 버전
(~Indev 0.31)
3.4. 이벤트 명령어
아래 명령어들은 만우절 버전 등으로 생긴 이벤트성 명령어이다.
3.4.1. debugdim
3.4.2. warp
3.5. NBT
4. 관련 문서
[1] 베드락 에디션에서는
/gamerule showcoordiantes true
를 치면 좌표는 볼 수 있지만 생물군계, 밝기 등 다른 정보를 확인할 수는 없다.[2] 사실 당연하다. 일반 좌표가 0이라는 것은 0.xxx라는 것이고 일반 좌표가 -0이라는 것은 -0.xxx이라는 것이기 때문이다.[3] 아래의 대상 선택 인자에서 XYZ 좌표를 사용해서 특정 좌표에서 가장 가까운 플레이어들을 대상으로 삼는다. 인수를 쓰지 않을 경우 명령어를 실행한 주체로부터 가장 가까이 있는 플레이어가 이에 해당된다.[4] 1.13 전에는 목표 선정 인자 인수중 type을 사용하면 개체로도 지정될 수 있었다.[5] 명령 블록으로 execute
를 실행할 때, <대상>
의 기본값이 정해져 있지 않거나 기본값이 자신이 아닌 명령어를 사용할 때 쓰일 수 있다.[예] ex
를 치고 탭을 누르면 example
이 쳐진다.[6] BE에서는 인자를 제외하고는 대소문자를 구분하지 않는다.[7] 하드코어는 게임모드지만 난이도가 아니므로 설정할 수 없다.[8] 뒤의 단축 인자는 BE와 JE(~1.12.2) 예전 버전에서 사용할 수 있다.[9] 크리티컬, 달리기 불가[10] 포화와 같은 몇몇 효과들은 단위가 틱으로 되어있다.[11] 기본 증폭값이 0이 1이기 때문에 증폭값을 0으로 했다면 1이 되는 것이다. 그러므로 증폭값을 2로 설정하고 명령어를 쓰면 속도 3이 붙는다.[12] '보호'가 있는 방어구에 '화염으로부터 보호'를 주거나 '날카로움 1'이 있는 검에 '날카로움 3'을 준다는 등[13] 주로 무언가를 덮거나 안에 있는 블록의 영향이 없을 경우 사용한다[14] 예를 들어 사탕수수가 있는데 그 아래를 돌로 바꾼다는지.[15] 메모장이나 notepad++ 등으로 여는 것이 가능하다.[16] 즉 함수가 사용하는 명령어는 커맨드 블럭이 사용한 것과 같이 취급된다.[17] 예를 들어서 좀비에 옷을 입히고 대사를 넣어서 마치 NPC가 플레이어를 안내하는 연출을 한다고 가정하자 전에는 스코어보드 명령어와 매개변수를 복잡하게 활용하고 밑에 특정 블럭을 넣어서 좀비가 이를 따라가게 하는 식으로 연출했어야 했다. 하지만 함수를 사용하면 이 과정을 간단히 할 수 있고 훨씬더 적은 명령어로 이 연출을 가능하게 해준다.[18] 단, 청크가 처음 로딩되었을 때 자동으로 스폰되는 동물들의 스폰은 막을 수 없으며 '마을'의 주민과 철골렘, '마녀의 집'의 마녀와 검은 고양이와 같이 특정 '구조물'의 일부로서 소환되는 것 또한 막지 못한다.[19] 마인크래프트내 로딩이 되는 청크(하나당 16×16×256)내에 있는 블록들 중 무작위로 0.05마다 선택되어 변화가 이뤄진다. 대부분의 블록은 변화 단계등이 없기에 선택되어도 무관하나 잔디나 심겨진 묘목, 농작물등은 여기서 선택되면 자라나거나 하는등의 변화가 생긴다.[20] JE에는 reducedDebugInfo를 false로 할시 좌표도 사라진다.[21] 관전자의 이동 속도가 상당히 빠르기 때문에 서버에 랙이 걸릴 수 있기 때문이다.[22] 이를 false로 하면 TNT에 부싯돌과 부시(라이터)로 불을 켜도 발효되지 않는다. 물론 발효된 TNT를 명령어로 소환할 경우 정상적으로 터진다.[23] 자바 에디션 1.12 이하는 1부터 64의 제한이 있다.[24] 자바 에디션 1.12 이하도 포함[25] 명령 블록의 "기존 출력" 부분에 표시된다.[26] BE는 플레이어가 크리에이티브 모드가 아닐 때에만 죽인다.[27] 2128 또는 약 340간[주의] 찾는 구조물이 현재 좌표와 거리가 멀고 tp 명령어로 순간이동을 할 때 세계 밖으로 떨어질 수 있다.[28] 약 네 블록 미만[29] 멀티플레이어 테스트 3/broadcast[30] /say로 개명[31] 이는 음악 및 소리 설정에서 조절할 수 있는 항목과 일치한다.[32] Duration은 Tick 단위이므로 20이 1초이다.[33] 몬스터의 장비를 설정하는 데이터 태그.{HandItems:[{오른손},{왼손}],ArmorItems:[{신발},{하의},{상의},{모자}]}
[34] 바닥에 떨어진 모든 아이템은 엔티티로 취급한다.[삭제됨] 자바 에디션 1.8에선 잘 됐었으나 언젠가부터 좌표 앞에 대상을 붙여야 한다.[35] 추운 바이옴에서는 눈이 온다.[36] 보스 몹(엔더 드래곤, 위더)이 소환되었을 때 뜨는 체력 바[37] 예를 들어 기본값인 0.2였을 때, 5칸을 벗어나면 1초당 1의 대미지를 입는다. 플레이어의 체력이 20이므로 20초면 죽는 셈. 물론 더 벗어나면 더 빨리 죽는다.[38] 즉, 아무 설정도 바꾸지 않았다면 5칸을 벗어나자마자 초당 1의 데미지를 받는다. 이미 5칸만큼 경계를 벗어났기 때문에 0.2가 아닌 바로 1의 데미지를 입는 것이다.[39] 3000만 이상의 좌표는 tp
명령어로도 나갈 수 없지만 좌표계를 이용하여 나갈 수 있다. 그러나 더 이상 이동되지는 않는다.[40] BE의 경우 슬롯명 앞에 slot.
을 붙여야 한다.[41] 일부 몹을 제외하고는 아이템을 사용하거나 볼 수 없다.[42] 데이터 값
이 -1이라면 모든 종류를 다 검색한다는 소리다.[43] 낮에 침대를 우클릭시 "밤에만 잘 수 있습니다."라는 메시지가 나오는 자리.[44] immutable
규칙이 false이거나 어드벤처 모드 등의 상황일 때.[45] 이쪽은 ban과 달리 재접속이 가능하다. 그냥 경고용 정도라 생각하면 된다.[46] 즉 화이트리스트를 만든 본인[47] 닉네임 리스트 방식으로 버전 1.7.5 이하[48] JSON 방식으로 버전 1.7.6 이상[49] 또는 가장 기초적인 업적인 achivement.openInventory
를 사용해도 같은 효과가 난다.[50] 3은 haste 효과에 해당하는 숫자이다.[51] 20w14a infinity