마인크래프트/명령어/스코어보드

역사 raw
대문 랜덤 문서 최근 토론
이 문서의 상위 문서:
1. 개요2. 목표3. 화면 슬롯4. 팀5. 명령어 문법
5.1. 목표 관련5.2. 플레이어 관련5.3. 팀 관련5.4. 팀 옵션 관련
6. 사용 예시
6.1. 체력 표시6.2. 살인 횟수6.3. 사망 횟수6.4. 당근 낚싯대로 텔레포트

1. 개요[편집]

마인크래프트에서의 명령어에 대한 추가 기능 중 하나이다. 스코어보드는 점수판이라는 뜻이고 플레이어에게 점수를 주거나 뺏을 수 있다. 사용법에 따라 상당히 복잡하고 정교한 시스템을 짤 수도 있지만, 명령어를 하나씩 입력해야 하기 때문에 상당히 귀찮은 작업이기도 하다.

스코어보드를 점수 말고 다른 것에 사용하고 싶다면 스코어보드를 변수라고 생각하면 된다. 진짜로 변수와 같은 기능을 할 수도 있기 때문.

2. 목표[편집]

목표는 이름, 보이는 이름, 기준으로 되어 있다. 점수는 32비트[1] 값이며, 10진수를 지원하지 않는다.
  • 목표의 이름(name)은 여러 명령어나, 대상 지정, 또는 파일 포맷에 사용되는 이름이다. 한 어절이어야 한다.[2]
  • 목표의 보이는 이름(display name)은 실제 화면 상에 보이는 이름으로, 여러 어절이어도 상관 없다.[3]
  • 목표의 기준(criteria)은 점수의 기준이다.
기준
내용
임의 설정
dummy[4]
명령어에 의해서만 변할 수 있고, 게임 내 상황에 따라서 변하지 않는다. 사용자가 임의로 만드는 기준이므로, 게임 자체와 전혀 상관 없는 점수에 편리하다. 예를 들어 마인크래프트에 없는 금전 개념[5] 등에 사용하거나, 점수 시스템 등을 짤 수 있다.
가능
trigger
dummy와 같이 명령어에 의해서만 변할 수 있고, 게임 내 상황에 따라서 변하지 않는다. /trigger 명령어에 의해서 조절될 수 있는데[6], trigger 명령어는 OP가 아니어도 사용할 수 있기에 편리하다.
가능
deathCount
플레이어가 죽을 때마다 자동으로 1씩 증가한다.
가능
playerKillCount
플레이어가 다른 플레이어를 직접 죽일 때마다 자동으로 1씩 증가한다.
가능
totalKillCount
플레이어가 다른 플레이어나 몹을 직접 죽일 때마다 자동으로 1씩 증가한다.
가능
health
체력을 반영한다. 일반적인 플레이어의 체력은 20이지만 생명력 강화나 흡수 효과로 체력이 증가하면 그것도 반영된다.
가능(체력을 임의 설정하면 된다.)
air
물 안에서의 공기를 반영한다.[7]
불가능
armor
방어력 수치를 반영한다.
불가능
food
허기 수치를 반영한다.
불가능
level
레벨 수치를 반영한다.
불가능
xp
지금까지 얻은 총 경험치 수치를 반영한다.[8]
불가능
teamkill
하위 기준은 팀의 색깔이다. 가능한 색은 "black", "dark_blue", "dark_green", "dark_aqua", "dark_red", "dark_purple", "gold", "gray", "dark_gray", "blue", "green", "aqua", "red", "light_purple", "yellow", "white"의 16가지로, 각각의 색을 가진 팀원이 다른 팀원을 죽이면 값이 증가한다.
가능

