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

1 개요

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

2 목표

목표는 이름, 보이는 이름, 기준으로 되어 있다. 점수는 32비트[1] 값이며, 10진수를 지원하지 않는다.

  • 목표의 이름(name)은 여러 명령어나, 타깃 지정, 또는 파일 포맷에 사용되는 이름이다. 한 어절이어야 한다.
  • 목표의 보이는 이름(display name)은 실제 화면상에 보이는 이름으로, 여러 어절이어도 상관 없다.
  • 목표의 기준(criteria)은 점수의 기준.
기준내용임의 설정
dummy명령어에 의해서만 변할 수 있고, 게임 내 상황에 따라서 변하지 않는다. 사용자가 임의로 만드는 기준이므로, 게임 자체와 전혀 상관 없는 점수에 편리하다. 예를 들어 마인크래프트에 없는 금전 개념[2] 등에 사용하거나, 점수시스템 등을 짤 수 있다.가능
triggerdummy와 같이 명령어에 의해서만 변할 수 있고, 게임 내 상황에 따라서 변하지 않는다. trigger 명령어에 의해서 조절될 수 있는데[3], trigger 명령어는 op가 아니어도 사용할 수 있기에 편리하다.가능
deathCount플레이어가 죽을 때마다 자동으로 1씩 증가한다.가능
playerKillCount플레이어가 다른 플레이어를 직접 죽일 때마다 자동으로 1씩 증가한다.가능
totalKillCount플레이어가 다른 플레이어나 몹을 직접 죽일 때마다 자동으로 1씩 증가한다.가능
health체력을 반영한다. 일반적인 플레이어의 체력은 20이지만 체력 부스터나 흡수 효과로 체력이 증가하면 그것도 반영된다.불가능

위에 있는 간단한 기준과 달리, 복합적인 기준들도 있다.

기준내용임의 설정
achivement하위 기준은 "acquireIron", "bakeCake", "blazeRod", "bookcase", "breedCow", "buildBetterPickaxe", "buildFurnace", "buildHoe", "buildPickaxe", "buildSword", "buildWorkBench", "cookFish", "diamonds", "diamondsToYou", "enchantments", "exploreAllBiomes", "flyPig", "fullBeacon", "ghast", "killCow", "killEnemy", "killWither", "makeBread", "mineWood", "onARail", "openInventory", "overkill", "overpowered", "portal", "potion", "snipeSkeleton", "spawnWither", "theEnd", "theEnd2"의 34 가지가 있다. [4] 값들은 이 업적을 몇 번 달성했는가에 따라 달라진다. 예를 들어 플레이어가 소를 5마리 죽였다면, achivement.killCow 기준의 값은 5가 된다.가능
stat하위 기준은 "animalsBred", "boatOneCm", "climbOneCm", "crouchOneCm", "damageDealt", "damageTaken", "deaths", "diveOneCm", "drop", "fallOneCm", "fishCaught", "flyOneCm", "horseOneCm", "jump", "junkFished", "leaveGame", "minecartOneCm", "mobKills", "pigOneCm", "playerKills", "playOneMinute", "sprintOneCm", "swimOneCm", "talkedToVillager", "timeSinceDeath", "tradedWithVillager", "treasureFished", "walkOneCm"의 28가지이다. stat은 statistics의 약자로, 플레이어의 통계값들이다. 이 값들은 플레이어의 행동에 따라 자동으로 증가한다.가능
stat.craftItem하위 기준은 조합 가능한 아이템, 제련 가능 아이템들이다. 조합한 횟수에 따라 자동으로 증가한다. [5] 총 199 가지가 있다. [6]가능
stat.useItem하위 기준은 아이템의 사용 횟수. 사용한 횟수에 따라 자동으로 증가한다. [7] 총 318 종류가 있다.가능
stat.breakItem하위 기준은 내구도가 있는, 부술 수 있는 아이템들이다. 곡괭이, 도끼, 칼, 낚시대, 갑옷 등 총 50 종류가 있다.가능
stat.mineBlock하위 기준은 부술 수 있는 블록들로, 총 135가지가 있다. 크리에이티브에서는 값이 증가하지 않는다.가능
stat.killEntity하위 기준은 "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", and "Zombie"의 24 가지이며, 이 엔티티들을 죽일 때마다 값이 증가한다.가능
stat.entityKilledby하위 기준은 "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", and "Zombie"의 24가지로, 이 몹에 의해서 사망하면 값이 증가한다.가능
teamkill하위 기준은 팀의 색깔이다. 가능한 색은 "black", "dark_blue", "dark_green", "dark_aqua", "dark_red", "dark_purple", "gold", "gray", "dark_gray", "blue", "green", "aqua", "red", "light_purple", "yellow", and "white"의 16 가지로, 각각의 색을 가진 팀원이 다른 팀원을 죽이면 값이 증가한다.가능
killedByTeam하위 기준은 팀의 색깔이다. 가능한 색은 "black", "dark_blue", "dark_green", "dark_aqua", "dark_red", "dark_purple", "gold", "gray", "dark_gray", "blue", "green", "aqua", "red", "light_purple", "yellow", and "white"의 16 가지로, 각각의 색을 가진 팀원이 다른 팀원에게 사망하면 값이 증가한다.가능

