mir.pe (일반/밝은 화면)
최근 수정 시각 : 2024-11-25 15:59:21

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

파일:상위 문서 아이콘.svg   상위 문서: 마인크래프트/명령어
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] 연쇄, 무조건적. 이 커맨드가 빠질 시 재사용이 불가하다.