다음을 통해 공유


자주 사용하는 명령어

여러 명령어 시스템에 필수적으로 쓰이는 명령어들이 있습니다. 이번 목록에서 많은 사람들이 사용하는 유명하고 유용한 명령어들을 다뤄보겠습니다.

이 튜토리얼에서는 다음과 같은 사항을 안내해 드립니다.

  • 제작을 시작할 때 많이 쓰이는 자주 사용하는 명령어를 알아봅니다.

요구 사항

튜토리얼을 시작하기 전에 아래 사항을 완료하시길 추천합니다.

/help

가장 중요한 /help 명령어를 알아보겠습니다.

/help <page: int>

채팅에서 /help 명령어를 실행하면 사용할 수 있는 모든 명령어가 출력됩니다. 하지만 명령어의 숫자가 매우 많기 때문에 여러 페이지로 나뉘어 표시되며 한 번에 한 페이지만 볼 수 있습니다. 페이지 번호를 입력하면 해당 페이지의 명령어를 볼 수 있습니다.

특정 명령어의 사용 방법과 구문을 확인하고 싶다면 /help 뒤에 명령어의 이름을 입력하면 확인할 수 있습니다. 이 기능은 명령어의 개요를 알아볼 때 유용합니다.

/help [command: CommandName]

/gamerule

/gamerule 명령어는 게임플레이에 영향을 미치는 요소를 변경하며 제작에 도움이 되는 설정을 가지고 있습니다. 매우 많은 게임 규칙이 있으며 채팅의 자동 완성 기능으로 살펴볼 수 있습니다.

/gamerule <rule: BoolGameRule> [value: Boolean]
/gamerule <rule: IntGameRule> [value: int]

일부 게임 규칙은 참/거짓만 규칙 값으로 허용하고("BoolGameRule") 다른 게임 규칙은 정수만 허용합니다("IntGameRule"). "commandblockoutput", "sendcommandfeedback" 및 "commandblocksenabled", "dodaylightcycle", "doweathercycle" 등 아래 나열된 기본 게임 규칙은 제작에 매우 중요하며 해당 규칙들은 모두 부울 논리를 사용합니다.

"commandblockoutput"

이전에 살펴본 모든 명령어들은 채팅으로 결과를 출력합니다. 이는 번거로울 수 있으며 매 틱마다 실행되는 명령어의 경우 특히 그럴 수 있습니다. "commandblockoutput" 게임 규칙은 거짓으로 설정할 경우 채팅 출력을 비활성화합니다.

/gamerule commandblockoutput false

"sendcommandfeedback"

명령어 블록의 채팅 출력을 비활성화해도 모든 피드백이 비활성화되지는 않습니다. /xp 같은 일부 명령어는 명령어 블록 채팅 출력이 비활성화된 경우에도 계속 피드백을 제공합니다. "sendcommandfeedback" 게임 규칙은 이러한 메시지도 모두 비활성화하여 명령어 시스템의 채팅을 모두 차단합니다.

/gamerule sendcommandfeedback false

"commandblocksenabled"

"commandblocksenabled"를 켜고 끄는 방법으로 월드에서 명령어 블록을 빠르게 활성화하거나 비활성화할 수 있습니다. 반복형 명령어 블록이 여러분을 반복적으로 순간이동시키는 경우에 특히 유용합니다.

/gamerule commandblocksenabled false

"dodaylightcycle"

게임을 제작을 하거나 플레이할 때 문제가 생기지 않도록 시간대 전환을 멈출 수 있습니다. 따라서 여러분이 게임에서 설정한 시간(예를 들면 /time 명령어를 사용하여)이 그대로 유지됩니다.

/gamerule dodaylightcycle false

"doweathercycle"

"dodaylightcycle"과 마찬가지로 날씨 주기를 제어할 수도 있습니다. 행복한 월드를 만들고 싶다면 천둥번개 설정은 별 도움이 안 될 것입니다. "doweathercycle"을 비활성화하면 /weather 명령어를 사용하더라도 날씨가 변하지 않습니다.

/gamerule doweathercycle false

/gamemode

콘텐츠를 제작할 때는 대부분 크리에이티브 모드로 플레이할 것입니다. 하지만 콘텐츠를 테스트하려면 서바이벌 혹은 모험 모드가 필요합니다. /gamemode 명령어로 현재 게임 모드를 변경할 수 있습니다.

/gamemode <gameMode: GameMode> [player: target]
/gamemode <gameMode: int> [player: target]