health를 제외한 기준은 모두 명령어로 수정할 수 있다. [8] 또한 명령어를 이용해서 다른 플레이어의 점수를 확인할 수 있다. score_name 또는 score_name_min 등의 명령어를 사용하여 확인 가능하다. 예를 들어 deaths의 기준이 deathCount라면, testfor[9] @a[score_deaths=5,score_deaths_min=1]을 통해 죽은 횟수가 1~5인 플레이어의 수를 셀 수 있다.

3 화면 슬롯

마인크래프트 화면상에 점수판을 표시할만한 곳은 3곳이 있다.

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

4

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

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

5 명령어 문법

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

5.1 목표 관련

모든 문법은 scoreboard objective로 시작한다.[15]

명령어 문법설명작동 조건
list: 모든 목표의 이름과 보이는 이름, 기준을 화면에 표시한다.하나 이상의 목표가 있어야 작동한다.
add <이름><기준> [보이는 이름]새 목표를 만든다. 보이는 이름은 생략 시 이름과 같게 된다.이름은 이미 있는 것과 달라야 하며, 16자 이하이어야 한다. 기준은 가능한 종류이어야 하며, 보이는 이름은 32자 이하이어야 한다.
remove <이름>특정 목표를 삭제한다.삭제하려는 목표가 존재해야 한다.
setdisplay <슬롯> [목표][16]목표를 특정 슬롯에 보이게 한다. 화면 슬롯 문단 참고. 목표 칸을 생략할 경우 그 슬롯을 비운다. [17]목표가 존재해야 하며, 슬롯도 3가지 중 하나로 존재해야 한다.

5.2 플레이어 관련

모든 문법은 scoreboard players로 시작한다.

명령어 문법설명작동 조건
list [플레이어]점수판 시스템에 의해 영향을 받는 플레이어를 모두 표시한다. 뒤에 플레이어 이름을 쓰면 특정 플레이어의 점수를 확인할 수 있다.플레이어는 적어도 하나 이상의 저장된 점수가 있어야 한다.
set <플레이어><목표><점수> [데이터 태그]플레이어의 점수를 임의로 설정한다.-2147483648~2147483647까지의 수만 가능하고, 기준이 health인 목표는 변경할 수 없다. 데이터 태그는 플레이어의 특성을 NBT 태그 형식으로 표현한 것이다.
add <플레이어><목표><수> [데이터 태그]'수'만큼 그 목표의 점수를 증가시킨다.1~2147483647까지의 수만 가능하고, 기준이 health인 목표는 변경할 수 없다. 데이터 태그는 플레이어의 특성을 NBT 태그 형식으로 표현한 것이다.
remove <플레이어><목표><수> [데이터 태그]'수'만큼 그 목표의 점수를 감소시킨다.1~2147483647까지의 수만 가능하고, 기준이 health인 목표는 변경할 수 없다. 데이터 태그는 플레이어의 특성을 NBT 태그 형식으로 표현한 것이다.
reset <플레이어> [목표]플레이어의 모든 점수를 초기화한다. [목표]를 쓰면 그 목표의 점수만 초기화한다. [18]언제나 작동.
enable <플레이어><트리거>플레이어가 trigger 명령어를 통해 점수를 수정할 수 있도록 허락한다.[19]목표의 기준이 trigger이어야 한다.
test <플레이어><기준><최솟값><최댓값>플레이어의 점수가 최솟값~최대값 사이에 있는지 판별한다. [20]플레이어의 점수가 범위 내에 있어야한다.
operation <대상이름><대상목표><연산><선택자><목표>선택자의 특정 목표의 점수를 이용해서 대상의 특정 목표의 점수에 대해 연산을 실행시킨다.기준이 health인 목표는 변경할 수 없다. 두 목표의 점수가 있어야 한다.

마지막 scoreboard players operation 에서 가능한 연산은 아래와 같다.

  • "+=": 선택자의 점수를 대상에게 더한다.
  • "-=": 뺀다.
  • "*=": 곱한다.
  • "/=": 나눈다.
  • "%=": 대상과 선택자 사이의 나눗셈 결과의 나머지를 대상의 점수로 한다.
  • "=": 같게 한다.
  • "<": 만약 선택자의 점수가 대상보다 작으면, 대상의 점수를 선택자 점수로 만든다.
  • ">": 만약 선택자의 점수가 대상보다 크면, 대상의 점수를 선택자 점수로 만든다.
  • "><": 대상과 선택자의 점수를 바꾼다.

