我的世界指令教學(xué)大合集 第二集 目標(biāo)選擇器精講欄目

第二期—目標(biāo)選擇器和簡(jiǎn)單指令
一.目標(biāo)選擇器
在minecraft中,大部分命令都需要<目標(biāo)>這一參數(shù)用于確定執(zhí)行指令的對(duì)象,舉個(gè)栗子,殺死土豬,"土豬"便是該指定的目標(biāo),這時(shí)候就可以使用目標(biāo)選擇器來確定了。
目標(biāo)選擇器(Target Selector)可用于以實(shí)體或玩家作為參數(shù)的命令中,通過某些限定條件來選擇一個(gè)或多個(gè)實(shí)體或玩家,而不必指定實(shí)體名、玩家名或UUID
目標(biāo)選擇器構(gòu)成
. . . . . .
目標(biāo)選擇器由<變量>和[參數(shù)]構(gòu)成
目標(biāo)選擇器變量
. . . . . .
目標(biāo)選擇器首先需要輸入一個(gè)選擇器變量,上次課中我們已在cb中看到了目標(biāo)選擇器變量鑒于大部分網(wǎng)易大神用戶都是網(wǎng)易版玩家,后三個(gè)可以忽略。簡(jiǎn)要了解這張圖之后做一點(diǎn)拓展。
*1:@a是選中所有玩家且包括死亡玩家
*2:@e不包含死亡的實(shí)體
*3:@r在不使用type類型限定時(shí)默認(rèn)是@r[type=player],即選中隨機(jī)存活玩家
*4:@s選中該命令的執(zhí)行者,也可以是死亡玩家,那么有同學(xué)要問了:“萬一執(zhí)行者是cb呢?”答案:選不中,ta畢竟是一個(gè)方塊不是實(shí)體。
目標(biāo)選擇器參數(shù)
. . . . . .
為了更精確的選擇目標(biāo),通常在變量后使用一個(gè)或多個(gè)選擇器參數(shù)。比如
@e[type=pig]
選中所有實(shí)體中為豬的實(shí)體
接下來對(duì)一些參數(shù)做簡(jiǎn)要介紹,在學(xué)習(xí)前,我們必須要知道,選擇器參數(shù)邏輯是&&,也就是只有條件都滿足了才能選中(牢記)
*r,rm
r/rm=數(shù)值
選中以執(zhí)行者為中心,半徑為若干的球體內(nèi)(r)或外(rm)的實(shí)體,這兩個(gè)可以混用,但是r參數(shù)的數(shù)值必須大于rm參數(shù),否則無效。特別地,rm=0會(huì)選中本維度所有加載實(shí)體。
例子:
@a[rm=3] 選中命令執(zhí)行點(diǎn)為中心,半徑為3的球體外所有玩家。
@e[r=5,rm=3] 選中以命令執(zhí)行點(diǎn)為中心,半徑為5的球體內(nèi),半徑為3的球體外所有加載實(shí)體
@p[r=2] 選中以命令執(zhí)行點(diǎn)為中心,半徑為2的球體內(nèi)最近的玩家
*type
type=<實(shí)體id>
選中實(shí)體類型,可以反選(type=!)
如:
@e[type=player] 選中所有存活玩家
@e[type=!cow,type=!pig] 選中不為牛和豬的實(shí)體
但不能是@e[type=pig,type=cow] 以為是選擇?;蜇i,其實(shí)按照選擇器的邏輯關(guān)系,是選中既是牛又是豬的實(shí)體,這種實(shí)體是不存在的。
那就提出疑問了:“怎么一次選中多個(gè)實(shí)體?”一是使用多個(gè)反選,但是minecraft的實(shí)體數(shù)量過于龐大,慢慢的反選出幾個(gè)實(shí)體確實(shí)有點(diǎn)慢。那么就用到了family選參了。
*family
family=<家族id>
family=!<家族id>
可以看作是一個(gè)大號(hào)的type,能夠選中處于這個(gè)家族里所有的實(shí)體,和type一樣可以反選(family=!),也可以使用多個(gè)正選,比如:
@e[family=skeleton] — 選擇骷髏家族即所有加載骷髏、凋靈骷髏和流浪者。
@e[family=mob,family=!monster] — 選擇所有不是敵對(duì)生物的生物(例如:會(huì)選中牛和豬,但不會(huì)選中僵尸和骷髏)
@e[family=monster,family=undead] 選擇所有是亡靈生物的敵對(duì)生物(例如:會(huì)選中僵尸和骷髏,但不會(huì)選中苦力怕和末影人)
name
name=<名字>
name=!<名字>
很好理解,選擇名字是xx的生物,可以反選,一些特別的字符(比如空格,數(shù)字)需要帶雙引號(hào)括起,類比type,不能選擇既叫xx的又叫xx的
如:
@e[name=!Steve,name=!nb] — 選擇不叫“Steve”和"nb"的加載實(shí)體
@e[name="114514"] — 選擇名字是"114514"的實(shí)體
**c
這是一個(gè)比較強(qiáng)大的參數(shù),作用分2個(gè)。
(1).在除@r以外的選擇器變量中:
c=數(shù)值
由近到遠(yuǎn)選擇若干個(gè)目標(biāo),@p不指出c參數(shù)值默認(rèn)為1,如:
@p[c=3] 選擇三個(gè)距離最近的玩家
@e[type=pig,c=114514] 選擇114514個(gè)距離最近的豬(如果實(shí)體數(shù)量不足不影響指令執(zhí)行)
c=-數(shù)值
由遠(yuǎn)到近選擇若干個(gè)目標(biāo),優(yōu)先級(jí)大于@p.如:
@p[c=-10] 選擇10個(gè)距離最遠(yuǎn)的玩家
@e[c=-1] 選擇1個(gè)距離最遠(yuǎn)的實(shí)體
(2)在@r的選擇器變量中
增加隨機(jī)選擇的數(shù)量,不可以使用"c=-數(shù)值" c參不寫默認(rèn)為1.
如:
@r[c=2] 隨機(jī)選中2位玩家
@r[family=monster,c=10,type=!player] 隨機(jī)選中10位敵對(duì)生物