위에 있는 간단한 기준과 달리, 복합적인 기준들도 있다. ( minecraft.기준:minecraft.하위기준 )
기준
내용
임의 설정
broken
하위 기준은 내구도가 있는, 파괴될 수 있는 아이템들이다. 곡괭이, 낚싯대, 갑옷, 블록, 아이템 등 포함되어있다.
가능
crafted
하위 기준은 조합 가능한 아이템, 제련 가능한 아이템들이다. 조합한 횟수에 따라 자동으로 증가한다. [9]
가능
custom
하위 기준은 플레이어의 통계값들이고, 게임 메뉴 → 통계에서 확인할 수 있다. 이 값들은 플레이어의 행동에 따라 자동으로 증가한다.
가능
dropped
하위 기준은 플레이어가 해당 아이템을 던지면 값이 증가한다.
가능
killed
하위 기준은 이 엔티티들을 죽일 때마다 값이 증가한다.
가능
killed_by
하위 기준은 위와 같은 몹들이다. 이 몹에 의해서 사망하면 값이 증가한다.
가능
mined
하위 기준은 부술 수 있는 블록들이다. 크리에이티브 모드에서는 값이 증가하지 않는다.
가능
picked_up
하위 기준은 플레이어가 해당 아이템을 줍는다면 값이 증가한다.
가능
used
하위 기준은 아이템의 사용[10] 횟수. 아이템을 사용한 횟수에 따라 자동으로 증가한다.[11]
가능
플레이어의 기본 스탯을 제외한 기준은 모두 명령어로 수정할 수 있다.[12] 또한 명령어를 이용해서 다른 플레이어의 점수를 확인할 수 있다. scores 등의 선택 인자를 사용하여 확인 가능하다. 예를 들어 deaths의 기준이 deathCount라면, execute if entity @a[scores={deaths=1..5}] 명령어를 통해 죽은 횟수가 1~5번인 플레이어의 수를 셀 수 있다.

3. 화면 슬롯[편집]

마인크래프트 화면 상에 점수판을 표시할 만한 곳은 3곳이 있다.
슬롯
설명
list
Tab을 누르면 나오는 리스트, 플레이어 이름 오른쪽에 노란 글씨로 숫자가 표시 된다. [13]
sidebar
화면 오른쪽에 표시된다. 플레이어가 오프라인이라도 표시된다.
sidebar.team.<color>
위 sidebar에 색깔 별로 정해진 팀을 표시한다. 예를 들어 sidebar.team.red 라 쓰면 red 팀에 소속된 플레이어들의 점수가 표시된다.
belowName
플레이어 위에 있는 이름 밑에 점수가 표시된다. 플레이어가 10칸 너머에 있거나, 은신[14] 시 보이지 않는다.

4. 팀[편집]

팀을 정의할 때는 이름, 보이는 이름, 접두사, 접미사[15], 아군 공격 설정을 정해주어야 한다. 목표 때와 마찬가지로 이름은 한 어절, 보이는 이름은 여러 어절이어도 상관 없다. 접두사는 포매팅 코드[16]를 이용하여 여러 색을 지정해 줄 수 있고, 접미사는 리셋 코드만 가능하다.

아군 공격 설정을 거짓(false)으로 할 경우, 팀끼리는 근접 공격, 활, 고통의 물약 등의 무기로 대미지를 입힐 수 없다.[17] 참고로 이 설정을 거짓으로 했을 경우, 자신에게도 대미지를 입힐 수 없다.[18] 자신도 팀의 일원이므로. 설정을 참(true)으로 할 경우에는 일반 PvP처럼 적용된다.

5. 명령어 문법[편집]

<> 안의 문법은 필수 입력 사항, [] 안의 문법은 선택 입력 사항이다. 또한 명령어는 대소문자를 구분하니 주의.

5.1. 목표 관련[편집]

모든 문법은 /scoreboard objectives 로 시작한다.[예]
문법
설명
작동 조건
list
모든 목표의 이름과 보이는 이름, 기준을 화면에 표시한다.
하나 이상의 목표가 있어야 작동한다.
add <이름> <기준> [보이는 이름][20]
새 목표를 만든다. 보이는 이름은 생략 시 이름과 같게 된다.
이름은 이미 있는 것과 달라야 하며, 16자 이하이어야 한다. 기준은 가능한 종류이어야 하며, 보이는 이름은 32자 이하이어야 한다.
remove <이름>
특정 목표를 삭제한다.
삭제하려는 목표가 존재해야 한다.
setdisplay <슬롯> [목표][21]
목표를 특정 슬롯에 보이게 한다. 화면 슬롯 문단 참고. 목표 칸을 생략할 경우 그 슬롯을 비워서 원래 상태로 되돌린다.
목표가 존재해야 하며, 슬롯도 3가지 중 하나로 존재해야 한다.
자바에디션 한정 modify <목표> <displayname | rendertype>
displayname: 보이는 이름을 변경한다. rendertypes <heart | integer>: 체력이 하트 GUI또는 숫자로 보여지게 할지 정한다.
변경하려는 목표가 존재해야 하며 displayname의 경우 JSON 형식으로 적어야 한다.

