개요
스코어보드 시스템은 맵 제작자와 서버 운영자를 위한 복잡한 게임플레이 명령 체계로, 명령어나 명령 블록을 통해 엔티티의 점수를 추적·설정·표시하는 데 쓰인다.[1][2]
목표(오브젝티브)는 이름, 표시 이름, 기준 유형으로 구성되며 각 엔티티별로 정수 점수(-2,147,483,648 ~ 2,147,483,647)를 저장한다.[1][2] 이름은 대소문자를 구별하는 한 단어여야 하고, 표시 이름은 여러 단어가 가능하며 중복되어도 무방하다.[1] 기준 유형은 단일 기준과 복합 기준으로 나뉘며, 복합 기준은 통계·발전 과제 시스템을 이용해 minecraft.killed_by:minecraft.zombie처럼 점(.)으로 구분된 여러 부분으로 동작을 정의한다.[1][2] 점수는 읽기 전용(예: 생명력)인 경우를 제외하고 명령어로 증가·감소·설정·연산이 가능하며, 스탯 기반 목표는 실제 스탯이 변함에 따라 자동 갱신된다.[1][2]
표시 슬롯은 사이드바·플레이어 목록·이름표 아래 등 게임 내 여러 위치에 한 번에 하나의 목표 점수를 보여주며, 여러 슬롯이 동일하거나 다른 목표를 동시에 표시할 수 있다.[1][2]
팀은 이름, 표시 이름, 접두사·접미사, 싸움 허용 옵션, 구성원 목록으로 이루어지며 한 엔티티는 오직 한 팀에만 속할 수 있다.[1][2] 접두사·접미사는 대화창·플레이어 목록·사이드바·이름표에 적용되고, 싸움 허용을 false로 두면 같은 팀원 간 근접·활·투척 고통의 물약 피해를 막을 수 있다(디버프는 여전히 가능).[1] 대상 선택자에서 team= 인수로 팀 소속 여부를 판별해 명령어를 분기할 수 있다.[1][2]
이름
- 다른 언어 공식 이름: Scoreboard (English) · スコアボード (日本語) · Marcador (Español) · Placar (Português) · Tableau de score (Français) [3]
상세
작동 방식
스코어보드 시스템은 명령어와 명령 블록을 통해 작동하는 복잡한 게임플레이 메커니즘으로, 주로 맵 제작자와 서버 운영자가 엔티티의 점수를 추적, 설정, 나열하는 데 사용한다[1][2]. 점수는 32비트 정수(-2,147,483,648 ~ 2,147,483,647) 범위 내에서 저장되며 소수점은 지원하지 않는다[1][2]. 엔티티의 점수는 읽기 전용 오브젝티브(현재 '생명력'만 해당)가 아닌 이상 명령어로 변경할 수 있으며, 특정 값으로 설정하거나 증가·감소시킬 수 있다[1][2]. 스탯이나 발전 과제 기반 오브젝티브는 명령어로 점수를 바꿀 수 있으나 실제 스탯이나 발전 과제는 바뀌지 않으며, 해당 스탯 변화에 따라 오브젝티브가 계속 업데이트된다[1]. 비플레이어 엔티티는 더미 기준만 지원하며, 점수는 명령어로만 변경 가능하고 사망 시 점수가 삭제된다[2]. 점수 보유자 이름은 플레이어의 사용자명이나 엔티티의 UUID를 쓰며, 플레이어 이름은 공백을 포함할 수 없어 그림 공백(U+2007)으로 대체할 수 있다[2].
규칙
오브젝티브는 이름, 표시 이름, 기준 유형으로 구성된다[1]. 이름은 명령어 내부 참조용으로 쓰이며 대소문자를 구별하고 한 단어(영숫자, 하이픈, 플러스, 점, 언더스코어만 허용)여야 한다[1][2]. 표시 이름은 여러 단어가 가능하고 대소문자를 구별하며 중복되어도 상관없다[1]. 기준 유형은 단일 기준(알파벳 문자열)과 복합 기준(점(.)으로 구분된 여러 부분, 예: minecraft.killed_by:minecraft.zombie)으로 나뉜다[1][2]. 복합 기준은 통계 시스템을 활용하며, 통계 값이 변하면 오브젝티브 점수도 자동 반영된다[2]. 팀은 이름, 표시 이름, 접두사, 접미사, 싸움 허용 옵션, 구성원 목록으로 이루어지며, 한 엔티티는 오직 한 팀에만 속할 수 있다[1][2]. 팀 이름은 대소문자 구별 단일 단어, 표시 이름은 공백 허용 및 중복 가능[1][2]. 접두사·접미사는 대화창, 플레이어 목록, 사이드바, 머리 위 이름에 적용되며 기본적으로 포맷 코드와 리셋 코드만 쓸 수 있다[1]. 싸움 허용 기본값은 true이며 false로 설정 시 같은 팀원 간 근접·원거리·투척 고통의 물약 피해를 막으나 디버프 물약은 여전히 가능하다[1]. 대상 선택자에서 team 인수로 팀 소속 여부를 판정하며 !로 부정, 빈 값으로 무소속을 검사할 수 있다[1][2].
구성 요소
오브젝티브는 이름, 표시 이름, 기준 유형, 숫자 형식, 표시용 점수 보유자 이름 등 속성을 가진다[2]. 표시 슬롯은 오브젝티브를 게임 내 특정 위치(플레이어 목록, 사이드바, 이름표 아래 등)에 보여주며, 한 슬롯에 한 오브젝티브만 표시되고 여러 슬롯이 같은 오브젝티브를 쓸 수 있다[1][2]. 엔티티 점수는 사이드바 슬롯에만 표시 가능하며, 다른 슬롯은 플레이어 전용이다[2]. 태그는 엔티티 NBT에 저장되는 단일 단어 문자열 리스트(최대 1024개)로, 대소문자 구별하며 대상 선택자 tag 인수로 검사한다[2]. 팀은 엔티티를 아군으로 묶으며, 몹은 같은 팀 엔티티를 의도적으로 공격하지 않는다[2]. 팀 속성에는 이름, 표시 이름, 접두사, 접미사, 싸움 허용, 이름표 가시성, 충돌 규칙, 색상 등이 있다[2].
등장 장소·조건
스코어보드 데이터는 월드 저장 폴더의 data/minecraft/scoreboard.dat에 gzip 압축 NBT 파일로 저장된다[1][2]. 명령어 /scoreboard objectives setdisplay로 표시 슬롯을 설정·해제하고, /scoreboard players operation|set|test(자바) 또는 /execute store result score(자바)로 점수를 연산·저장·검사한다[1][2]. 대상 선택자 scores={<objective>=<min>..<max>}로 점수 범위 조건을 걸 수 있다[1][2]. 자바 에디션 13w36a 스냅숏에서 수백 개의 복합 기준이 추가되었다[1].
수치·정보
- 점수 범위: -2,147,483,648 ~ 2,147,483,647 (32비트 정수) [1][2]
- 점수 자료형: 정수만 가능, 소수점 미지원 [1]
- 목표 이름 조건: 한 단어, 대소문자 구분, 영숫자·하이픈·플러스·점·밑줄만 허용(자바 에디션) [2]
- 표시 이름 조건: 여러 단어 가능, 대소문자 구분, 중복 허용 [1]
- 팀 이름 조건: 한 단어, 대소문자 구분, 영숫자만 허용 [2]
- 팀 표시 이름 조건: 띄어쓰기 포함 가능, 중복 허용 [1]
- 팀 접두사·접미사: 포맷 코드·리셋 코드만 사용 가능 [1]
- 팀 기본 싸움 허용(friendly fire): true [1]
- 플레이어당 팀 소속: 최대 1개 팀만 가입 가능 [1]
- 태그 최대 개수: 1024개 [2]
- 태그 대소문자 구분: 예 [2]
- 비플레이어 엔티티 지원 기준: dummy만 가능, 점수는 명령어로만 변경 가능, 사망 시 점수 삭제 [2]
- 점수 보유자 이름: 플레이어는 사용자명, 엔티티는 UUID 사용 [2]
- 표시 슬롯당 표시 가능한 목표: 1개 [1][2]
- 여러 표시 슬롯이 동일하거나 다른 목표 사용 가능 [1][2]
- 엔티티 점수 표시 가능 슬롯: 사이드바만 가능, 그 외 슬롯은 플레이어 전용 [2]
- 점수 연산: 증가·감소·설정·난수 설정·산술 연산(덧셈·뺄셈·곱셈 등) 가능 [2]
- 점수 테스트: 최소·최댓값 범위 지정 가능 [2]
- 복합 기준 예시: minecraft.killed_by:minecraft.zombie (좀비에게 죽을 때마다 증가) [1]
- 읽기 전용 목표: '생명력' 스코어보드만 해당 [1]
- NBT 저장 파일: data/minecraft/scoreboard.dat (gzip 압축 NBT) [2]
배경·설정
스코어보드 시스템은 맵 제작자와 서버 운영자를 위한 복잡한 게임 플레이 명령문으로, 명령어나 명령 블록을 통해 사용할 수 있다[1][2].
목표(오브젝티브)는 이름(Name), 표시 이름(Display name), 기준 유형(Criteria)으로 구성되며 각 엔티티의 점수를 추적한다[1][2]. 점수는 32비트 정수 범위인 -2,147,483,648에서 2,147,483,647까지 저장되며 소수점은 지원하지 않는다[1][2]. 목표 이름은 명령어 내부 참조용으로 쓰이며 대소문자를 구별하고 반드시 한 단어여야 한다[1][2]. 표시 이름은 여러 단어가 가능하며 대소문자를 구별하고 중복되어도 무방하다[1][2].
기준 유형은 목표의 동작을 결정한다. 자바 에디션에서는 단일 기준과 복합 기준으로 나뉜다[2]. 스냅숏 13w36a에서 수백 개의 새로운 복합 기준이 추가되었으며 통계 및 발전 과제 시스템을 이용해 형성된다[1]. 복합 기준은 점(.)으로 구분된 여러 부분으로 이루어지며 예로 minecraft.killed_by:minecraft.zombie는 플레이어가 좀비에게 죽을 때마다 점수가 증가한다[1][2].
읽기 전용 스코어보드(현재 '생명력'만 해당)가 아닌 모든 목표의 점수는 명령어로 변경 가능하다[1]. 스탯이나 발전 과제 기반 목표도 명령어로 점수를 바꿀 수 있으나 실제 스탯이나 발전 과제는 변하지 않으며 원본 값 변화에 따라 계속 갱신된다[1]. scores 선택 인자(scores={name=min..max})를 써서 특정 점수 범위의 엔티티를 감지할 수 있다[1][2].
표시 슬롯은 /scoreboard objectives setdisplay 명령으로 특정 목표의 점수를 플레이어 목록, 사이드바, 이름표 아래 등 게임 내 여러 위치에 보이게 한다[1][2]. 각 슬롯은 한 번에 하나의 목표만 표시하며 여러 슬롯이 동일하거나 다른 목표를 쓸 수 있다[1][2]. 엔티티 점수는 사이드바 슬롯에만 표시 가능하며 다른 슬롯은 플레이어 전용이다[2].
팀은 /team 명령으로 관리되며 엔티티나 플레이어를 아군으로 묶는다[1][2]. 한 엔티티는 오직 하나의 팀에만 속할 수 있으며 같은 팀 몹은 서로 의도적으로 공격하지 않는다[2]. 팀은 이름, 표시 이름, 접두사(prefix), 접미사(suffix), 싸움 허용(friendly fire) 옵션, 구성원 목록을 가진다[1]. 팀 이름과 표시 이름은 목표와 같은 규칙을 따르며 접두사·접미사는 대화창·플레이어 목록·사이드바·머리 위 이름에 적용된다[1]. 싸움 허용 기본값은 true이며 false로 설정 시 근접 공격·활·투척용 고통의 물약 피해를 막아주나 디버프 물약은 여전히 가능하다[1]. 명령 블록에서 team 인자(team=red, team=!red 등)로 팀 소속 여부를 판정할 수 있다[1][2].
태그(Tag)는 엔티티 NBT에 저장되는 단일 단어 문자열 리스트로 최대 1024개까지 가능하며 대소문자를 구별한다[2]. 선택자 tag 인자로 보유 여부를 확인한다[2].
점수 연산으로는 증가·감소·초기화·특정 값 설정·범위 내 난수 설정·최솟값/최댓값 검사가 가능하며 덧셈·뺄셈·곱셈 등 산술 연산도 지원한다[2]. 자바 에디션에서는 /execute store result score로 명령 결과를 점수에 저장할 수 있다[2].
스코어보드 데이터는 월드 저장 폴더 내 data/minecraft/scoreboard.dat 파일에 gzip 압축된 NBT 형식으로 저장된다[1][2].
공략
스코어보드 시스템은 맵 제작자와 서버 운영자를 위한 복잡한 게임플레이 메커니즘으로, 명령어와 명령 블록을 통해 엔티티의 점수를 추적·설정·출력하는 데 쓰인다[1][2].
#### 목표(오브젝티브) 활용
- 목표는 이름(Name), 표시 이름(Display name), 기준 유형(Criteria)으로 구성되며, 각 플레이어·엔티티별로 -2,147,483,648 ~ 2,147,483,647 범위의 정수 점수를 가진다[1][2].
- 목표 이름은 명령어 내부 참조용으로 쓰이며 대소문자를 구별하고 한 단어(영문 기준 영숫자, 하이픈, 플러스, 점, 밑줄)여야 한다[1][2]. 표시 이름은 여러 단어가 가능하고 중복되어도 무방하다[1].
- 기준 유형은 단일 기준(알파벳 문자열)과 복합 기준(점(.)으로 구분된 여러 부분)으로 나뉜다[1][2]. 예:
minecraft.killed_by:minecraft.zombie는 플레이어가 좀비에게 죽을 때마다 점수가 오르는 복합 기준이다[1][2]. - 스탯·발전 과제 기반 목표는 게임이 자동 갱신하지만, 읽기 전용(예: '생명력')이 아닌 한
/scoreboard players명령어로 증감·설정·초기화가 가능하다[1][2]. 단, 실제 스탯이나 발전 과제 값 자체는 변하지 않는다[1]. - 비플레이어 엔티티는 더미(dummy) 기준만 지원하므로 명령어로만 점수를 바꿀 수 있으며, 죽으면 점수가 삭제된다[2].
#### 점수 연산 및 조회
/scoreboard players operation으로 덧셈·뺄셈·곱셈·나눗셈·모듈로·최솟값·최댓값·스왑 등 산술 연산을 수행할 수 있다[2]. 연산식:새 대상 점수 = 대상 점수 (연산) 출처 점수[2].- 대상이 여러 명이면 각각 순차 처리되고, 출처가 여러 명이면 각 출처 점수마다 연산이 반복 실행된다[2].
/scoreboard players set으로 특정 값 지정,/scoreboard players add|remove로 증감,/scoreboard players reset으로 초기화 가능[2].- 자바 에디션에서는
/execute store result score로 명령어 실행 결과(예:/random난수)를 점수에 저장할 수 있다[2]. - 대상 선택자
scores={목표=최소..최대}구문으로 점수 범위 조건을 걸 수 있다[1][2]. 예:/execute if entity @a[scores={deaths=1..}]→ deaths 목표가 1 이상인 플레이어 감지[2].
#### 표시 슬롯 활용
/scoreboard objectives setdisplay <슬롯> [목표]로 사이드바(화면 오른쪽), 플레이어 목록, 이름표 아래 등 다양한 슬롯에 점수를 표시한다[1][2].- 한 슬롯엔 한 목표만 표시 가능하지만, 여러 슬롯이 동일·다른 목표를 동시에 쓸 수 있다[1][2].
- 플레이어는 사용자명, 엔티티는 UUID로 표시되며
/scoreboard players display name으로 표시명을 개별 변경 가능[2]. - 엔티티 점수는 사이드바 슬롯에만 표시되고, 그 외 슬롯은 플레이어 전용이다[2].
#### 팀(팀) 활용
/team명령어로 관리하며, 한 엔티티는 최대 한 팀에만 소속된다[1][2].- 팀 이름(한 단어, 대소문자 구분), 표시 이름(띄어쓰기 허용, 중복 허용), 접두사·접미사(포맷 코드·리셋 코드), 싸움 허용(friendly fire) 옵션을 가진다[1][2].
- 싸움 허용 기본값
true→ 일반 PvP 적용.false로 설정 시 같은 팀원 간 근접·활·투척용 고통의 물약 피해 차단(단, 디버프 물약 효과는 여전히 적용)[1]. - 몹은 동일 팀 엔티티를 의도적으로 공격하지 않는다[2].
- 대상 선택자
team=팀명또는team=!팀명으로 소속 여부 판별 가능[1][2]. 예:@a[team=red](레드 팀),@a[team=!red,team=!blue](레드·블루 둘 다 아님),@a[team=](무소속),@a[team=!](어느 팀이든 소속)[1][2].
#### 태그(태그) 활용
#### NBT 저장 파일
기타
- 스코어보드 데이터는 월드 저장 폴더 안의
data/minecraft/scoreboard.dat파일에 gzip 압축된 NBT 형식으로 저장된다. [2] - 스코어보드 관련 이슈는 버그 트래커에서 관리되며, 신고와 확인은 해당 트래커에서 이루어진다. [1][2]
- 갤러리 문단에는 스크린샷이 포함된다. [2]
- 참조(References) 문단이 존재한다. [1][2]
- 내비게이션 문단이 존재한다. [2]
이 문서는 공식 공개 자료 3개를 AI가 문단별로 새로 정리하고, 문단마다 별도의 AI 검수를 거친 초안입니다. 자료에 확인되지 않는 내용은 적지 않았습니다. 패치 내역과 관련 문서는 아래에 따로 모아 보여 줍니다. 세부 설정과 최신 수치는 출처를 확인하세요. 일부 내용은 CC BY-NC-SA 3.0 라이선스 자료를 바탕으로 새로 썼으며, 같은 조건이 이 문서의 해당 부분에 적용됩니다. [1]