다음을 통해 공유


명령어 블록 알아보기

명령어 블록은 Minecraft: Bedrock Edition 월드에 등장하는 특별한 종류의 블록으로 게임 내에서 명령어 창을 사용할 수 있습니다. 채팅으로 사용할 수 있던 명령어들을 레드스톤의 파워로 명령어 블록을 사용해 자동으로 작동시킬 수 있습니다.

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

  • 명령어 블록이 무엇인지 그리고 게임에서 사용하는 방법을 알아봅니다.
  • 명령어 블록으로 명령어를 사용하는 방법을 알아봅니다.
  • 여러 명령어 블록을 연결하여 연쇄형 명령어 블록를 만드는 방법을 알아봅니다.
  • 게임플레이 중 어떤 행동을 한 플레이어에게 보상을 줄 수 있는 순환을 만들어봅니다.

이 튜토리얼에서 지정된 지역에서 특정 종류의 블록을 찾아내고 정확한 위치에 블록을 위치시킨 플레이어에게 보상을 지급하는 연쇄형 명령어 블록을 만들어봅니다.

요구 사항

지도 설정하기

명령어 블록은 모든 Minecraft 월드에서 쓸 수 있지만 쉽고 단순한 환경인 평면 월드에서 진행하겠습니다.

  1. Minecraft: Bedrock Edition을 실행하세요.
  2. 플레이에서 새로 만들기를 선택하고 새로운 월드 만들기를 실행합니다.
  3. 월드 설정에서 월드 유형을 평면으로 선택합니다.
  4. 월드 설정에서 좌표 보기를 활성화합니다.
  5. 월드 설정에서 치트키 활성화를 선택합니다.
  6. 만들기를 실행합니다.

명령어 블록 얻기

명령어 블록은 명령어를 실행해야 얻을 수 있습니다.

  1. 채팅을 여세요.
  2. 다음 명령어를 입력하세요. /give @p command_block.

소지품에 명령어 블록 하나가 추가됩니다.

명령어 블록 사용하기

먼저 명령어 블록을 다른 블록처럼 바닥에 내려놓습니다. 명령어 블록의 옆면을 보면 화살표를 볼 수 있습니다.

명령어 블록 화살표가 오른쪽을 가리키고 있는 이미지

이 화살표는 블록을 내려놓았을 때 언제나 플레이어 방향을 가리킵니다. 화살표는 실행 방향을 나타냅니다. 이미지에서 본 것처럼 왼쪽에 있는 블록이 먼저 실행되며 다음으로 중앙의 명령어 블록이 실행되고 마지막으로 오른쪽 블록이 실행됩니다.

사용 버튼을 클릭(PC 버전에서 오른쪽 클릭)하여 명령어 블록 인터페이스를 엽니다.

명령어 블록 사용자 인터페이스

명령어 블록 유저 인터페이스 개요 도표

  • 블록 유형은 명령어 블록의 종류를 정의합니다. 3가지 종류가 있습니다.
    • 반응형 명령어 블록은 레드스톤 신호를 받으면 활성화됩니다.
    • 연쇄 명령어 블록은 해당 명령어 블록을 가리키는 다른 명령어 블록이 활성화될 때 활성화됩니다.
    • 반복형 명령어 블록은 레드스톤 신호를 받는 동안 매 틱마다 활성화됩니다. Minecraft는 1초에 20틱이 흐릅니다.
  • 조건은 명령어 블록이 실행되는 상황을 정의합니다. 2가지 종류가 있습니다.
    • 조건부는 연쇄의 이전 블록이 성공적으로 실행됐을 때 활성화됩니다.
    • 무조건부는 연쇄의 이전 블록의 성공적인 실행과 관계 없이 활성화됩니다.
  • 레드스톤은 명령어 블록의 실행에 레드스톤이 필요한지 결정합니다. 2가지 종류가 있습니다.
    • 레드스톤 필요는 명령어 블록이 레드스톤 파워를 받았을 때만 활성화되게 합니다.
    • 항상 사용은 명령어 블록이 레드스톤 파워와 관계 없이 활성화되게 합니다. 이 경우 반응형 명령어 블록은 한 번만 실행되므로 유용하지 않습니다. 연쇄 명령어 블록은 이 경우가 기본 설정입니다.
  • 첫 틱에 실행은 지연 시간이 있는 반복형 명령어 블록에만 사용할 수 있습니다. 활성화될 경우 블록이 파워를 얻은 순간 명령어가 실행되며 다시 작동할 때까지 지연 시간이 생깁니다. 비활성화된 경우 지연 시간이 끝나고 명령어가 처음 실행됩니다.
  • 틱 지연 시간은 명령어 블록이 레드스톤 파워를 받고 명령어 블록이 실행될 때까지 지연되는 시간을 정하는 값입니다.

게임플레이 순환 설계

