Minecraft-目標(biāo)選擇器/bossbar/scoreboard/team/trigger-基礎(chǔ)用法-1
該教程僅限Java版
使用版本:Minecraft1.20.1? ? ? ? ? ? ? ? 參考資料:MCwiki: https://minecraft.fandom.com/zh/wiki/

目標(biāo)選擇器
1.目標(biāo)選擇器變量
@a:所有玩家
@p:最近的玩家,如果在服務(wù)器控制臺(tái)中輸入,默認(rèn)基準(zhǔn)點(diǎn)為世界出生點(diǎn)。若有多個(gè)最近的玩家,與基準(zhǔn)點(diǎn)距離完全相同,會(huì)選擇其中最晚進(jìn)入服務(wù)器的玩家。type
參數(shù)不適用于@p
。
@r:隨機(jī)玩家,type
參數(shù)不適用于@r
。(可以用@e[sort=random,limit=1,type=...]來代替)
@e:所有實(shí)體
@s:該命令的執(zhí)行者,若命令執(zhí)行者為命令方塊或服務(wù)器控制臺(tái)執(zhí)行命令,則此選擇器不會(huì)選中任何東西。
注:Java的玩家選擇包括死亡玩家
2.目標(biāo)選擇器參數(shù)
在使用目標(biāo)選擇器之后,可以用參數(shù)限定所要選擇的群組。當(dāng)使用
@a
或@e
時(shí),待選目標(biāo)從全體篩選成特定的少數(shù)。當(dāng)使用@p
或@r
時(shí),參數(shù)將從完整的待選列表縮小到被篩選后的待選列表。當(dāng)使用@s
時(shí),命令執(zhí)行者只有在所有參數(shù)都滿足時(shí)才會(huì)被選擇,否則命令將執(zhí)行失敗。在目標(biāo)選擇器變量之后附加鍵值對(duì)構(gòu)成的逗號(hào)分隔,并包含在方括號(hào)中
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?來自? Minecraft Wiki
下面是一些參數(shù)
參數(shù)? ? ? 選擇標(biāo)準(zhǔn)? ? ? 參數(shù)? ? ? ? 選擇標(biāo)準(zhǔn)??
x
,?y
,?z=? ? ? 坐標(biāo)? ? ?distance=? ? ? ? 距離
dx
,dy
,dz=
? ?區(qū)域? ? ?scores={...=}? ? 計(jì)分板分?jǐn)?shù)
tag=? ? ? 標(biāo)簽標(biāo)簽? ? ??team=? ? ? ? 隊(duì)伍名稱
name=? ? ?實(shí)體名稱? ? ??type=? ? ? ?實(shí)體類型
predicate? ?謂詞? ? ? ?x/y_rotation=? 垂直/水平旋轉(zhuǎn)角度
nbt={}? ?實(shí)體的NBT標(biāo)簽? ??level=? ? ? ?經(jīng)驗(yàn)等級(jí)
gamemode=? ?游戲模式? ? ?advancements=? ?進(jìn)度
limit=? ? 數(shù)量? ? ? ? ?sort=? ? ? ? 排序

