마인크래프트/명령어/JSON 문법

 



1. 개요
2. 참고
3. 문법
3.1. JE
3.1.1. 글씨 효과
3.1.2. 클릭 이벤트
3.1.3. 호버 이벤트
3.2. BE


1. 개요


마인크래프트의 명령어 JSON 문법을 나열하는 문서이다.

2. 참고


이 사이트를 참고하는 것을 추천한다. 단, 복사 붙여넣기는 CCL 위반이니 주의하길 바란다.
참고로 이 사이트를 이용해 쉽게 JSON 문법을 이용한 명령어를 만들 수 있다.

3. 문법


["",{"객체":"내용","다음 객체":"다음 내용",...},{"객체":"내용","다음 객체":"다음 내용",...}]
이 때, 큰따옴표, 중괄호, 반점, 콜론이 하나라도 빠지면 제대로 실행되지 않을 것이다. 내용이
true
false
가 아니면 '''항상 객체와 내용 양 옆에 큰따옴표를 붙여야 한다는 것을 잊어서는 안 된다.'''
만약 큰따옴표 안에 큰따옴표나 콜론(), 역슬래시(\\)를 쓰고 싶다면 앞에 역슬래시를 써줘 이스케이프하면 된다.
\uXXXX
(유니코드 16진수 숫자 4자리)나
\n
,
\t
같은 것도 되긴 하지만 제대로 표시되지 않는 경우가 많다.
이 때, 유니코드 16진수 숫자 4자리를 사용할 때는
\uXXXX
자체가 하나의 문자이기 때문에 앞에 역슬래시를 붙여서는 안된다.
'''예'''
'''입력'''
'''결과'''
'''옳은 예'''
"text": "안녕하세요 \u4e16"

안녕하세요 世
'''틀린 예'''
"text": "안녕하세요 \\u4e16"

안녕하세요 \\u4e16

3.1. JE


마인크래프트에서 tellraw, title 등의 명령어에서 사용한다.
{"이름":"내용"}의 형식으로 작성한다.
예)빨간색의 hi라는 글자
{"text":"hi","color":"red"}
안녕! 이라는 굵은 글자를 말하고 클릭하면 반가워! 라고 말하는 글자
{"text":"안녕!","bold":true,"clickEvent":{"action":"run_command","value":"/say 반가워!"}}
안녕 난 위키러야!(빨간 글씨)
["",{"text":"안녕 난"},{"text":"위키러야!","color":"red"}]
타이머 표현하기
["",{"text":"남은 시간:"},{"score":{"name":"<개체 이름>","objective":"<분을 나타내는 스코어보드>"}},{"text":":"},{"score":{"name":"<개체 이름>","objective":"<초를 나타내는 스코어보드>"}}]

3.1.1. 글씨 효과


  • text : 표시할 글자를 나타낸다. @a, @r ,@e 등의 대상 선택 인자는 selector를 사용해야한다. \\n을 사용하면 줄바꿈을 할 수 있다.
  • score : 스코어보드에 점수를 표시한다. 형식: {"score":{"name":"점수를 가진 대상","objective":"점수 아이디"}}
  • selector : text에서 사용할 수 없는 대상 선택 인자(@a, @p, @r, @e, @s)를 사용할 수 있다. 형식: {"selector":"대상 선택 인자"}
  • 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이다(1.16~). 형식: {"color":"색깔"}
  • bold : true, false로 설정할 수 있으며, 글씨의 굵음을 설정한다. 형식: {"bold":"논리값"}
  • italic : true, false로 설정할 수 있으며, 글씨의 기울어짐을 설정한다. 형식: {"italic":"논리값"}}
  • underlined : true, false로 설정할 수 있으며, 글씨에 밑줄치는 것을 설정한다. 형식: {"underlined":"논리값"}
  • strikethrough : true, false로 설정할 수 있으며, 글씨에 취소선을 치는것을 설정한다. 형식: {"strikethrough":"논리값"}
  • obfuscated : true, false로 설정할 수 있으며, 글씨를 읽을수 없게 난독화 하는것을 설정한다. 형식: {"obfuscated":"논리값"}

3.1.2. 클릭 이벤트


클릭시 이벤트가 발생한다.
식 구성 : {"clickEvent":{"action":"이벤트","value":"이벤트 값"}}
  • run_command : 클릭시 이벤트 값에 있는 커맨드를 실행한다.[1]
  • suggest_command : 클릭시 이벤트 값에 있는것이 자동 타이핑 된다.
  • open_url : 클릭시 이벤트 값에 있는 URL에 들어간다.
  • copy_to_clipboard : value에 있는 클립보드에 복사한다.
  • change_page : 클릭시 이벤트 값에 있는 페이지로 이동한다. 책에서만 이용가능하다

3.1.3. 호버 이벤트


글자에 마우스를 가까이 대면 이벤트가 발생한다.
식 구성 : {"hoverEvent":{"action":"이벤트","value":"이벤트 값"}}
  • show_text : 글자에 마우스를 가까이 대면 이벤트 값에 있는 글자가 뜬다
  • show_item : 글자에 마우스를 가까이 대면 이벤트 값에 있는 아이템의 이름이 뜬다
  • show_entity : 글자에 마우스를 가까이 대면 이벤트 값에 있는 엔티티의 이름이 뜬다
  • show_achievement : 글자에 마우스를 가까이 대면 이벤트 값에 있는 도전과제의 이름이 뜬다.


3.2. BE


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

[1] 256자 까지만 된다. 클릭시 레드스톤 블럭을 특정 좌표에 설치하고 명령을 실행하면 된다.[2] 베타 1.16.210.53에서 띄어쓰기한 개체 이름이 인식이 안되는 버그가 있다