최근 수정 시각 : 2025-02-11 04:31:45

마인크래프트/명령어/텍스트 구성 요소


파일:상위 문서 아이콘.svg   상위 문서: 마인크래프트/명령어

1. 개요2. 자바 에디션 1.21.5 이후
2.1. 텍스트2.2. 예시
3. 베드락 에디션 + 자바 에디션 1.21.4 이전
3.1. 문법
3.1.1. 자바 에디션
3.1.1.1. 글씨 효과3.1.1.2. 클릭 이벤트3.1.1.3. 호버 이벤트
3.1.2. 베드락 에디션

1. 개요

이 문서는 텍스트를 보내고 표시하는 데 사용된다. 명령어와 데이터 팩을 사용하여 사용자가 직접 보낼 수 있다.

2. 자바 에디션 1.21.5 이후

1.21.5에서는 텍스트 구성 요소 포맷이 많이 변경되었다. 그중 가장 큰 변경 사항은 JSON이 아닌 SNBT로 해야한다.

하나의 부모 구성 요소가 있을수도, 자식 구성 요소가 있을 수도, 자식 구성 요소는 자식을 가질 수 있다. 구성 요소에는 스타일이 추가될 수도 있으며, 자식 구성 요소에 상속된다.

텍스트 부모 구성요소는 3가지가 허용된다.
String

List
Compound


  • - "NamuWiki"는 {"text": "NamuWiki"} 와 동일하다.

  • - ["Namu", "Wi","ki"]{"text": "Namu", "extra": ["Wi", "ki"]} 와 동일하다.
    • 즉 첫번째만 스타일을 초록색으로 지정하면 [{"text": "Namu", "color": "green"}, "Wi", "ki"] Namu만 초록색이 아니라 Wi, Ki도 초록색이 된다.
  • - 텍스트 구성 요소 객체이다.

  • 텍스트 구성 요소
    • type <
      > - 선택 사항. "text", "translatable", "score", "selector", "keybind", "nbt" 중 하나만 고를 수 있다.
      • 만약 비어있거나 값이 잘못되었다면 자동으로 type 결정한다.
    • 그 외는 텍스트 문단을 참고한다.

    • extra <
      > - 선택 사항. 자식 텍스트 구성 요소. 자식 텍스트 구성 요소는 부모 구성 요소에서 모든 서식 및 상호 작용을 상속한다.

      • color <
        > - 선택 사항. 색상을 변경한다.

      #hex_code

      black dark_gray

      dark_red red

      dark_green green

      gold yellow

      dark_blue blue

      dark_purple light_purple

      dark_aqua aqua

      gray white
    • shadow_color <
      > - 선택 사항. 글자의 그림자 색을 변경한다. RGBA 배열을 따른다. 예: {"shadow_color":[1.0, 1.0, 1.0, 1.0]}
    • font <
      > - 선택 사항. 글꼴을 변경한다. 기본값은 {font: "minecraft:default"} 이다.
    • bold <
      > - 선택 사항. 해당 글자를 굵게 표시할지 여부. true일 경우 굵게 설정한다.
    • italic <
      > - 선택 사항. '해당 글자를 기울리게 표시할지 여부. true일 경우 기울리게 설정한다.
    • underlined <
      > - 선택 사항. 해당 글자를 밑줄 표시할지 여부. true일 경우 밑줄을 표시한다.
    • strikethrough <
      > - 선택 사항. 해당 글자를 취소선 표시할지 여부. true일 경우 취소선을 표시한다.
    • obfuscated <
      > - 선택 사항. 해당 글자를 파일:마인크래프트_난독화문자3.gif 파일:마인크래프트_난독화문자3(화이트).gif 표시할지 여부. true일 경우 해당 글자는 읽을 수 없게 된다.

    • insertion <
      > - 선택 사항. 텍스트를 Shift 키를 누른 채 클릭하면 이 문자열이 채팅 입력란에 삽입된다. 이 기능은 대화에서만 작동한다.
    • click_event < > - 선택 사항. 텍스트를 클릭할 때 이벤트가 발생한다. 특별한 경우가 아니라면 대화 메시지와 서명된 책에서만 작동한다.
      • action <
        > - 클릭 시 수행할 작업. 다음 값만 허용된다.
        • "open_url" - 클릭 시 기본 웹 브라우저에서 지정된 URL을 연다.
        • "open_file" - 클릭 시 지정된 파일을 연다. 보안상 이유로 사용할 수 없지만, 일부 시스템 메시지(예: 스크린샷 찍기 등) 는 사용된다.
        • "run_command" - 각각 환경에 따라 다르지만 공통적으로 클릭/상효작용 시 명령어를 실행한다.
          • 표지판: 명령 블록과 같은 권한으로 실행되며, 입력 제한이 없다. 그리고 실행자(@s)는 상호작용한 플레이어가 된다.
          • 대화, 쓰여진 책: 이 텍스트를 클릭한 플레이어는 대화에 Enter를 누른 것처럼 채팅에 지정된 명령어를 입력한다. 따라서 현재 플레이어 권한을 따른다. 입력 제한이 256자이며, 대화 관련된 명령어(me, tell, msg, w, say, tm, teammsg 명령어)는 사용할 수 없다.
        • "suggest_command" - 클릭 시 대화창에 자동 타이핑된다.
        • "change_page" - 책에서만 이용가능하다. 클릭 시 페이지로 이동한다.
        • "copy_to_clipboard" - 클릭 시 클립보드에 복사한다.


        • action이 "open_url"일 경우...

        • action이 "open_file"일 경우...
          • ??? <
            Unknown
            > - 열 파일 경로.

          action이 "run_command"일 경우...
          • command <
            > - 실행할 명령어.

          action이 "suggest_command"일 경우...
          • command <
            > - 대화을 자동으로 타이핑되는 명령어.

          action이 "change_page"일 경우...
          • page <
            > - n 페이지로 이동.

          action이 "copy_to_clipboard"일 경우...
          • value <
            > - 복사할 텍스트.
    • hover_event < > - 선택 사항. 텍스트 위로 마우스를 가져갈 때 툴팁을 표시한다.
      • action <
        > - 호버 시 수행할 작업. 다음 값만 허용된다.
        • "show_text" - 텍스트 구성 요소를 보여준다.
        • "show_item" - 인벤토리에서 아이템 위에 마우스를 올려 놓았을 때처럼 해당 아이템의 툴팁을 표시한다.
        • "show_entity" - 개체 이름, 유형, UUID를 표시한다.


        • action이 "show_text"일 경우...

        • action이 "show_item"일 경우...
          • id <
            > - 아이템 id. 유효하지 않은 아이템은 minecraft:air로 지정된다.
          • count <
            > - 선택 사항. 아이템 개수.
          • components < > - 선택 사항. 아이템 구성 요소.

          action이 "show_entity"일 경우...
      • value <

        > - deprecated. 다른 값을 사용한다.