sort= 的用法
sort=nearest:將目標(biāo)由近到遠(yuǎn)排序。
sort=furthest:將目標(biāo)由遠(yuǎn)到近排序。
sort=random:將目標(biāo)隨機(jī)排序。
sort=arbitrary:將目標(biāo)按生成時(shí)間由遠(yuǎn)到近排序。(@a
和@e
的默認(rèn)排序方式)
使用:
排序過后,可以用 limit= 進(jìn)行選擇 1 就是排序的第一個(gè) 2 就是第二個(gè) 以此類推
如: execute as @a at @s at @e[sort=nearest,limit=1,type=!player,type=!#minecraft:arrows,type=!minecraft:arrow,type=!minecraft:trident,type=!minecraft:potion,type=!minecraft:item,type=!minecraft:experience_orb,type=!minecraft:experience_bottle,distance=0..12] run particle minecraft:flame ~ ~ ~ 0.5 0 0.5 0.09 7 force @s
該指令的效果在這期視頻

這個(gè)指令的效果是選擇最近的生物并生成粒子,其中“sort=nearest,limit=1”就是選擇最近的實(shí)體。
除此之外,還可以實(shí)現(xiàn)隨機(jī)實(shí)體的效果
? ?@e[sort=random,limit=1]

/bossbar
add??? ? ? ? ? 添加bossbar
remove? ? ?移除bossbar
get? ? ? ? ? ? ??返回請(qǐng)求的指定設(shè)置
(max/players/value/visible)
list? ? ? ? ? ? ??顯示現(xiàn)存的bossbar列表?
set? ? ? ? ? ? ??設(shè)置bossbar
(color|max|name|players|style|value|visible)
Color? bossbar的顏色
Max?bossbar的最大值
Players? ?bossbar對(duì)誰(shuí)顯示
Style? ?bossbar的段數(shù)? ? ? ?
(progress|notched_6|notched_10|notched_12|notched_20)
看上去是這樣的(...?notched_6)

? ? ? ? ? progress是不分段
Value? ? bossbar的當(dāng)前值
visible? ?bossbar是否顯示

/team
add? ? ? ? ? ? ? ? ? ??添加隊(duì)伍
remove? ? ? ? ? ? ?移除隊(duì)伍
list? ? ? ? ? ? ? ? ? ? ?列出所有隊(duì)伍,同時(shí)列出顯示名稱與包含的實(shí)體。
empty? ? ? ? ? ? ??將所有隊(duì)伍內(nèi)的實(shí)體移出
join? ? ? ? ? ? ? ? ? ?加入隊(duì)伍,若未指定實(shí)體,則將執(zhí)行者加入該隊(duì)伍。
leave? ? ? ? ? ? ? ??離開隊(duì)伍
modify? ? ? ? ? ? ?修改隊(duì)伍,如下
displayName
:設(shè)置隊(duì)伍被顯示時(shí)的名稱。
color
:決定隊(duì)伍與玩家在聊天欄、頭頂、Tab菜單、側(cè)邊欄的顏色,以及實(shí)體帶有發(fā)光效果時(shí)的描邊顏色。
friendlyFire
:?jiǎn)⒂?禁用同隊(duì)伍玩家互傷。不對(duì)隊(duì)伍中的非玩家實(shí)體生效。
seeFriendlyInvisibles
:決定玩家觀察同隊(duì)伍的隱身玩家時(shí),顯示為半透明還是完全不可見。
nametagVisibility
:決定頭上的名稱標(biāo)簽是否可見。
deathMessageVisibility
:控制玩家死亡消息的可見性。
collisionRule
:控制隊(duì)伍中實(shí)體的碰撞方式。
prefix
:修改玩家名稱前綴。
suffix
:修改玩家名稱后綴。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?來自? Minecraft Wiki
nametagVisibility?
never - 玩家頭上的名稱不被任何玩家看見。
hideForOtherTeams
?- 玩家頭上的名稱只被同隊(duì)伍的玩家看見。hideForOwnTeam
?- 玩家頭上的名稱只被不同隊(duì)伍的玩家看見。always
?- (默認(rèn))玩家頭上的名稱能被任意玩家看見。collisionRule
never
?- 對(duì)所有玩家隱藏死亡消息。hideForOtherTeams
?- 對(duì)不同隊(duì)伍的玩家隱藏死亡消息。hideForOwnTeam
?- 對(duì)同隊(duì)伍的玩家隱藏死亡消息。always
?- (默認(rèn))死亡消息對(duì)所有玩家可見。prefix
:修改玩家名稱前綴。suffix
:修改玩家名稱后綴。需用原始JSON文本
原始JSON文本-基本
{"text":"文本內(nèi)容","color":"顏色"}?"bold":false/true"italic":false/true,"underlined":false/true,"strikethrough":false/true,"obfuscated":false/true}
bold(粗體)、?italic(斜體)、?underlined(下劃線)、?strikethrough(中劃線)、obfuscated(亂碼)
詳見https://minecraft.fandom.com/zh/wiki/教程/原始JSON文本
/scoreboard
objectives?(add/list/modify/remove/setdisplay)
add? 記分項(xiàng)?? 準(zhǔn)則? 顯示名稱(原始JSON文本)? ? ? ? ?創(chuàng)建積分榜
list? ??列出所有存在的記分項(xiàng)、顯示名稱與準(zhǔn)則。
modify? ? ??
modify 準(zhǔn)則?displayname 顯示名稱
更改記分板的顯示名稱。被指定的準(zhǔn)則必須存在。名稱必須是JSON文本組件
modify 記分項(xiàng)?rendertype (hearts/integer)
在列表將記分項(xiàng)記分項(xiàng)的數(shù)值以愛心或數(shù)字顯示。
remove? ??刪除積分項(xiàng)
setdisplay? ? ?設(shè)置積分項(xiàng)顯示區(qū)域
players(add/enable/get/list/operation/remove/reset/set)
add <目標(biāo)> <記分項(xiàng)> <分?jǐn)?shù)>
往實(shí)體目標(biāo)在記分項(xiàng)記分項(xiàng)上的分?jǐn)?shù)增加數(shù)量分。如果沒有分?jǐn)?shù)則當(dāng)作0分修改。*可用以代表所有正在被記分板追蹤的實(shí)體。
目標(biāo)所指定的實(shí)體不必存在,可以使用自定義的名稱,下同。
enable <目標(biāo)> <觸發(fā)器>
使實(shí)體目標(biāo)可以對(duì)指定觸發(fā)型記分項(xiàng)觸發(fā)器使用命令
/trigger
。在此操作完成前,實(shí)體目標(biāo)對(duì)記分項(xiàng)使用/trigger
時(shí)將會(huì)失敗。一旦實(shí)體對(duì)記分項(xiàng)使用了/trigger
,記分項(xiàng)將再次變得不可操作,需要再次使用此命令。*可用以代表所有正在被記分板追蹤的實(shí)體。
get <目標(biāo)> <記分項(xiàng)>
顯示該實(shí)體在記分項(xiàng)上的分?jǐn)?shù)。僅可指定一個(gè)實(shí)體,且不能為
*
。
list [<目標(biāo)>]
顯示所有被記分板系統(tǒng)追蹤的實(shí)體??蛇x的實(shí)體名稱參數(shù)項(xiàng)可用以顯示指定實(shí)體的所有分?jǐn)?shù),留空目標(biāo)會(huì)顯示所有正被記分板跟蹤的實(shí)體。由于MC-136858,往目標(biāo)填寫
*
無法追蹤到任何實(shí)體。
operation <目標(biāo)> <目標(biāo)記分項(xiàng)> <操作> <來源> <來源記分項(xiàng)>
使用記分項(xiàng)實(shí)體來源在記分項(xiàng)名為來源記分項(xiàng)上的分?jǐn)?shù)作為輸入,進(jìn)行運(yùn)算操作后把結(jié)果作為記分項(xiàng)實(shí)體目標(biāo)在記分項(xiàng)名為目標(biāo)記分項(xiàng)上的分?jǐn)?shù)。若來源的來源記分項(xiàng)未被賦值,則它會(huì)自動(dòng)被設(shè)為0。 運(yùn)算操作<操作> 可以是:
+= 求和:把選擇器的分?jǐn)?shù)加到?目標(biāo)名稱的分?jǐn)?shù)上。
-= 求差:在目標(biāo)名稱的分?jǐn)?shù)上減去選擇器的分?jǐn)?shù)。
*= 求積:將目標(biāo)名稱的分?jǐn)?shù)設(shè)為目標(biāo)名稱的分?jǐn)?shù)與選擇器分?jǐn)?shù)的乘積。
/= 求商:將目標(biāo)名稱的分?jǐn)?shù)設(shè)為被選擇器的分?jǐn)?shù)除后的結(jié)果。
%= 求余:將目標(biāo)名稱的分?jǐn)?shù)設(shè)為被選擇器的分?jǐn)?shù)除后得到的余數(shù)。
= 賦值:把目標(biāo)名稱的分?jǐn)?shù)設(shè)為選擇器的分?jǐn)?shù)。
< 取較小值:如果選擇器的分?jǐn)?shù)比目標(biāo)名稱的分?jǐn)?shù)小,則把目標(biāo)名稱的分?jǐn)?shù)設(shè)為選擇器的分?jǐn)?shù)。
> 取較大值:如果選擇器的分?jǐn)?shù)比目標(biāo)名稱的分?jǐn)?shù)大,則把目標(biāo)名稱的分?jǐn)?shù)設(shè)為選擇器的分?jǐn)?shù)。
>< 交換選擇器與目標(biāo)名稱的分?jǐn)?shù)。 除><外,選擇器在記分項(xiàng)上的分?jǐn)?shù)會(huì)保持不變。*可填在目標(biāo)名稱或選擇器(但不能同時(shí))用以代表所有正在被記分板追蹤的實(shí)體。
remove <目標(biāo)> <記分項(xiàng)> <分?jǐn)?shù)>
從實(shí)體目標(biāo)在記分項(xiàng)記分項(xiàng)上的分?jǐn)?shù)扣除數(shù)量分。如果沒有分?jǐn)?shù)則當(dāng)作0分修改。*可用以代表所有正在被記分板追蹤的實(shí)體。
reset <目標(biāo)> [<記分項(xiàng)>]
清空實(shí)體目標(biāo)的一項(xiàng)或所有分?jǐn)?shù)。如果指定了記分項(xiàng)記分項(xiàng),只清空對(duì)應(yīng)記分項(xiàng)的分?jǐn)?shù);否則刪除實(shí)體所有記分項(xiàng)上的分?jǐn)?shù)。需要注意這不僅僅是設(shè)分?jǐn)?shù)為0:實(shí)體將會(huì)整個(gè)從記分板上被移除(或從給定的記分項(xiàng))。星號(hào)(*)可用以代表所有正在被記分板追蹤的實(shí)體。
set <目標(biāo)> <記分項(xiàng)> <分?jǐn)?shù)>
將實(shí)體目標(biāo)在記分項(xiàng)記分項(xiàng)上的分?jǐn)?shù)設(shè)為數(shù)量分。*可用以代表所有正在被記分板追蹤的實(shí)體。
選自Minecraft Wiki? ?有改動(dòng)
注意,operation的運(yùn)算不改變"選擇器的分?jǐn)?shù)"
其中,trigger可以實(shí)現(xiàn)無op的指令操作,或者是解密。
/trigger
(太簡(jiǎn)單了,直接放語(yǔ)法)
trigger <objective>
trigger <objective> (add|set) <value>
objective:計(jì)分項(xiàng)
value:值
(必須用? ? /scoreboard plaayers enable 目標(biāo)?計(jì)分項(xiàng)? ? 才可以用)