5.2. 플레이어 관련[편집]

모든 문법은 /scoreboard players 로 시작한다.
명령어 문법
설명
작동 조건
list [플레이어]
점수판 시스템에 의해 영향을 받는 플레이어를 모두 표시한다. 뒤에 플레이어 이름을 쓰면 특정 플레이어의 점수를 확인할 수 있다.
플레이어는 적어도 하나 이상의 저장된 점수가 있어야 한다.
set <플레이어> <목표> <점수> [데이터 태그]
플레이어의 점수를 임의로 설정한다.
-2147483648~2147483647까지의 수만 가능하고, 기준이 health인 목표는 변경할 수 없다. 데이터 태그는 플레이어의 특성을 NBT 태그 형식으로 표현한 것이다.
add <플레이어> <목표> <수> [데이터 태그]
'수'만큼 그 목표의 점수를 증가시킨다.
1~2147483647까지의 수만 가능하고, 기준이 health인 목표는 변경할 수 없다. 데이터 태그는 플레이어의 특성을 NBT 태그 형식으로 표현한 것이다.
remove <플레이어> <목표> <수> [데이터 태그]
'수'만큼 그 목표의 점수를 감소시킨다.
위와 동일.
reset <플레이어> [목표]
플레이어의 모든 점수를 초기화한다. [목표]를 쓰면 그 목표의 점수만 초기화한다. [22]
-
enable <플레이어> <목표>
플레이어가 trigger 명령어를 통해 점수를 수정할 수 있도록 한 번을 허락한다.[23]
목표의 기준이 trigger이어야 한다.
operation <대상이름> <대상목표> <연산> <선택자> <목표>
선택자의 특정 목표의 점수를 이용해서 대상의 특정 목표의 점수에 대해 정수연산을 실행시킨다.
기준이 health인 목표는 변경할 수 없다. 두 목표의 점수가 있어야 한다.
[BE] test <대상이름> <대상목표> <최소점수> [최고점수]
선택자의 특정 목표의 점수가 최소점수 이상, 최고점수 이하에 있으면 성공한다. [최고점수]는 쓰지 않으면 점수가 <최저점수> 이상만 되더라도 성공한다. <최소점수>의 자리에 *를 쓰면 대상의 점수가 [최고점수] 이하만 되더라도 성공한다.
베드락에디션 한정 random <대상이름> <대상목표> <최소점수> <최고점수>
선택자의 <최소점수>부터 <최고점수>까지 무작위 숫자를 나타낸다.

마지막 scoreboard players operation 에서 가능한 연산은 아래와 같다.
  • "+=": 선택자의 점수를 대상에게 더한다.
  • "-=": 뺀다.
  • "*=": 곱한다.
  • "/=": 나눈다. 나머지는 버린다.
  • "%=": 나눗셈 결과의 나머지를 대상의 점수로 한다.
  • "=": 같게 한다.
  • "<": 만약 선택자의 점수가 대상보다 작으면, 대상의 점수를 선택자 점수로 만든다.
  • ">": 만약 선택자의 점수가 대상보다 크면, 대상의 점수를 선택자 점수로 만든다.
  • "><": 대상과 선택자의 점수를 바꾼다.

BE에서는 "<" 나 *">"를 사용할 때 조건[25]에 맞지 않아 실행되지 않을 때에도 성공적으로 실행되었다고 판단된다.

5.3. 팀 관련[편집]