2.1. 텍스트

일반 텍스트
  • 텍스트 구성 요소
    • type <
      > - "text"을 입력한다.
    • text <
      > - 적고 싶은 텍스트

번역 텍스트
현재 선택한 언어에서 번역된 텍스트를 표시한다. 다른 언어로 설정한 플레이어가 같은 서버에 있을 경우 각자 자신의 언어로 볼 수 있다.
  • 텍스트 구성 요소
    • type <
      > - "translatable"을 입력한다.
    • translate <
      > - 언어 파일에서 발견된 식별자에 해당하는 번역 식별자. 해당 번역을 찾을 수 없는 경우 식별자 자체가 번역된 텍스트로 사용됩니다.
    • fallback <
      > - 선택 사항. 번역을 찾을 수 없다면 대체된 텍스트.
    • with <
      > - 선택 사항. 번역 텍스트의 슬롯에 삽입할 텍스트 구성 요소.

스코어보드 값
스코어보드에서 점수를 표시한다.
  • 텍스트 구성 요소
    • type <
      > - "score"을 입력한다.
    • score < > - 현재 점수를 표시한다. 점수 또는 목표가 존재하지 않거나, 대상 선택 인자에서 추적되지 않으면 아무것도 표시하지 않다.
      • name <
        > - 점수 가진자 이름. 대상 선택 인자도 사용이 가능하다.
      • objective <
        > - 목표 이름.

개체 이름
  • 텍스트 구성 요소
    • type <
      > - "selector"을 입력한다.
    • selector <
      > - 대상 선택 인자.
    • separator < > - 선택 사항. 구분 기호. 기본 값은 {color: "gray", text: ", "} 이다. 대상 선택자가 여려마리라면 구분 기호가 추가된다.

조작키

NBT
  • 텍스트 구성 요소
    • type <
      > - "nbt"을 입력한다.

2.2. 예시

다양한 방법의 Hello world 출력.
{text: "Hello world"} "Hello world"
[{text: "Hello"}, {text: " world"}] [{text: "Hello "}, "world"]

