介紹
PC
PC的計分板有三個分支,分別是objectives、players和teams。
原文 | 遊戲內譯名 | 分支 | 作用 |
objectives | 計分項/記分項 | list | 列出已創建的計分項(記分項) |
add | 增加一個計分項(記分項) | ||
remove | 刪除一個計分項(記分項) | ||
setdisplay | 修改計分項(記分項)顯示位置 | ||
players | 玩家 | set | 設定玩家某計分項的分數 |
add | 增加玩家的某個計分項的分數 | ||
remove | 減少玩家的某個計分項的分數 | ||
list | 列出某個玩家所有計分項的分數 | ||
reset | 重置玩家某計分項的分數 | ||
test | 檢測某位玩家的計分板分數 | ||
teams | 隊伍 | list | 列出所有隊伍 |
add | 創建一個隊伍 | ||
remove | 刪除一個隊伍 | ||
empty | 清除某隊的人 | ||
join | 將玩家加入某隊伍 | ||
leave | 將玩家退出某隊伍 | ||
option | 設定某個隊伍 |
表格信息來源
objectives
objectives在遊戲中的意思是“計分項”,作用為控制計分板的計分項目。該分支又分為分為add、remove、list和setdisplay。
add的作用是增加一個計分項目。在創建時,需要填入“名稱”和“類型”,還有一個“顯示的名稱”(格式見下一個一級目錄)。名稱是計分項目的名稱。類型準確的說是準則,是指該計分項目是如何獲得分數的。類型有好幾種,具體見以下表格:
準則 | 版本限制 | 描述 | 可否編輯 |
dummy 虛擬型 | 無 | 只能通過命令修改分數,諸如死亡等遊戲行為並不能修改分數。這可以被用來製作事件的標記、映射和通貨。 | 是 |
trigger 觸發器 | 僅Java版 | 只能通過命令修改分數,諸如死亡等遊戲行為並不能修改分數。/trigger能夠用於設定/增減使用trigger作準則的記分項。如果以trigger為準則的記分項沒有對玩家啟用,則該玩家使用該/trigger命令會失敗。成功使用過一次/trigger成功之後,該玩家的該命令將重新被關閉。注意/trigger可以在不允許作弊的情況下被非管理員的普通玩家使用。這可以比較方便地通過/tellraw來製作功能面板。 | 是 |
deathCount 死亡次數 | 僅Java版 | 當玩家死亡時,分數會自動增加。 | 是 |
playerKillCount 殺人數量 | 僅Java版 | 當玩家殺死其他玩家時分數會自動增加。 | 是 |
totalKillCount 殺怪數量 | 僅Java版 | 當玩家殺死其他生物時分數會自動增加。 | 是 |
health 生命值 | 僅Java版 | 普通玩家會在0~20之間。代表玩家擁有紅心數量的兩倍。在玩家第一次改變血量前會顯示為0。額外的血或者傷害吸收的血也會計算在血量中,也就是說當獲得了傷害吸收或者生命提升的信標效果後生命值可以超過20。 | 否 |
xp 經驗值 | 僅Java版 | 對應玩家擁有的經驗值。 | 否 |
level 等級 | 僅Java版 | 對應玩家當前的經驗等級。 | 否 |
food 飽和度 | 僅Java版 | 在0~20之間,代表玩家擁有的飽和度。在玩家第一次改變飽和度前會顯示為0。 | 否 |
air 空氣值 | 僅Java版 | 在0~300之間;代表潛水的玩家所存余的空氣,對應玩家的空氣NBT標籤。 | 否 |
armor 盔甲值 | 僅Java版 | 在0~20之間;代表玩家擁有的盔甲值。在玩家第一次更換盔甲前會顯示為0。 | 否 |
表格信息來源
“顯示的名稱”指這個計分項目對外顯示的名稱。
remove的作用是刪除一個計分項目。刪除時,只需要填上計分項目的名稱即可(格式見下一個一級目錄)。
list的作用是列出已創建的計分項目,包括顯示的名字。
setdisplay的作用是設定一個計分項目顯示的位置。顯示的位置有三種,分別是belowName、sidebar和list。belowname是在玩家的名稱牌之下,在他們的頭之上,於記分項的顯示名稱(display name)後面顯示分數。在10個方塊後面、玩家潛行時隱藏。在單人遊戲中不可見。;sidebar是在螢幕的右側顯示。在列表的最上方顯示記分項的顯示名稱(display name),並顯示玩家的高分榜。值得注意的是,即使玩家離線,如果在該記分項下存在一定分數也會在"側邊欄"中進行顯示,並且沒有痕跡的玩家也不會被顯示。除此之外,以#開頭的偽造的玩家名稱在任何情況下都不會在側邊欄可見。;list是顯示在玩家列表中以黃色文字在玩家名稱後顯示分數信息(默認為 Tab 鍵),並不會顯示記分項名稱。注意,每個位置只能放一個計分板。
players
players在遊戲中的翻譯為玩家,作用是控制玩家的分數。該分支又分為list、add、remove、set和reset。
list是列出某個玩家的所有計分板他所擁有的分數。
add是增加某個玩家的某項計分板的分數,在後面有一個NBT標籤,用於根據玩家身上的NBT標籤加分,比如當目標手持某物品時加分 。
remove是減少某位玩家的某個計分板的分數,在後面也有一個NBT標籤,也可以根據玩家身上的NBT標籤減分,比如當目標手持某物品時減分 。
set是設定玩家某計分項的分數,需要填入玩家ID、要設定的計分項目名稱和設定的分數。在後面還有一個NBT標籤,還是可以根據玩家身上的NBT標籤設定分數,比如當目標手持某物品時設定為多少分。
reset是重置某個玩家的計分板,後面的“項目名字”可填可不填。填了就是只重置該項計分板玩家所擁有的分數,不填就是重置所有的計分板玩家所擁有的分數。
operation是將某兩個的某計分板項目的分數進行計算,可以使用+(相加)、-(相減)、*(相乘)、/(相除)和=(複製)。
test是檢測某位或多位玩家的某個計分項目的分數是否在指定範圍內,如果是,則成功,反之,失敗。
teams
teams在遊戲中的翻譯為隊伍,有分為list、add、remove、empty、join、leave和option。
list是列出所有已創建的隊伍及顯示的名稱。
add是創建一個隊伍,需要填入“隊名”和“顯示的名字”(跟創建一個計分項目差不多)。
remove是刪除一個隊伍,需要填入“隊名”。
join是加入一個隊伍,需要填入要加入的隊伍名和加入的玩家(不填即為自己)。
leave是退出隊伍,需要填入退出的玩家ID(不填即為自己)。
empty是將某隊的所有玩家退出該隊伍,需要填入隊名。
option是設定一個隊伍,分為friendlyfire、color和seeFriendlyInvisibles。在設定時,需要先填入隊名。friendlyfire翻譯是誤傷的意思,數值有true和false,意思是開和關。color是設定隊伍的顏色,可以按Tab鍵選擇顏色。seeFriendlylnvisibles是設定是否可以看到自己隊伍的人隱身,它的數值有true和false,true則是可見,false則是關閉可見。
( 信息來源 )
PE
PE的計分板功能相對於PC來說,比較少。PE的計分板(scoreboard)分為objectives和players。其他的基本一樣。
格式
objectives分支格式
list:/scoreboard objectives list
remove:/scoreboard objectives remove <計分項目名稱>
add:/scoreboard objectives add <計分項目名稱> <計分項目類型> [顯示的名稱]
setdisplay:
PC版 /scoreboard objectives setdisplay <顯示位置> [顯示的計分項目名稱] [排序方法]
如果不打名稱,會刪除在那個位置顯示的計分項目。
(註:“<>”是必須要填,“[]”是可以不用填)
players分支格式
set:/scoreboard players set <玩家名稱> <要設定分數的計分項目名稱> <設定的分數> [NBT標籤]
add:/scoreboard players add <玩家名稱> <要增加分數的計分項目名稱> <增加的分數> [NBT標籤]
remove:/scoreboard players remove <玩家名稱> <要減去分數的計分項目名稱> <減去的分數> [NBT標籤]
reset:/scoreboard players reset <玩家名稱> [要重置的項目名稱]
list:/scoreboard players list <玩家名稱>
test:/scoreboard players test <玩家名稱> <要檢測的計分項目名稱> <最小值> <最大值>
operation:/scoreboard players operation <玩家1名稱> <要計算的計分項目> <計算方式> <玩家2名稱> <要計算的計分項目>
(註:“<>”為必須要寫,“[]”為可以不寫)
teams分支格式(僅PC版)
list:/scoreboard teams list
add:/scoreboard teams add <隊名> [顯示的名字]
remove:/scoreboard teams remove <隊名>
join:/scoreboard teams join <隊名> [玩家ID]
玩家id不寫為自己
leave:/scoreboard teams leave [玩家id]
empty:/scoreboard teams empty <隊名>
(註:“<>”為必須要寫,“[]”為可以不寫)
option分分支格式
/scoreboard option <隊名> <數值>
下面格式的前半部分重複的(是上面的格式)用“......”來表示。
/...... friendfire <true|false>
/...... color <顏色英文>
/......eeFriendlyInvisibles <true|false>
( 格式信息來源 )
歷史
Java版 | ||
1.5 | 13w04a | 加入了計分板 |
13w05a | 加入了隊伍相關功能 | |
1.7.2 | 13w36a | 加入了統計相關記分項準則 |
1.8 | 14w02a | 除了玩家外的實體也能加入隊伍並擁有記分項分數了 |
14w06a | 加入了trigger隊伍擊殺相關記分項準則 | |
加入了/scoreboard players enable | ||
"*" 可以用作玩家名稱參數代表所有正被記分板追蹤的玩家了 | ||
為/scoreboard players reset加入了 "objective"參數。 | ||
統計記分項準則使用ID名而不使用ID了 | ||
加入了achievement.overpowered記分項準則 | ||
14w07a | 加入了/scoreboard players operation與/scoreboard players test | |
以"#"開頭的虛擬玩家的分數不再顯示於側邊欄 | ||
加入了指定隊伍的側邊欄顯示位置 | ||
加入了nametagVisibility隊伍選項 | ||
14w10a | 加入了deathMessageVisibility隊伍選項 | |
為/scoreboard players set,/scoreboard players add,與/scoreboard players remove加入了dataTag參數 | ||
加入了stat.crouchOneCm,stat.sprintOneCm,與stat.timeSinceDeath記分項準則 | ||
14w25a | 為/scoreboard players operation加入了=,<,與> | |
14w29a | 玩家/實體在側邊欄名字的第二順序依照字母表儲存 | |
14w30a | 加入了stat.talkedToVillager與stat.tradedWithVillager記分項準則 | |
? | 為/scoreboard players operation加入了>< | |
1.8.2 | 加入了cauldronFilled,stat.cauldronUsed,stat.armorCleaned等記分項準則 | |
1.9 | 15w32a | 加入了stat.sneakTime記分項準則 |
15w32b | 加入了/scoreboard players tag | |
加入了xp,food,與air記分項類型 | ||
15w33a | 加入了stat.pickup與stat.drop記分項準則 | |
加入了 thearmor,level記分項類型 | ||
15w36a | 加入了collisionRule | |
1.13 | pre7 | 加入了/scoreboardobjectives modify |
1.13.1 | 18w31a | 記分板的計算符號%=從%被更改為Math.floorMod |
基岩版 | ||
1.7 | beta 1.7.0.2 | 加入了記分板部分功能 |
加入了dummy準則 | ||
網易PE版 | ||
2018聖誕節更新 | 加入了計分板的部分功能 | |
加入了dummy準則 |
表格信息來源
實際作用
作用1:計分板計時器
計分板計時器相對於傳統的紅石循環計時器占地面積更小,更簡單。
例子一:10秒倒計時
主要原理:
紅石循環1秒,命令方塊就被激活一次,減少(remove)1分數。當到達0分數時,循環命令塊檢測(test)到,輸出信號,重新將該虛擬玩家的分數設定(set)為10,這樣循環下去。
例子二:計分板時鐘
主要原理:
紅石循環1秒,命令方塊就被激活一次,給“秒”增(add)加1分數。當到達60分數(test)時,將“秒”設定(set)回0,給“分”增加(add)1分數。當“分”達到60時(test),將“分”設定(set)回0,給“時”增加(add)1分數。當“時”達到24時(test),將“時、分、秒”重新設定(set)回0。
作用2:計分板商店
計分板貨商店比clear商店要好的地方在於不會吞幣,不會占用背包空間。
主要原理:
首先檢測(test)最近的玩家貨幣是否達到了單價,如果是,則傳送紅石信號,激活下一個命令塊。然後刪除(remove)最近的玩家商品單價的分數,最後給予(give)最近的玩家商品。