모든 문법은 /team 으로 시작한다. 1.12.2 이전 /scoreboard team 명령어에 해당된다.
명령어 문법
설명
작동 조건
list [팀 이름]
팀의 목록을 표시하거나, 팀 이름을 추가할 시 그 팀의 소속 플레이어를 표시한다.
적어도 1개 이상의 팀이 있어야 한다.
add <이름> [보이는 이름]
팀을 만든다. 보이는 이름은 생략 시의 이름과 같다.
이름은 16자, 보이는 이름은 32자 이하이어야 한다.
remove <이름>
팀을 없앤다.
팀이 있어야 한다.
empty <이름>
팀의 플레이어를 모두 없앤다.
팀이 있어야 하고, 그 팀에 한 명 이상의 플레이어가 있어야 한다.
join <팀이름> [플레이어1] [플레이어2]…
팀에 가입한다. 플레이어를 생략할 시 명령어를 입력하는 플레이어가 가입된다.
팀이 존재해야 한다.
leave [팀 이름] [플레이어]
팀에서 나간다.
팀이 있어야 한다.

5.4. 팀 옵션 관련[편집]

모든 문법은 /team modify <팀 이름> 으로 시작한다. 1.12 이전에선 modify이 아닌 option.[26]
명령어 문법
설명
작동 조건
color <값>
팀의 색을 정한다. 색은 채팅, Tab 메뉴, 사이드바 메뉴에 모두 적용된다. 가능한 색은 "black", "dark_blue", "dark_green", "dark_aqua", "dark_red", "dark_purple", "gold", "gray", "dark_gray", "blue", "green", "aqua", "red", "light_purple", "yellow", "white"의 16가지이며, "reset"을 할 경우 기본 색으로 초기화된다.
두 값이 모두 유효한 것이어야 한다.
collisionRule <always | never | pushOtherTeam | pushOwnTeam>
플레이어를 밀어내는지의 여부.
-
friendlyFire <true | false>
아군 공격 설정을 켜거나 끈다. 기본은 참.
-
seeFriendlyInvisibles <true | false>
투명화 효과를 가진 팀원(자신 포함)이 반투명하게 보인다.
-
nametagVisibility <always | never | hideForOtherTeams | hideForOwnTeam>
플레이어 캐릭터 위의 이름표가 어떻게 나올지 설정한다. 순서대로 보인다, 보이지 않는다, 팀끼리는 보이나 다른 팀은 안 보이게 된다, 자신의 팀끼리만 안 보인다 순이다.
-
deathMessageVisibillty <always | never | hideForOtherTeams | hideForOwnTeam>
플레이어의 사망 관련 메시지 출력 여부. 위와 동일하다.
-
prefix <JSON 문법>
팀의 앞 닉네임을 추가한다. 예를들어 {"text":"[OP]"}라 쓴다면 <[OP]namuwiki> 라 뜬다.
-
suffix <JSON 문법>
팀의 뒤 닉네임을 추가한다. 위와 동일하다.
-

6. 사용 예시[편집]

점수판 시스템이긴 하지만 점수를 매기는 것 외에도 여러 방식으로 활용할 수 있다. 다음 명령어들을 하나씩 입력하면 게임 상에 적용된다.

이 밑에있는 예시 외 색이 있는 팀을 만드는법이다
플레이어 이름
팀 이름
색 이름
기준
Hello
Admin
빨간색
1.16.3


1. /team add Admin[27]
2. /team modify Admin prefix {"text":"[Admin] "}[28]
3. /team modify Admin color red[29]
4. /team join Admin [플레이어 이름][30]

6.1. 체력 표시[편집]

플레이어의 이름 밑에 체력을 표시한다. 멀티 플레이 시 상대방 체력을 확인할 수 있게 만들 수 있으며,[31] 전투 서버라면 팀끼리만 보이고 적은 보이지 않게 추가적으로 설정할 수도 있다.

/scoreboard objectives add <이름> health
/scoreboard objectives setdisplay belowName <이름>

6.2. 살인 횟수[편집]

호전적인 플레이어를 시스템적으로 가려낼 수 있다. 플레이어 외의 다른 동물들을 기준으로 하면 얼마나 사냥을 열심히 했는지 지표로 사용할 수 있다. 아래 명령어는 탭(Tab) 키를 눌렀을 때 나오는 리스트에 숫자가 표시되게 하였으나, 기준만 만들고 나서 필요할 때만 불러올 수도 있다. 아예 리스트가 번갈아 나오게 할 수도 있다.