#608b4e 색의 Hello World!.
{text:"Hello World!",color:"#608b4e"}
foo!이라는 굵은 글자를 출력하고, 클릭하면 bar!가 출력.
{text:"foo!",bold:true,click_event:{action:"run_command",command:"/tellraw @s {text:\"bar!\"}"}
플레이어 접속 메시지 띄우기. 번역 문자열이므로 클라이언트 언어에 따라 다르게 출력된다.
{translate:"multiplayer.player.joined",with:["Player"],color:"yellow"}

3. 베드락 에디션 + 자바 에디션 1.21.4 이전

3.1. 문법

#!syntax json
["",{"객체":"내용","다음 객체":"다음 내용",...},{"객체":"내용","다음 객체":"다음 내용",...}]

이때 큰따옴표, 중괄호, 쉼표, 콜론(:)이 하나라도 빠지면 제대로 실행되지 않을 것이다. 내용이 truefalse가 아니면 항상 객체와 내용 양 옆에 큰따옴표를 붙여야 한다는 것을 잊어서는 안 된다.

만약 큰따옴표 안에 큰따옴표나 콜론이나 역슬래시(\)를 쓰고 싶다면, 앞에 역슬래시를 두개 써서 이스케이프 하면 된다.

\uXXXX (유니코드 16진수 숫자 4자리)나 \n, \t 같은 것도 되긴 하지만 제대로 표시되지 않는 경우가 많다.

이때, 유니코드 16진수 숫자 4자리를 사용할 때는 \uXXXX 자체가 하나의 문자이기 때문에 앞에 역슬래시를 붙여서는 안된다.

입력 결과
옳은 예 "text": "안녕하세요 \u4e16" 안녕하세요 世
틀린 예 "text": "안녕하세요 \\u4e16" 안녕하세요 \\u4e16

3.1.1. 자바 에디션

마인크래프트에서 tellraw, title 등의 명령어에서 사용한다. {"이름":"내용"}의 형식으로 작성한다.

예) 빨간색의 hi라는 글
{"text":"hi","color":"red"}