명령어 블록의 활용 방법으로 크리에이터들이 Minecraft에서 게임플레이 순환을 만들 수 있습니다. 간단한 게임플레이 순환으로 어떤 행동을 한 플레이어에게 보상을 줄 수 있습니다. 게임플레이 순환으로 다이아몬드 블록을 특정한 자리에 위치시킨 플레이어에게 에메랄드를 지급하려면 다음과 같은 단계를 거치면 됩니다.

  1. 지정된 장소에 다이아몬드 블록이 있는지 확인합니다.
  2. 있을 경우 플레이어가 보상을 받았는지 확인합니다.
  3. 플레이어가 보상을 받지 않았을 경우 플레이어에게 에메랄드를 지급합니다.
  4. 플레이어에게 에메랄드를 지급했다면 보상을 받은 것을 표시합니다.

첫 명령어 블록 설정하기

명령어 블록의 설정을 살펴봤으니 지정한 장소에 특정 종류의 블록이 있는지 탐색하는 블록을 만들어보겠습니다.

  1. 여러분의 플레이어 캐릭터 주변 바닥에 명령어 블록을 내려놓습니다.
  2. 명령어 블록 인터페이스를 엽니다.
  3. 블록 유형반복형으로 설정합니다.
  4. 레드스톤항상 사용으로 설정합니다.

/testforblock 명령어

/testforblock 명령어는 월드의 일정 지역에서 특정 블록을 탐색합니다.

/testforblock <position: x y z> <tileName: Block> [dataValue: int]

  • 위치는 명령어로 특정 블록을 탐색할 월드의 좌표를 의미합니다. 예시: 0 4 0.
  • tileName은 찾아야 하는 블록의 종류입니다. 예시: diamond_block.
  • dataValue는 같은 유형의 블록의 다양한 종류를 나타내는 선택형 인수입니다. 이번 튜토리얼에서는 사용하지 않습니다.

튜토리얼을 잘 따라오셨다면 지금 평면 월드에 있을 것입니다. 주변을 살펴보면 플레이어의 위치는 현재 화면의 상단 왼쪽에 있는 것을 알 수 있습니다. 오리진 주변의 블록을 확인해보겠습니다.

  1. 명령어 입력 섹션에서 다음을 입력하세요. /testforblock 0 4 0 diamond_block.
  2. 인터페이스를 닫으세요.

연쇄형 명령어 블록

다음 단계로 연쇄형 명령어 명령어 블록을 만들어보겠습니다. 이전에 설명한 것처럼 연쇄 명령어 블록은 해당 명령어 블록을 가리키는 다른 명령어 블록이 활성화될 때 활성화됩니다. 이미지에 나타난 화살표 방향에 맞춰 블록을 내려놓으세요.

/testforblock 명령어 블록 설정하기

  1. 새 명령어 블록을 이전 블록 옆에 내려놓으세요. 새로 내려놓는 블록은 반드시 이전 블록의 화살표가 가리키는 방향 앞에 내려놓아야 합니다.
  2. 명령어 블록 인터페이스를 여세요.
  3. 블록 유형연쇄로 설정합니다.
  4. 조건조건부로 설정합니다.
  5. 레드스톤항상 사용으로 설정합니다.
  6. 명령어 입력 설정 /testfor @p[tag=!placed_block]

두 번째 블록이 조건부로 설정되었기 때문에 첫 명령어 블록이 성공적으로 실행되어 다이아몬드 블록을 찾았을 경우에만 두 번째 블록이 실행됩니다. 이 명령어는 플레이어가 보상을 받았는지 확인합니다.

보상 명령어 블록 설정하기

블록을 알맞는 장소에 위치시킨 플레이어에게 보상을 지급하는 세 번째 블록을 만들어보겠습니다.

  1. 새 명령어 블록을 이전 블록 옆에 내려놓으세요. 새로 내려놓는 블록은 반드시 이전 블록의 화살표가 가리키는 방향 앞에 내려놓아야 합니다.
  2. 명령어 블록 인터페이스를 여세요.
  3. 블록 유형연쇄로 설정합니다.
  4. 조건조건부로 설정합니다.
  5. 레드스톤항상 사용으로 설정합니다.
  6. 명령어 입력/give @p emerald으로 설정합니다.

다시 말하자면 이 명령어는 이전 명령어가 성공적으로 실행됐을 때만 실행됩니다. 따라서 다이아몬드 블록이 존재하며 블록을 위치시킨 플레이어가 보상을 받지 않았어야 합니다.

순환 끝내기

만약 이대로 두면 다이아몬드 블록을 0 4 0에 둔 플레이어가 에메랄드를 1초에 20개 받게 됩니다! 따라서 한 단계를 더 만들어야 하는데 바로 보상을 받은 플레이어를 표시하는 단계입니다.

  1. 새 명령어 블록을 이전 블록 옆에 내려놓으세요. 새로 내려놓는 블록은 반드시 이전 블록의 화살표가 가리키는 방향 앞에 내려놓아야 합니다.
  2. 명령어 블록 인터페이스를 여세요.
  3. 블록 유형연쇄로 설정합니다.
  4. 조건조건부로 설정합니다.
  5. 레드스톤항상 사용으로 설정합니다.
  6. 명령어 입력 설정 /tag @p add placed_block

순환 테스트하기

모든 요소가 제대로 설정됐다면 0, 4, 0에 다이아몬드 블록을 위치시켰을 때 에메랄드 하나가 플레이어 소지품에 추가될 것입니다.