/scoreboard objectives add <이름> playerKillCount
/scoreboard objectives setdisplay list <이름>

모든 플레이어의 수치를 초기화할 시
/scoreboard players reset @a[32] <이름>

6.3. 사망 횟수[편집]

사망 횟수를 사용해 죽을 시 관전자 모드가 되게 하거나 죽은 횟수를 볼 수 있다.
/scoreboard objectives add <이름> deathcount

모든 플레이어의 수치를 초기화할 시
/scoreboard players reset @a <이름>

6.4. 당근 낚싯대로 텔레포트[편집]

당근 낚싯대를 우클릭했을 시 점수가 올라간다. 이것을 이용해서 지정된 장소로 텔레포트시킬 수 있다.

/scoreboard objectives add <이름> minecraft.used:minecraft.carrot_on_a_stick

/execute as {<이름>=1..}] at s run tp @s <좌표>

/scoreboard players set @a <이름> 0 [33]

좌표에 ^ ^ ^15를 넣을 시 자신이 바라보는 방향으로 15칸 이동해 먼거리를 편하게 이동할 수 있다.
[1] -2147483648 ~ 2147483647[2] 한글로 입력할 수 없다.[3] 한글일 경우 "<보이는 이름>"을 입력해야 한다.[4] 베드락 에디션에서는 이것만 가능하다.[5] 물론 에메랄드가 있긴 하지만 플레이어 간 사용이 불편하다.[6] 단, 그 목표가 활성화되어 있어야 사용 가능하다.[7] 물 안에 들어가면 체력 칸 위에 뜨는 물방울. 시간이 지날 수록 점점 사라지며, 전부 사라지면 익사하기 시작한다.[8] 명령어로 경험치를 없애도 점수는 변화하지 않는다.[9] 통계 - 블록에서 확인 가능.[10] 블록을 설치하거나, 도구로 파괴하거나, 눈덩이를 던지거나, 지도를 우클릭하는 행위들.[11] 통계 - 아이템 에서 확인 가능.[12] 즉, 플레이어의 체력을 아무런 개조 없이 스코어보드 명령어로 변경할 수는 없다.[13] be에서는 esc를 누르면 나오는 플레이어 리스트에 표시된다.[14] Shift 키로 웅크리고 있으면 된다.[15] 접두사와 접미사는 생략해도 된다. 색을 넣는 등의 효과이기 때문.[16] 이곳 참조.[17] 물약 디버프는 여전히 받는다.[18] 활을 하늘을 향해 쏴서 자신이 맞게 하거나, 고통의 물약을 자신에게 던지거나. 물론 낙하 대미지는 받는다.[예] 모든 목표를 확인하려면 /scoreboard objective list 라고 입력하면 된다.[20] JSON 형식으로 해야 한다. 색깔도 넣을 수 있다.[21] 위에서 추가한 목표의 이름이다.[22] 초기화 한다는 것은 0을 만드는 게 아니라 플레이어를 그 점수 시스템으로부터 삭제한다는 것이다. 즉 없는 사람 취급.[23] 이 명령어는 OP 이하의 일반 유저도 사용 가능한 명령어이다.[BE] 베드락에디션 한정 명령어. 자바에디션에서는 execute <if|unless> score <대상> <목표> matches <범위> 명령어로 대신할 수 있다.[25] 만약 선택자의 점수가 대상보다 작으면/크면[26] 예를 들어 팀 이름이 'A'고 팀 색을 파란색으로 바꾸려면 /scoreboard teams option A color blue (1.12.2 이하)/ /team modify A color blue 라고 입력하면 된다.[27] 팀을 만든다[28] 보일때 설정한다[29] 색을 정한다[30] 팀을 정한다[31] 은신(Shift 키로 웅크리기) 시 숨겨진다.[32] 특정 플레이어 수치만 초기화시키려면 플레이어 닉네임을 쓰면 된다.[33] 연쇄, 무조건적. 이 커맨드가 빠질 시 재사용이 불가하다.