1. 개요[편집]
마인크래프트에서의 명령어에 대한 추가 기능 중 하나이다. 스코어보드는 점수판이라는 뜻이고 플레이어에게 점수를 주거나 뺏을 수 있다. 사용법에 따라 상당히 복잡하고 정교한 시스템을 짤 수도 있지만, 명령어를 하나씩 입력해야 하기 때문에 상당히 귀찮은 작업이기도 하다.
스코어보드를 점수 말고 다른 것에 사용하고 싶다면 스코어보드를 변수라고 생각하면 된다. 진짜로 변수와 같은 기능을 할 수도 있기 때문.
2. 목표[편집]
목표는 이름, 보이는 이름, 기준으로 되어 있다. 점수는 32비트[1] 값이며, 10진수를 지원하지 않는다.
-
목표의 이름(name)은 여러 명령어나, 대상 지정, 또는 파일 포맷에 사용되는 이름이다. 한 어절이어야 한다.
-
목표의 보이는 이름(display name)은 실제 화면 상에 보이는 이름으로, 여러 어절이어도 상관 없다.
-
목표의 기준(criteria)은 점수의 기준이다.
기준 |
내용 |
임의 설정 |
dummy[2] |
명령어에 의해서만 변할 수 있고, 게임 내 상황에 따라서 변하지 않는다. 사용자가 임의로 만드는 기준이므로, 게임 자체와 전혀 상관 없는 점수에 편리하다. 예를 들어 마인크래프트에 없는 금전 개념[3] 등에 사용하거나, 점수 시스템 등을 짤 수 있다. |
가능 |
trigger |
dummy와 같이 명령어에 의해서만 변할 수 있고, 게임 내 상황에 따라서 변하지 않는다. /trigger 명령어에 의해서 조절될 수 있는데[4], trigger 명령어는 OP가 아니어도 사용할 수 있기에 편리하다. |
가능 |
deathCount |
플레이어가 죽을 때마다 자동으로 1씩 증가한다. |
가능 |
playerKillCount |
플레이어가 다른 플레이어를 직접 죽일 때마다 자동으로 1씩 증가한다. |
가능 |
totalKillCount |
플레이어가 다른 플레이어나 몹을 직접 죽일 때마다 자동으로 1씩 증가한다. |
가능 |
health |
체력을 반영한다. 일반적인 플레이어의 체력은 20이지만 생명력 강화나 흡수 효과로 체력이 증가하면 그것도 반영된다. |
가능(체력을 임의 설정하면 된다.) |
air |
물 안에서의 공기를 반영한다.[5] |
불가능 |
armor |
방어력 수치를 반영한다. |
불가능 |
food |
허기 수치를 반영한다. |
불가능 |
level |
레벨 수치를 반영한다. |
불가능 |
xp |
지금까지 얻은 총 경험치 수치를 반영한다.[6] |
불가능 |
위에 있는 간단한 기준과 달리, 복합적인 기준들도 있다. ( minecraft.기준:minecraft.하위기준 )
기준 |
내용 |
임의 설정 |
custom |
하위 기준은 "animals_bred", "activate_one_cm", "boat_one_cm", "clean_armor", "clean_banner", "clean_shulker_box", "climb_one_cm", "crouch_one_cm", "damage_absorbed", "damage_blocked_by_shield", "damage_dealt", "damage_dealt_absorbed", "damage_dealt_resiste", "damage_resist", "damage_taken", "deaths", "drop", "eat_cake_slice", "enchant_item", "fall_one_cm", "fill_cauldron", "fish_caught", "fly_one_cm", "horse_one_cm", "inspect_dispenser", "inspect_dropper", "inspect_hopper", "interact_with_beacon", "interact_with_brewingstand", "interact_with_crafting_table", "interact_with_furnace", "jump", "leave_gmae", "minecart_one_cm", "mop_kill", "open_chest", "open_enderchest", "open_shulker_box", "pig_one_cm", "play_noteblock", "play_one_minute", play_record", "player_kills", "pot_flower", "sleep_in_bed", "sneak_time", "sprint_one_cm", "swim_one_cm", "talked_to_villager", "time_since_death", "time_since_rest", "traded_with_villager", "trigger_traped_chest", "turn_noteblock", "walk_on_water_one_cm", "walk_one_cm", "walk_under_one_cm"의 38가지이다. 플레이어의 통계값들이고, 게임 메뉴 → 통계에서 확인할 수 있다. 이 값들은 플레이어의 행동에 따라 자동으로 증가한다. |
가능 |
crafted |
하위 기준은 조합 가능한 아이템, 제련 가능한 아이템들이다. 조합한 횟수에 따라 자동으로 증가한다. [7] 총 199가지가 있다. [8] |
가능 |
used |
하위 기준은 아이템의 사용[9] 횟수. 아이템을 사용한 횟수에 따라 자동으로 증가한다.[10] 총 318종류가 있다. |
가능 |
broken |
하위 기준은 내구도가 있는, 파괴될 수 있는 아이템들이다. 곡괭이, 낚싯대, 갑옷 등 총 50종류가 있다. |
가능 |
mined |
하위 기준은 부술 수 있는 블록들로, 총 135가지가 있다. 크리에이티브 모드에서는 값이 증가하지 않는다. |
가능 |
killed |
하위 기준은 "Bat", "Blaze", "CaveSpider", "Chicken", "Cow", "Creeper", "Enderman", "Endermite", "EntityHorse", "Ghast", "Guardian", "LavaSlime", "MushroomCow", "Ozelot", "Pig", "PigZombie", "Rabbit", "Sheep", "Silverfish", "Skeleton", "Slime", "Spider", "Squid", "Villager", "Witch", "Wolf", "Zombie"의 24가지이며, 이 엔티티들을 죽일 때마다 값이 증가한다. |
가능 |
killed_by |
하위 기준은 위와 같은 몹들이다. 이 몹에 의해서 사망하면 값이 증가한다. |
가능 |
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가지로, 각각의 색을 가진 팀원이 다른 팀원을 죽이면 값이 증가한다. |
가능 |
killedByTeam |
하위 기준은 팀의 색깔이다. 가능한 색은 위와 같다. 각각의 색을 가진 팀원이 다른 팀원에게 사망하면 값이 증가한다. |
가능 |
플레이어의 기본 스탯을 제외한 기준은 모두 명령어로 수정할 수 있다.[11] 또한 명령어를 이용해서 다른 플레이어의 점수를 확인할 수 있다. scores 등의 선택 인자를 사용하여 확인 가능하다. 예를 들어 deaths의 기준이 deathCount라면, /execute if entity @a[scores={deaths=1..5}] 명령어를 통해 죽은 횟수가 1~5번인 플레이어의 수를 셀 수 있다.
3. 화면 슬롯[편집]
마인크래프트 화면 상에 점수판을 표시할 만한 곳은 3곳이 있다.
슬롯 |
설명 |
list |
Tab을 누르면 나오는 리스트, 플레이어 이름 오른쪽에 노란 글씨로 숫자가 표시 된다. |
sidebar |
화면 오른쪽에 표시된다. 플레이어가 오프라인이라도 표시된다. |
sidebar.team.<color> |
위 sidebar에 색깔 별로 정해진 팀을 표시한다. 예를 들어 sidebar.team.red 라 쓰면 red 팀에 소속된 플레이어들의 점수가 표시된다. |
belowName |
플레이어 위에 있는 이름 밑에 점수가 표시된다. 플레이어가 10칸 너머에 있거나, 은신[12] 시 보이지 않는다. |
4. 팀[편집]
팀을 정의할 때는 이름, 보이는 이름, 접두사, 접미사[13], 아군 공격 설정을 정해주어야 한다. 목표 때와 마찬가지로 이름은 한 어절, 보이는 이름은 여러 어절이어도 상관 없다. 접두사는 포매팅 코드[14]를 이용하여 여러 색을 지정해 줄 수 있고, 접미사는 리셋 코드만 가능하다.
아군 공격 설정을 거짓(false)으로 할 경우, 팀끼리는 근접 공격, 활, 고통의 물약 등의 무기로 대미지를 입힐 수 없다.[15] 참고로 이 설정을 거짓으로 했을 경우, 자신에게도 대미지를 입힐 수 없다.[16] 자신도 팀의 일원이므로. 설정을 참(true)으로 할 경우에는 일반 PvP처럼 적용된다.
5. 명령어 문법[편집]
<> 안의 문법은 필수 입력 사항, [] 안의 문법은 선택 입력 사항이다. 또한 명령어는 대소문자를 구분하니 주의.
5.1. 목표 관련[편집]
모든 문법은 /scoreboard objectives 로 시작한다.[예]
문법 |
설명 |
작동 조건 |
list |
모든 목표의 이름과 보이는 이름, 기준을 화면에 표시한다. |
하나 이상의 목표가 있어야 작동한다. |
add <이름> <기준> [보이는 이름][18] |
새 목표를 만든다. 보이는 이름은 생략 시 이름과 같게 된다. |
이름은 이미 있는 것과 달라야 하며, 16자 이하이어야 한다. 기준은 가능한 종류이어야 하며, 보이는 이름은 32자 이하이어야 한다. |
remove <이름> |
특정 목표를 삭제한다. |
삭제하려는 목표가 존재해야 한다. |
setdisplay <슬롯> [목표][19] |
목표를 특정 슬롯에 보이게 한다. 화면 슬롯 문단 참고. 목표 칸을 생략할 경우 그 슬롯을 비워서 원래 상태로 되돌린다. |
목표가 존재해야 하며, 슬롯도 3가지 중 하나로 존재해야 한다. |
modify <목표> <displayname | rendertype> |
displayname: 보이는 이름을 변경한다. rendertypes <heart | integer>: 추가 바람. |
변경하려는 목표가 존재해야 하며 displayname의 경우 JSON 형식으로 적어야 한다. |
5.2. 플레이어 관련[편집]
모든 문법은 /scoreboard players 로 시작한다.
명령어 문법 |
설명 |
작동 조건 |
list [플레이어] |
점수판 시스템에 의해 영향을 받는 플레이어를 모두 표시한다. 뒤에 플레이어 이름을 쓰면 특정 플레이어의 점수를 확인할 수 있다. |
플레이어는 적어도 하나 이상의 저장된 점수가 있어야 한다. |
set <플레이어> <목표> <점수> [데이터 태그] |
플레이어의 점수를 임의로 설정한다. |
-2147483648~2147483647까지의 수만 가능하고, 기준이 health인 목표는 변경할 수 없다. 데이터 태그는 플레이어의 특성을 NBT 태그 형식으로 표현한 것이다. |
add <플레이어> <목표> <수> [데이터 태그] |
'수'만큼 그 목표의 점수를 증가시킨다. |
1~2147483647까지의 수만 가능하고, 기준이 health인 목표는 변경할 수 없다. 데이터 태그는 플레이어의 특성을 NBT 태그 형식으로 표현한 것이다. |
remove <플레이어> <목표> <수> [데이터 태그] |
'수'만큼 그 목표의 점수를 감소시킨다. |
위와 동일. |
reset <플레이어> [목표] |
플레이어의 모든 점수를 초기화한다. [목표]를 쓰면 그 목표의 점수만 초기화한다. [20] |
- |
enable <플레이어> <목표> |
플레이어가 trigger 명령어를 통해 점수를 수정할 수 있도록 한 번을 허락한다.[21] |
목표의 기준이 trigger이어야 한다. |
operation <대상이름> <대상목표> <연산> <선택자> <목표> |
선택자의 특정 목표의 점수를 이용해서 대상의 특정 목표의 점수에 대해 정수연산을 실행시킨다. |
기준이 health인 목표는 변경할 수 없다. 두 목표의 점수가 있어야 한다. |
마지막 scoreboard players operation 에서 가능한 연산은 아래와 같다.
-
"+=": 선택자의 점수를 대상에게 더한다.
-
"-=": 뺀다.
-
"*=": 곱한다.
-
"/=": 나눈다. 나머지는 버린다.
-
"%=": 나눗셈 결과의 나머지를 대상의 점수로 한다.
-
"=": 같게 한다.
-
"<": 만약 선택자의 점수가 대상보다 작으면, 대상의 점수를 선택자 점수로 만든다.
-
">": 만약 선택자의 점수가 대상보다 크면, 대상의 점수를 선택자 점수로 만든다.
-
"><": 대상과 선택자의 점수를 바꾼다.
5.3. 팀 관련[편집]
모든 문법은 /scoreboard teams 으로 시작한다.
명령어 문법 |
설명 |
작동 조건 |
list [팀 이름] |
팀의 목록을 표시하거나, 팀 이름을 추가할 시 그 팀의 소속 플레이어를 표시한다. |
적어도 1개 이상의 팀이 있어야 한다. |
add <이름> [보이는 이름] |
팀을 만든다. 보이는 이름은 생략 시의 이름과 같다. |
이름은 16자, 보이는 이름은 32자 이하이어야 한다. |
remove <이름> |
팀을 없앤다. |
팀이 있어야 한다. |
empty <이름> |
팀의 플레이어를 모두 없앤다. |
팀이 있어야 하고, 그 팀에 한 명 이상의 플레이어가 있어야 한다. |
join <팀이름> [플레이어1] [플레이어2]… |
팀에 가입한다. 플레이어를 생략할 시 명령어를 입력하는 플레이어가 가입된다. |
팀이 존재해야 한다. |
leave [팀 이름] [플레이어] |
팀에서 나간다. |
팀이 있어야 한다. |
5.4. 팀 옵션 관련[편집]
모든 문법은 /scoreboard teams option <팀 이름> 으로 시작한다. [22]
명령어 문법 |
설명 |
작동 조건 |
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> |
아군 공격 설정을 켜거나 끈다. 기본은 참. |
- |
seeFriendlyInvisible <true | false> |
투명화 효과를 가진 팀원(자신 포함)이 반투명하게 보인다. |
- |
nametagVisibillity <always | never | hideForOtherTeams | hideForOwnTeam> |
플레이어 캐릭터 위의 이름표가 어떻게 나올지 설정한다. 순서대로 보인다, 보이지 않는다, 팀끼리는 보이나 다른 팀은 안 보이게 된다, 자신의 팀끼리만 안 보인다 순이다. |
- |
deathMessageVisibillity <always | never | hideForOtherTeams | hideForOwnTeam> |
플레이어의 사망 관련 메시지 출력 여부. 위와 동일하다. |
- |
6. 사용 예시[편집]
점수판 시스템이긴 하지만 점수를 매기는 것 외에도 여러 방식으로 활용할 수 있다. 다음 명령어들을 하나씩 입력하면 게임 상에 적용된다.
6.1. 체력 표시[편집]
플레이어의 이름 밑에 체력을 표시한다. 멀티 플레이 시 상대방 체력을 확인할 수 있게 만들 수 있으며,[23] 전투 서버라면 팀끼리만 보이고 적은 보이지 않게 추가적으로 설정할 수도 있다.
/scoreboard objectives add <이름> health
/scoreboard objectives setdisplay belowName <이름>
만약 팀끼리만 보이게 하고 싶다면
/scoreboard teams option <팀 이름> nametagVisibillity hideForOtherTeams
6.2. 살인 횟수[편집]
호전적인 플레이어를 시스템적으로 가려낼 수 있다. 플레이어 외의 다른 동물들을 기준으로 하면 얼마나 사냥을 열심히 했는지 지표로 사용할 수 있다. 아래 명령어는 탭(Tab) 키를 눌렀을 때 나오는 리스트에 숫자가 표시되게 하였으나, 기준만 만들고 나서 필요할 때만 불러올 수도 있다. 아예 리스트가 번갈아 나오게 할 수도 있다.
/scoreboard objectives add <이름> playerKillCount
/scoreboard objectives setdisplay list <이름>
모든 플레이어의 수치를 초기화할 시
{{{ /scoreboard players reset @a[24] <이름>
6.3. 사망 횟수[편집]
사망 횟수를 사용해 죽을 시 관전자 모드가 되게 하거나 죽은 횟수를 볼 수 있다.
/scoreboard objectives add <이름> deathcount
모든 플레이어의 수치를 초기화할 시
/scoreboard players reset @a <이름>
6.4. 당근 낚싯대로 텔레포트[편집]
당근 낚싯대를 우클릭했을 시 점수가 올라간다. 이것을 이용해서 지정된 장소로 텔레포트시킬 수 있다.
/scoreboard objectives add <이름> minecraft.used:minecraft.carrot_on_a_stick
/execute if entity @a[scores={<이름>=1..}] run tp @s <좌표>