나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2025-01-28 13:57:26

마인크래프트/명령어/scoreboard

파일:상위 문서 아이콘.svg   상위 문서:
#!if top1 != null && 문서명1 == null
[[마인크래프트/명령어|마인크래프트/명령어]]
#!if top1 == null && 문서명1 != null
[[|]]

1. 개요2. JE
2.1. objectives(목표)
2.1.1. 기준2.1.2. 슬롯
2.2. players(플레이어)2.3. 예시
2.3.1. 체력 표시2.3.2. 살인 횟수2.3.3. 사망 횟수2.3.4. 당근 낚싯대로 텔레포트
3. BE
3.1. objectives(목표)3.2. players(플레이어)3.3. team(팀)3.4. 예시
3.4.1. 임의의 좌표에 다이아몬드 광석 배치하기

1. 개요

<colbgcolor=#47A0FF> scoreboard
scoreboard <objectives|players> ...
<colcolor=#fff> 역사 JE | [ruby(1.5,ruby=추가)] / [ruby(1.13, ruby=변경)] / [ruby(1.20.3, ruby=변경)]
BE | [ruby(Bata 1.7.0.2,ruby=추가)]
EE | ?
기능 스코어보드를 관리한다.
관련 명령어 trigger | team
단축 명령어 -
기본값 -
<rowcolor=#fff> 싱글 사용 권한
가능 2(JE), 1(BE)
스코어보드나 플레이어 목록 점수를 관리하는 명령어이다. 사용법에 따라 플레이어 체력바를 표시할 수 있고 복잡하고 정교한 시스템을 짤 수 있다. scoreboard players ... 문법은 스코어보드의 점수를 조작할 때 사용하는 명령어이며, scoreboard objectives ... 문법은 점수가 아닌 스코어보드 자체를 조작할 때 사용하는 명령어이다. execute와 함께 명령어의 양대산맥이다.[1]

2. JE

문법은 크게 두 가지로 나눈다. 점수는
Int
유형이므로 -2,147,483,648 ~ 2,147,483,647 값만 사용할 수 있다.

2.1. objectives(목표)

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

2.1.1. 기준

2.1.2. 슬롯

마인크래프트 화면 상에 <목표>을 표시할 곳(슬롯)은 3곳이 있다.

2.2. players(플레이어)

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

2.3. 예시

2.3.1. 체력 표시

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

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

2.3.2. 살인 횟수

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

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

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

2.3.3. 사망 횟수

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

관전자 모드로 변경할 시:
/gamemode spectator @a[scores={<이름>=1}]

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

2.3.4. 당근 낚싯대로 텔레포트

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

/scoreboard objectives add <이름> minecraft.used:minecraft.carrot_on_a_stick
/execute as @a[scores={<이름>=1..}] at @s run tp @s <좌표>
/scoreboard players set @a[scores={<이름>=1..}] <이름> 0[8]

좌표에 ^ ^ ^15를 넣을 시 자신이 바라보는 방향으로 15칸 이동해 먼 거리를 편하게 이동할 수 있다.

3. BE

3.1. objectives(목표)

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

3.2. players(플레이어)

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

3.3. team(팀)

3.4. 예시

3.4.1. 임의의 좌표에 다이아몬드 광석 배치하기

/scoreboard players random을 이용해 갑옷 거치대를 임의의 좌표로 이동시킨 다음, 해당 위치에 다이아몬드 광석을 배치한다. 단, BE에서는 NBT 태그를 다룰 수 없으므로, 갑옷 거치대를 이동시키는데 약간의 노가다가 필요하다.

먼저 random의 결과를 저장할 목표 하나를 생성한다.
/scoreboard objectives add r dummy

그 다음, 갑옷 거치대를 원하는 위치에 소환한 후 random을 실행하고 그 결과에 따라 갑옷 거치대를 텔레포트시키는 과정을 반복한다.
/summon armor_stand <spawnPos: x y z>
/scoreboard players @e[type=armor_stand] random r 0 1
/execute as @e[type=armor_stand, scores={r=1}] at @s run tp ~1 ~ ~
/scoreboard players @e[type=armor_stand] random r 0 1
/execute as @e[type=armor_stand, scores={r=1}] at @s run tp ~2 ~ ~
/scoreboard players @e[type=armor_stand] random r 0 1
/execute as @e[type=armor_stand, scores={r=1}] at @s run tp ~4 ~ ~
/scoreboard players @e[type=armor_stand] random r 0 1
/execute as @e[type=armor_stand, scores={r=1}] at @s run tp ~8 ~ ~
/scoreboard players @e[type=armor_stand] random r 0 1
/execute as @e[type=armor_stand, scores={r=1}] at @s run tp ~ ~1 ~
/scoreboard players @e[type=armor_stand] random r 0 1
/execute as @e[type=armor_stand, scores={r=1}] at @s run tp ~ ~2 ~
/scoreboard players @e[type=armor_stand] random r 0 1
/execute as @e[type=armor_stand, scores={r=1}] at @s run tp ~ ~4 ~
/scoreboard players @e[type=armor_stand] random r 0 1
/execute as @e[type=armor_stand, scores={r=1}] at @s run tp ~ ~8 ~
/scoreboard players @e[type=armor_stand] random r 0 1
/execute as @e[type=armor_stand, scores={r=1}] at @s run tp ~ ~ ~1
/scoreboard players @e[type=armor_stand] random r 0 1
/execute as @e[type=armor_stand, scores={r=1}] at @s run tp ~ ~ ~2
/scoreboard players @e[type=armor_stand] random r 0 1
/execute as @e[type=armor_stand, scores={r=1}] at @s run tp ~ ~ ~4
/scoreboard players @e[type=armor_stand] random r 0 1
/execute as @e[type=armor_stand, scores={r=1}] at @s run tp ~ ~ ~8

다이아몬드 광석을 놓을 범위에 따라 /scoreboard players random/execute tp를 반복 실행한다. 한 번 실행할 때마다 범위가 2배가 된다.

마지막으로 해당 위치에 다이아몬드 광석을 놓고 갑옷 거치대를 없앤다. /fill[replace] 옵션을 이용해 심층암 다이아몬드 광석도 생성하거나, /structure[integrity] 옵션을 이용해 다이아몬드 원석의 개수를 조절할 수 있다.
/execute as @e[type=armor_stand] at @s run fill ~ ~ ~ ~1 ~1 ~1 diamond_ore
/kill @e[type=armor_stand]


[1] 과장이 아니라, scoreboard 하나 만으로도 점수, 아이템 수, 죽은 횟수, 타이머 등 유동수치와 관련된 모든 것들을 구현할 수 있다.[2] 해당 스코어보드에 있었던 모든 점수는 다 사라지므로 주의.[3] 해당 스코어보드의 목록이 비어 있게 보이는 게 아니라, 아예 해당 스코어보드 자체가 보이지 않게 된다.[4] 은신(웅크리기, 기본 키는 Shift 키) 시 숨겨진다.[5] 혹은 tellraw, title 명령어와 혼합하여 더 깔끔하게 만들 수도 있지만 그건 커맨드에 숙련되지 않고서는 힘들다.[6] 특정 플레이어 수치만 초기화시키려면 플레이어 닉네임을 쓰면 된다.[7] 단순히 0으로만 만들 것이라면 /scoreboard players set @a <이름> 0 으로 해도 된다.[8] 연쇄, 무조건적. 이 커맨드가 빠질 시 재사용이 불가하다.