전체 이름, 단일 문자, 숫자 표현 등 게임 모드에는 사용할 수 있는 여러 옵션이 있습니다. 사용할 수 있는 값은 "survival"("s" 또는 0), "creative"("c" 또는 1), "adventure"("a" 또는 2)입니다. 또한 "default"("d")로 설정하면 여러분의 게임 모드가 현재 월드의 기본 게임 모드로 변경됩니다. 다음 예시를 채팅으로 실행하면 게임 모드를 크리에이티브 모드로 변경합니다.

/gamemode creative

대상 선택기를 사용하여 특정 플레이어의 게임 모드를 변경할 수도 있습니다. 이 기능을 사용하면 게임 플레이의 양상을 조종할 때(예를 들어 모험 모드에서 채광 능력을 없애는 경우) 유용합니다. 다음 예시에서 "sometag" 태그를 가진 모든 플레이어의 게임 모드를 모험 모드를 변경합니다.

/gamemode adventure @a[tag=sometag]

/time set

좋은 분위기를 조성하려면 환경을 변경하는 것도 좋은 방법입니다. 그런 방법으로 시간대를 변경하는 것이 있습니다.

/time set <amount: int>
/time set <time: TimeSpec>

하루 중 특정 시간을 나타내는 정수를 입력하는 방법도 있고, 다음과 같이 일반적으로 시간을 칭하는 값 중 하나로 쉽게 "TimeSpec"을 설정할 수도 있습니다. "day", "midnight", "night", "noon", "sunrise", "sunset". 예를 들어 다음 설정을 사용하면 플레이어 바로 위에 태양을 빠르게 설정할 수 있습니다.

/time set noon

/weather

/time set과 같이 /weather 명령어로 환경을 변경할 수 있습니다. 특정 날씨로 변경하고 싶다면 이 명령어를 사용하면 됩니다.

/weather <clear|rain|thunder> [duration: int]

선택 사항으로 지속 시간을 숫자로 입력하면 선택한 날씨가 지속될 게임 틱을 지정합니다. 1초는 20 게임 틱이므로 날씨가 지속되길 원하는 시간을 초로 계산해 20을 곱해주면 됩니다. 다음 예시는 천둥이 30초(600틱) 동안 치게 날씨를 설정합니다.

/weather thunder 600

"doweathercycle" 게임 규칙을 반드시 거짓으로 설정해야 날씨 지속 시간을 사용할 수 있습니다. 참으로 설정되어 있을 경우 날씨 주기가 실행되지 않아 지속 시간이 소용없게 됩니다.

/setworldspawn

월드에 새로 참여한 플레이어나 죽은 플레이어가 생성되는 위치를 특정하고 싶은 경우 /setworldspawn 명령어를 사용할 수 있습니다.

/setworldspawn [spawnPoint: x y z]

죽은 플레이어 중에 침대에서 생성되는 것으로 설정한 플레이어는 그대로 침대에서 재생성됩니다.

/tp 또는 /teleport

때로는 편리한 이동 수단을 제공하고 싶을 수도 있고 플레이어(또는 플레이어가 아닌 개체)가 있는 위치를 조종해야 하는 경우가 있을 수도 있습니다. /tp 명령어는 대상으로 선택된 플레이어나 다른 개체를 특정 장소로 이동시킵니다. /tp 명령어 구문은 처음 보면 어려워 보이지만 같은 옵션에서 갈라지는 설정이 많을 뿐입니다.

/tp <victim: target> <destination: target> [checkForBlocks: Boolean]
/tp <victim: target> <destination: x y z> [checkForBlocks: Boolean]
/tp <victim: target> <destination: x y z> [yRot: value] [xRot: value] [checkForBlocks: Boolean]
/tp <victim: target> <destination: x y z> facing <lookAtEntity: target> [checkForBlocks: Boolean]
/tp <victim: target> <destination: x y z> facing <lookAtPosition: x y z> [checkForBlocks: Boolean]

간단하게 말하자면 플레이어를 특정 좌표 위치로 순간이동시키는 것입니다.

/tp @p 100 50 100

다른 플레이어나 개체로 순간이동시킬 수도 있습니다. 목적지인 대상은 단일 개체로 설정되어야 하므로 단일 개체만 대상으로 선택하는 대상 선택기를 사용하거나 원하는 대상이 중복되지 않는지 확인해야 합니다(예를 들어 /tag 명령어를 사용하여 대상을 식별).

/tp Steve Alex
/tp @p @e[type=minecraft:armor_stand,c=1]
/tp @a @e[type=minecraft:creeper,tag=destination_1]

일반 옵션인 "checkForBlocks"는 기본적으로 거짓으로 설정되지만 참으로 설정하면 플레이어를 이동시킬 위치에 블록이 있을 경우 순간이동이 중단됩니다.

이 명령어는 스티브를 좌표[50, 63, 50]으로 순간이동하고 방해가 되는 블록이 없는지 확인합니다.