안녕!이라는 굵은 글자를 출력하고, 클릭하면 반가워!가 출력
{"text":"안녕!","bold":true,"clickEvent":{"action":"run_command","value":"/tellraw @a {"text":"반가워!"}}

안녕 난위키러야!
["",{"text":"안녕 난 "},{"text":"위키러야!","color":"red"}] 혹은 {"text":"안녕 난 ","extra":[{"text":"위키러야!","color":"red"}]}

타이머 표시하기
["",{"text":"남은 시간:"},{"score":{"name":"<개체 이름>","objective":"<분을 나타내는 스코어보드>"}},{"text":":"},{"score":{"name":"<개체 이름>","objective":"<초를 나타내는 스코어보드>"}}]
3.1.1.1. 글씨 효과
  • text: 문자열을 출력한다. \\n을 사용하면 줄바꿈을 할 수 있다.
  • score: 스코어보드의 점수를 출력한다.
    형식: {"score":{"name":"점수를 가진 대상","objective":"점수 아이디"}}
  • selector: 대상으로 지정된 개체들의 이름을 출력한다. 여러 개체인 경우 쉼표(,)를 사용하여 구분된다. text에서 사용할 수 없는 대상 선택 인자(@a, @p, @r, @e, @s)를 사용할 수 있다.
    형식: {"selector":"대상 선택 인자"}
  • translate: 마인크래프트 게임 내의 번역 문자열을 출력한다. 번역 문자열의 목록은 .minecraft\versions\(버전)\(버전).jar\assets\minecraft\lang\en_us.json(영어)에 있다.
    형식: {"translate":"번역 문자열","with":["변수1","변수2", ...]}
  • keybind : 마인크래프트에서 자신이 설정한 조작키를 출력한다.
    형식: {"keybind":"key.sneak"} <-(왼쪽 Shift) [1]
  • nbt: 엔티티나 블록의 nbt를 출력한다. 참고로 storage의 값도 불러올 수 있다.
    형식: {"nbt":"nbt경로","개체나 블록"}
    예시: 자신의 체력을 표시하는 명령어 /title @s title {"nbt":"Health","entity":"@s"} (단, 값은 20.0f 이런 식이다.)
  • font: 글꼴을 지정한다. minecraft:uniform(유니코드 글꼴), minecraft:alt(마법부여대 글꼴), minecraft:default(기본 글꼴), minecraft:asciillager(던전스에서 나오는 룬 글꼴) 중에서 선택할 수 있다. 리소스팩으로 추가된 글꼴은 이외의 값을 가진다.
  • shadow_color: 글자의 그림자 색을 변경한다. RGBA 배열을 따른다.
    형식: {"shadow_color":[1.0, 1.0, 1.0, 1.0]}
  • color: 텍스트의 색을 지정한다. 가능한 값은 dark_red, red, gold, yellow, dark_green, green, aqua, dark_aqua, dark_blue, blue, light_purple, dark_purple, white, gray, dark_gray, black 그리고 #RRGGBB이다(JE 1.16+). 잘 보면 ANSI 이스케이프 코드 표준의 SGR 색상 설정 부분 특수화라고 볼 수 있다.
    형식: {"color":"색깔"}
    black dark_gray

    dark_red red

    dark_green green

    gold yellow

    dark_blue blue

    dark_purple light_purple

    dark_aqua aqua

    gray white
  • bold: true, false로 설정할 수 있으며, 글씨의 굵음을 설정한다.
    형식: {"bold":논리값}
  • italic: true, false로 설정할 수 있으며, 글씨의 기울어짐을 설정한다.
    형식: {"italic":논리값}
  • underlined: true, false로 설정할 수 있으며, 글씨의 밑줄 여부를 설정한다.
    형식: {"underlined":논리값}
  • strikethrough: true, false로 설정할 수 있으며, 글씨의 취소선 여부를 설정한다.
    형식: {"strikethrough":논리값}
  • obfuscated: true, false로 설정할 수 있으며, 글씨를 읽을수 없게 난독화할 지를 설정한다.
    형식: {"obfuscated":논리값}
3.1.1.2. 클릭 이벤트
클릭시 이벤트가 발생한다.
식 구성: {"clickEvent":{"action":"이벤트","value":"이벤트 값"}}
  • run_command: 클릭시 이벤트 값에 있는 채팅을 입력한다. 무조건 /가 있어야 하며 me, tell, msg, w, say, tm, teammsg 명령어는 실행할 수 없다. 최대 256자 까지만 된다. 책으로 클릭하면 창이 닫는다.
  • suggest_command: 클릭시 이벤트 값에 있는것이 자동 타이핑 된다.
  • open_url: 클릭시 이벤트 값에 있는 URL에 들어간다.
  • copy_to_clipboard: value에 있는 클립보드에 복사한다.
  • change_page: 책에서만 이용가능하다. 클릭시 이벤트 값에 있는 페이지로 이동한다.
  • open_file: 보안 상 이유로 1.8부터 제거되었다. 기능 자체는 남아있어 스크린샷을 찍고 파일명을 클릭하면 나타나는 것이 이것이다.
  • twitch_user_info: 1.9부터 Twitch 지원이 제거되었다. 클릭시 트위치 사용자 정보 GUI 화면이 열린다.
3.1.1.3. 호버 이벤트
글자에 마우스를 가까이 대면 이벤트가 발생한다.
식 구성 : {"hoverEvent":{"action":"이벤트","value":"이벤트 값"}}
  • show_text : 글자에 마우스를 가까이 대면 이벤트 값에 있는 글자가 뜬다
  • show_item : 글자에 마우스를 가까이 대면 이벤트 값에 있는 아이템의 이름이 뜬다
  • show_entity : 글자에 마우스를 가까이 대면 이벤트 값에 있는 엔티티의 이름이 뜬다
  • show_achievement : 1.12부터 제거되었다. 대신 show_text를 사용할 수 있다. 글자에 마우스를 가까이 대면 이벤트 값에 있는 도전과제의 이름이 뜬다.

이벤트 값에 있는 글자의 색상을 바꾸고 싶다면 "value":"이벤트 값" 대신에 "value":{"text":"이벤트 값","color":"색상"} 을 입력하면 된다.

3.1.2. 베드락 에디션

BE의 경우에는 titleraw 명령어에서 JSON 문법을 사용하며, 객체 목록은 JE와 같다. *text *selector *score 등등이 가능해졌지만 여전히 클릭, 호버이벤트는 지원을 안하고 있다. 추후 업데이트때 나올가능성도 있다. 단, BE의 경우 JSON 문법에 다음과 같은 처리를 해야 한다.

{"rawtext":[JSON]}


파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 문서의 r831에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r831 (이전 역사)
문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

[1] https://www.minecraftjson.com/ 이 사이트에서 손쉽게 편집이 가능하다.