5.3 팀 관련

모든 문법은 scoreboard teams으로 시작한다.

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

5.4 팀 옵션 관련

모든 문법은 scoreboard teams option <팀이름> 으로 시작한다. [21]

명령어 문법설명작동 조건
color <값>팀의 색을 정한다. 색은 채팅, Tab메뉴, 사이드바 메뉴에 모두 적용된다. 가능한 색은 "black", "dark_blue", "dark_green", "dark_aqua", "dark_red", "dark_purple", "gold", "gray", "dark_gray", "blue", "green", "aqua", "red", "light_purple", "yellow", and "white"의 16가지이며, "reset"을 할 경우 기본 색으로 초기화된다.두 값이 모두 유효한 것이어야 한다.
friendlyfire <true / false >아군 공격 설정을 켜거나 끈다.[22]true 또는 false이어야 한다.
seeFriendlyInvisible <true / false >투명 포션을 마신 자신을 포함한 팀원이 반투명하게 보인다.true 또는 false이어야 한다.
nametagVisibillity <설정>플레이어 캐릭터 위의 이름표가 어떻게 나올지 설정한다. always[23], never, hideForOtherTeams[24], hideForOwnTeam[25] 중 하나로 택해야 한다.넷 중 택일.
deathMessageVisibillity <설정>위 이름표 설정과 동일한다.넷 중 택일

6 사용 예시

점수판 시스템이긴 하지만 점수를 매기는 것 외에도 여러 방식으로 활용할 수 있다. 다음 명령어들을 하나씩 입력하면 게임 상에 적용된다. 단, 싱글 플레이 시에는 화면 슬롯이 사실상 없기 때문에 의미가 없다.

6.1 체력 표시

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

/scoreboard objectives add HP health
/scoreboard objectives setdisplay belowName HP

만약 팀끼리만 보이게 하고 싶다면

/scoreboard teams option <팀이름> nametagVisibillity hideForOtherTeams

6.2 살인 횟수

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

/scoreboard objectives add PK playerKillCount
/scoreboard objectives setdisplay list PK

모든 플레이어의 수치를 초기화할 시
/scoreboard players reset @a PK[27]

이외에도 deathCount 기준이 있으니 마인크래프트 상에서 KDA를 구할 수도 있다. 물론 어시스트는 없으므로 정확히 말하면 킬/뎃 비율. 하지만 정수연산밖에 안된다는 치명적인 약점 때문에 개조 없이 정확한 KD를 표시할 수는 없다.
  1. -2147483648 ~ 2147483647
  2. 물론 에메랄드가 있긴 하지만 플레이어 간 사용이 불편하므로
  3. 단, 그 목표가 활성화되어 있어야 사용 가능하다.
  4. 모두 업적들이다.
  5. 통계 - 블록에서 확인 가능.
  6. minecraft:stone, 1 같이 이름과 ID 모두 가능하므로 398가지라고 할 수도 있다.
  7. 통계 - 아이템 에서 확인 가능.
  8. 즉, 플레이어의 체력을 아무런 개조 없이 스코어보드 명령어로 변경할 수는 없다.
  9. 마인크래프트/명령어 참조
  10. shift 키를 누르면 된다.
  11. 접두사와 접미사는 생략해도 된다. 색을 넣는 등의 효과이기 때문.
  12. [1] 참조.
  13. 포션에 의한 나쁜 효과는 여전히 받는다.
  14. 활을 하늘을 향해 쏴서 자신이 맞게 하거나, 피해 포션을 자신에게 던지거나. 물론 낙하 대미지는 받는다.
  15. 예를 들어 목표를 확인하려면 /scoreboard objective list 라고 입력하면 된다.
  16. 위에서 추가한 목표의 이름이다.
  17. 원래 상태로 되돌린다.
  18. 초기화 한다는 것은 0을 만드는 게 아니라 플레이어를 그 점수 시스템으로부터 삭제한다는 것이다.
  19. 이 명령어는 op 이하의 일반 유저도 사용 가능한 명령어이다. 즉, 기준이 trigger인 목표는 사용자들이 임의로 모두 수정할 수 있다. 이 명령어로 허락한 이후부터.
  20. -2147483648~2147483647 범위. 만약 <기준> * * 이라 쓰면 모든 값이 포함된다.
  21. 예를 들어 팀 이름이 Brotherhood고 팀 색을 파란색으로 바꾸려면 /scoreboard teams option Brotherhood color blue 라고 입력하면 된다.
  22. 기본은 참.
  23. 기본 설정.
  24. 팀끼리는 보이나 다른 팀은 안 보이게 된다.
  25. 자신의 팀끼리만 안 보임
  26. 은신 (Shift) 키를 누를 시 숨겨진다.
  27. 특정 플레이만 초기화하려면 @a 대신에 플레이어 이름을 쓰면 된다.