本文章介紹的是啟用計分板的指令。關於計分板具體用法,請見「計分板」。
這些指令管理計分板的目標、玩家和隊伍。
語法[]
Java版[]
scoreboard objectives (add|list|modify|remove|setdisplay)
add <记分项> <准则> [<显示名称:字符串>]
- 建立一個具有給定的名稱、準則、可選的顯示名稱的計分項。
<记分项>
必須是純文字;<准则>
必須是有效的準則類型。<显示名称>
必須是原始JSON文字,如果未指定,預設為<记分项>
;所有的參數均區分大小寫。
list
- 列出所有存在的計分項、顯示名稱與準則。
modify <准则> displayname <显示名称>
- 變更顯示未知中計分板的顯示名稱。被指定的準則必須存在。名稱必須是JSON文字組件。
modify <记分项> rendertype (hearts|integer)
- 在列表將計分項<計分項>的數值以愛心(hearts)或數字(integer)顯示。
remove <记分项>
- 刪除計分板系統中該計分項的所有有關內容。計分項、玩家分數的資料都會被刪除,且如果計分項在顯示位置上,該顯示位置將會被清空。
setdisplay <槽位> [<记分项>]
- 在指定位置顯示指定計分項的分數資訊。合法的位置已在顯示位置裡列出並描述。
scoreboard players (add|enable|get|list|operation|remove|reset|set)
add <目标> <记分项> <分数>
- 往實體目標在計分項計分項上的分數增加數量分。如果沒有分數則當作0分修改。*可用以代表所有正在被計分板追蹤的實體。
- 目標所指定的實體不必存在,可以使用自訂的名稱,下同。
enable <目标> <触发器>
- 使實體目標可以對指定觸發型計分項觸發器使用指令
/trigger
。在此操作完成前,實體目標對計分項使用/trigger
時將會失敗。一旦實體對計分項使用了/trigger
,計分項將再次變得不可操作,需要再次使用此指令。*可用以代表所有正在被計分板追蹤的實體。
get <目标> <记分项>
- 顯示該實體在計分項上的分數。僅可指定一個實體,且不能為
*
。
list [<目标>]
- 顯示所有被計分板系統追蹤的實體。可選的實體名稱參數項可用以顯示指定實體的所有分數,留空目標會顯示所有正被計分板跟蹤的實體。由於MC-136858,往目標填寫
*
無法追蹤到任何實體。
operation <目标> <目标记分项> <操作> <来源> <来源记分项>
- 使用計分項實體來源在計分項名為來源計分項上的分數作為輸入,進行運算操作後把結果作為計分項實體目標在計分項名為目標計分項上的分數。若來源的來源計分項未被賦值,則它會自動被設為0。 運算操作<操作> 可以是:
- += 求和:把選擇器的分數加到 目標名稱的分數上。
- -= 求差:在目標名稱的分數上減去選擇器的分數。
- *= 求積:將目標名稱的分數設為目標名稱的分數與選擇器分數的乘積。
- /= 求商:將目標名稱的分數設為被選擇器的分數除後的結果。
- %= 求余:將目標名稱的分數設為被選擇器的分數除後得到的餘數。
- = 賦值:把目標名稱的分數設為選擇器的分數。
- < 取較小值:如果選擇器的分數比目標名稱的分數小,則把目標名稱的分數設為選擇器的分數。
- > 取較大值:如果選擇器的分數比目標名稱的分數大,則把目標名稱的分數設為選擇器的分數。
- >< 交換選擇器與目標名稱的分數。 除><外,選擇器在計分項上的分數會保持不變。*可填在目標名稱或選擇器(但不能同時)用以代表所有正在被計分板追蹤的實體。
remove <目标> <记分项> <分数>
- 從實體目標在計分項計分項上的分數扣除數量分。如果沒有分數則當作0分修改。*可用以代表所有正在被計分板追蹤的實體。
reset <目标> [<记分项>]
- 清空實體目標的一項或所有分數。如果指定了計分項計分項,只清空對應計分項的分數;否則刪除實體所有計分項上的分數。需要注意這不只是設分數為0:實體將會整個從計分板上被移除(或從給定的計分項)。星號(*)可用以代表所有正在被計分板追蹤的實體。
set <目标> <记分项> <分数>
- 將實體目標在計分項計分項上的分數設為數量分。*可用以代表所有正在被計分板追蹤的實體。
基岩版[]
scoreboard objectives
scoreboard objectives add <objective: string> dummy [displayName: string]
- 建立一個具有給定的名稱、準則、可選的顯示名稱的計分項。
<objective: string>
必須是小於16個字元的純文字;還可以被引號包圍。<displayName: string>
必須是非數字的純文字。如果未指定,預設為<objective>
。所有的參數均區分大小寫。
scoreboard objectives list
- 列出所有存在的計分項、顯示名稱與準則。
scoreboard objectives remove <objective: string>
- 刪除計分板系統中該計分項的所有有關內容。計分項、玩家分數的資料都會被刪除,且如果計分項在顯示位置上,該顯示位置將會被清空。
scoreboard objectives setdisplay <list|sidebar> [objective: string] [ascending|descending]
scoreboard objectives setdisplay belowname [objective: string]
- 在指定位置顯示指定計分項的分數資訊。合法的位置已在顯示位置裡列出並描述。如果位置是
list
或sidebar
,則還有可選的參數ascending|descending
來指定排序順序。注意計分項參數是可選的,如果不提供,則該顯示位置會被清空(回到其預設狀態)
scoreboard players
scoreboard players <set|add|remove> <player: target> <objective: string> <count: int>
- set:設定實體目標在計分項計分項上的分數為分數,並在已有分數存在時覆蓋之。*可以用於目標項以代表所有正在被計分板追蹤的實體。
- add:往實體目標在計分項計分項上的分數增加數量分。如果沒有分數則當作0分修改。*可用以代表所有正在被計分板追蹤的實體。
- remove:從實體目標在計分項計分項上的分數扣除數量分。如果沒有分數則當作0分修改。*可用以代表所有正在被計分板追蹤的實體。
scoreboard players list [playername: target]
- 顯示所有被計分板系統追蹤的實體。可選的實體名稱參數項可用以顯示指定實體的所有分數,且往目標填寫*(星號)會顯示所有正被計分板跟蹤的實體。
scoreboard players operation <targetName: target> <targetObjective: string> <operation: operator> <selector: target> <objective: string>
- 使用選擇器在計分項計分項上的分數作為輸入,進行運算操作後把結果作為計分項實體目標在計分項名為目標計分項上的分數。 運算操作<操作> 可以是:
- += 求和:把選擇器的分數加到 目標名稱的分數上。
- -= 求差:在目標名稱的分數上減去選擇器的分數。
- *= 求積:將目標名稱的分數設為目標名稱的分數與選擇器分數的乘積。
- /= 求商:將目標名稱的分數設為被選擇器的分數除後的結果。
- %= 求余:將目標名稱的分數設為被選擇器的分數除後得到的餘數。
- = 賦值:把目標名稱的分數設為選擇器的分數。
- < 取較小值:如果選擇器的分數比目標名稱的分數小,則把目標名稱的分數設為選擇器的分數。
- > 取較大值:如果選擇器的分數比目標名稱的分數大,則把目標名稱的分數設為選擇器的分數。
- >< 交換選擇器與目標名稱的分數。 除><外,選擇器在計分項上的分數會保持不變。*可填在目標名稱或選擇器(但不能同時)用以代表所有正在被計分板追蹤的實體。
scoreboard players random <player: target> <objective: string> <min: int> <max: int>
- 把實體目標在計分項上的分數設為一個從最小值到最大值的隨機數,包含最大最小值。
scoreboard players reset <player: target> [objective: string]
- 清空實體目標的一項或所有分數。如果指定了計分項計分項,只清空對應計分項的分數;否則刪除實體所有計分項上的分數。需要注意這不只是設分數為0:實體將會整個從計分板上被移除(或從給定的計分項)。星號(*)可用以代表所有正在被計分板追蹤的實體。
scoreboard players test <player: target> <objective: string> <min: wildcard int> [max: wildcard int]
- 檢測計分項是否在最小值和最大值範圍內(若不填,預設最大值為整型數最大值2147483647)。最小值和最大值可替換為星號(*),以表示整型數範圍內的任何值(-2147483648 ~ 2147483647)
參數[]
主條目:計分板§指令列表
輸出[]
指令 | 版本 | 條件 | 成功次數 | /execute store success ... | /execute store result ... |
---|---|---|---|---|---|
任意 | Java版 | 執行失敗 | 0 | 0 | 0 |
/scoreboard objectives add... | 執行成功 | 1 | 1 | 目前計分項的總數量 | |
/scoreboard objectives list... | 執行成功 | 1 | 1 | 目前計分項的總數量 | |
/scoreboard objectives modify... | 執行成功 | 1 | 1 | 0 | |
/scoreboard objectives remove... | 執行成功 | 1 | 1 | 目前計分項的總數量 | |
/scoreboard objectives setdisplay... | 執行成功 | 1 | 1 | 0 | |
/scoreboard players add... | 執行成功 | 1 | 1 | 指令執行後,所有 <目标> 的分數之和 | |
/scoreboard players enable... | 執行成功 | 1 | 1 | 新允許的玩家數量 | |
/scoreboard players get... | 執行成功 | 1 | 1 | 指定<目标> 的分數 | |
/scoreboard players list... | 執行成功 | 1 | 1 | 指定計分項上擁有分數的目標的數量 | |
/scoreboard players operation... | 執行成功 | 1 | 1 | 指令執行後,所有 <目标> 的分數之和 | |
/scoreboard players remove... | 執行成功 | 1 | 1 | 指令執行後,所有 <目标> 的分數之和 | |
/scoreboard players reset... | 執行成功 | 1 | 1 | 被重設的目標數量 | |
/scoreboard players set... | 執行成功 | 1 | 1 | 指定<分数> 乘<目标> 數量的積 |
歷史[]
主條目:計分板§歷史
Java版 | |||||
---|---|---|---|---|---|
1.5 | 13w04a | 加入了/scoreboard 。 | |||
1.13 | ? | 計分板名稱不能再包含: 等字元。 | |||
17w45a | /scoreboard teams 改為/team 。
| ||||
/scoreboard players tag 改為/tag 。 | |||||
pre7 | 加入了語法/scoreboard objectives modify <計分項> displayname <顯示名稱> 。 | ||||
pre8 | 加入了語法/scoreboard objectives modify <計分項> rendertype hearts ,使生命值欄目顯示為心形,類似:。
| ||||
加入了語法/scoreboard objectives modify <計分項> rendertype integer ,使生命值欄目顯示為黃色的數字。 | |||||
計分項名稱現在為文字元件,而不是純字串。 | |||||
1.18 | 21w37a | 在此之前,計分項和分數持有者的長度不能超過16個字元。 | |||
基岩版 | |||||
1.7.0 | 1.7.0.2 | 加入了/scoreboard 。 |
語言