/tp Steve 50 63 50 true

/give, /clear, /replaceitem

이 세 가지 명령어는 플레이어의 인벤토리를 관리합니다. /replaceitem의 경우 플레이어가 아닌 개체의 인벤토리와 블록의 인벤토리도 변경할 수 있습니다. /give 명령어는 아이템을 지급하고 /clear 명령어는 아이템을 삭제하며 /replaceitem 명령어는 인벤토리의 특정 슬롯에 아이템을 배치할 수 있습니다.

/setblock, /fill, /clone

이 명령어들은 월드의 물리적인 블록을 변경합니다. /setblock 명령어는 단일 블록을 배치할 수 있으며 /fill 명령어는 같은 블록을 여러 개 배치할 수 있습니다. /clone 명령어는 한 지역의 블록을 복사하여 다른 지역에 붙여넣을 수 있습니다.

/effect

/effect 명령어를 사용하면 상태 효과를 추가하거나 제거할 수 있습니다. 대상의 모든 상태 효과가 제거될 수도 있습니다.

/summon

/summon 명령어는 월드에 소나 양부터 여러분이 제작한 새 개체까지 모두 생성할 수 있습니다.

/tellraw, /titleraw

/say, /tell, /title 명령어는 번역을 사용할 수 없기 때문에 정보를 전달할 때 사용하기 불편합니다. /tellraw/titleraw 명령어는 JSON 입력으로 메시지를 작성하면 번역을 사용할 수 있습니다. /tellraw 명령어는 "whisper" 문과 함께 사용되지 않기 때문에 더 명확하게 정보를 전달할 수 있습니다.

/tellraw @a {"rawtext":[{"translate":"commands.testfor.success","with":["PlayerName"]}]}

/tellraw @a {"rawtext":[{"text":"Hello World"}]}

/scoreboard

/scoreboard 명령어는 매우 강력한 도구로, 개체마다 숫자 값을 기록할 수 있으며 명령어를 사용해 수학 연산을 수행할 수도 있습니다. 먼저 목표를 설정하고 선택적으로 사이드바에 목표를 표시합니다.

/scoreboard objectives add objectiveA dummy

/scoreboard objectives setdisplay sidebar objectiveA

가장 단순한 활용 방법은 특정 목표를 달성한 플레이어에게 보상을 지급하는 것입니다.

/scoreboard players add @p objectiveA 1

다음으로 대상 선택기를 사용하여 일정 점수를 획득한 플레이어를 선택합니다.

@a[scores={objectiveA=10..}]

/tag

/scoreboard 명령어와 유사하게 /tag 명령어도 개체마다 string 값을 기록할 수 있습니다. 태그는 "참/거짓" 조건처럼 숫자 값이 필요하지 않은 경우에 사용됩니다. 예를 들어 개체의 태그를 보스로 지정하고 나중에 해당 태그를 가진 개체들을 태그로 찾아 선택할 수 있습니다.

/tag @e[type=sheep] add boss
/tag @e[type=minecart] add boss
/say Bosses: @e[tag=boss]

/testfor, /testforblock, /testforblocks

이 명령어들은 개체, 블록, 블록 구조의 복사본의 존재를 확인할 때 사용합니다. 이 명령어들은 조건부 명령어 블록과 사용하면 매우 유용하며 비슷한 조건부 설정을 사용할 수 없는 함수와 함께 사용할 때는 다소 부족합니다.

/testfor/testforblock 명령어는 개체가 존재하거나 블록이 존재할 경우 명령어 실행을 보조하는 /execute를 사용할 때 대부분의 경우 실행되지 않고 뛰어넘게 됩니다.

/execute

/execute 명령어의 가장 주요한 기능은 /execute가 포함된 명령어를 실행할 때 실행기와 실행 기준점을 변경하는 것입니다. 또한 구문이 조건부 명령어 실행을 지원하는데 함수로는 사용할 수 없는 기능입니다.

/execute <origin: target> <position: x y z> <command: command>

/execute <origin: target> <position: x y z> detect <detectPos: x y z> <block: Block> <data: int> <command: command>

예를 들어 플레이어의 아래에 특정 블록이 있는지 감지하여 명령어를 실행하려면 /testforblock 명령어를 포함하여 사용하는 대신 "detect" 인수를 사용할 수 있습니다.

/execute @a ~ ~ ~ detect ~ ~-1 ~ grass 0 say Player is standing on top of grass.

다음 튜토리얼

명령어, 대상 선택기, 명령어 블록, 자주 사용하는 명령어들을 배웠습니다. 이제 모든 내용을 함께 활용해 유적 완성 시스템 형식의 작은 프로젝트를 제작해 보겠습니다.