마인크래프트/명령어/JSON 문법
1. 개요
마인크래프트의 명령어 JSON 문법을 나열하는 문서이다.
2. 참고
이 사이트를 참고하는 것을 추천한다. 단, 복사 붙여넣기는 CCL 위반이니 주의하길 바란다.
참고로 이 사이트를 이용해 쉽게 JSON 문법을 이용한 명령어를 만들 수 있다.
3. 문법
["",{"객체":"내용","다음 객체":"다음 내용",...},{"객체":"내용","다음 객체":"다음 내용",...}]
이 때, 큰따옴표, 중괄호, 반점, 콜론이 하나라도 빠지면 제대로 실행되지 않을 것이다. 내용이 true
나 false
가 아니면 '''항상 객체와 내용 양 옆에 큰따옴표를 붙여야 한다는 것을 잊어서는 안 된다.'''만약 큰따옴표 안에 큰따옴표나 콜론(), 역슬래시(\\)를 쓰고 싶다면 앞에 역슬래시를 써줘 이스케이프하면 된다.
\uXXXX
(유니코드 16진수 숫자 4자리)나 \n
, \t
같은 것도 되긴 하지만 제대로 표시되지 않는 경우가 많다. 이 때, 유니코드 16진수 숫자 4자리를 사용할 때는
\uXXXX
자체가 하나의 문자이기 때문에 앞에 역슬래시를 붙여서는 안된다.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]}