<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 目標選擇器 ## 用途 命令很多時候是需要針對實體去執行的,比如`tp`命令。如果你使用玩家名來指定傳送的玩家,比如**tp pca006132 0 5 0**,你就需要針對每個玩家寫一個命令。 這方法在很多情況下是不可能使用的,因為我們不一定會知道被傳送的玩家是誰,而且就算知道所有玩家,我們也需要舉出所有的可能(窮舉),不然就有些玩家無法傳送,這樣做需要的命令數就會非常多。除此之外,如果我們這樣做,我們就無法傳送玩家以外的實體了,所以窮舉玩家名的方法是接近不可能的。 所以,在針對實體執行命令的情況下,我們通常會使用目標選擇器。 選擇器的用途,就是根據某些條件(用選擇器參數指定)來選擇實體,所以選擇到的數量可以是沒有/一個/多個。 ## 格式 ``` @選擇器名稱 @選擇器名稱[參數1=值,參數2=值] ``` |參數名稱|描述| |----|----| |選擇器名稱|決定選擇器行為| |參數|額外選擇條件。不一定要存在,但如果存在一個或多個參數則必須用方括號括住,并且以逗號分隔開不同的參數(所有符號都是英文符號,如,和[])| |值|參數所對應的數值,用來確定參數所對應的數據,與參數結合使用來選擇實體。| > 注: 每個參數只能出現一次 > 選擇器內不能出現空格 ### 選擇器名稱 |名稱|描述| |---|---| |p| 最近的玩家(type參數在此無效)| |a| 全部玩家(包括死去的玩家, type參數在此無效)| |r| 隨機實體(默認為玩家)| |e| 所有實體(包括玩家)| |s| 執行者(實體,當執行者不符合要求時則不選擇任何實體)| ### 參數 格式: 參數名=數值 文字類的數值前加上!則代表選擇所有非該數值的目標 數值不能出現小數。 |名稱|描述| |---|---| |x,y,z|以該坐標作為**判定的起始點**(默認為執行坐標)<br> 比如你填寫x=1,y=1,而你執行命令的坐標是x=5,y=5,z=5,那么那個判定的起始點就是x=1,y=1,z=5<br> 如果**只是填寫其中一個/兩個參數**,**剩下的就會默認為執行坐標**(比如x=5,而執行坐標是100 5 200,那么那個判定的起始點就是 5 5 200)| |r,rm|離判定的起始點(參見上方x, y, z參數)的**距離** (r就是判定區域的**半徑**,rm就是**不包括在**判定區域內的圓形半徑)<br> 比如r=5就是選擇所有在5格范圍內的實體,rm=5就是選擇所有5格范圍外的實體<br> 比如@p[r=10,rm=3]就是離判定的起始點的距離小于等于10米,大于3米的最近玩家| |m|玩家的游戲模式<br> 0=生存,1=創造,2=冒險,3=旁觀| |c|數量<br> 這個是根據選擇順序來選擇的<br> 正數的話就是選擇最先選擇到的n個實體,負數就是選擇最后選擇到的n個實體<br> 所以請參見下方的選擇優先規則<br> 比如@e[c=5]就是最近的5個實體,@e[c=-5]就是最遠的5個實體<br><br>**重要**:當c=1、選擇器名稱不為`r`并且命令執行者的類型符合選擇器選擇到的實體類型,選擇器將會選擇執行者| |l,lm|經驗等級,l是小于等于,lm是大于等于| |score_變量|該變量(objective)的**分數范圍**(小于**等于**)| |score_變量_min|該變量(objective)的**分數范圍**(大于**等于**)| |team|隊伍名稱(可以使用!表示不等于, 如team=!blue就是選擇不在blue隊伍里的)<br> team= 就是代表沒有隊伍的實體(比如@e[team=])<br> team=!就是代表有隊伍的實體| |name|實體的名稱(可以使用!表示不等于, 如name=!pca就是選擇名稱不是pca的實體)| |dx,dy,dz|長方體的范圍<br> 由起始點(參見上方x, y, z參數)延伸出去(dx就是沿著x軸延伸的格數,如此類推。正數就向正的方向,負數就向負的方向,范圍必定是完整的格子,沒有任何偏移,即使執行位置不是整數)的范圍內的實體<br> *注意: 只要實體的碰撞箱接觸到這范圍就會被選中,而不是看其坐標<br> ![dxdydz.png](https://box.kancloud.cn/c39b74901cb2a514779dccb393acf95e_400x350.png)| |rx,rxm|實體垂直朝向(看的方向)<br> 0:水平;-90:向上;90:向下<br> rx:最大的角度;rxm:最小的角度<br>只會視乎角度的整數部分, 比如實體的實際方向是1.1, rx=1,rxm=0和rx=2,rxm=1都會選擇到那個實體<br>當rx>rxm的時候, 選擇到的角度范圍就是rx-rxm;<br> 當rx<rxm的時候, 范圍就會斷開, 也就是上一個情況的相反, 詳見下方例子| |ry,rym|實體水平朝向(看的方向)<br> 0:+Z方向;90:-X方向;180(-180):-Z方向;-90:+X方向<br> (可以使用大于180的度數)<br> ry:最大的角度;rym:最小的角度(如ry=50, rym=0就是50度的范圍;ry=0, rym=50就是310度的范圍)<br>當ry>rym, 選擇到的角度范圍=ry-rym;<br> 當rym>ry, **選擇到不到**的角度范圍就是ry-rym, 也就是上一個情況的相反, 詳見下放例子<br> ![rxry.png](https://box.kancloud.cn/38d311cbc52f43cc95e7b5f73c106b46_400x400.png)| |type|實體種類(所有summon的實體種類+player。可以使用!表示不等于,如type=!player就是所有不是玩家的實體)<br> type=!lightning_bolt則代表所有類型的實體(對@r相當有用)| |tag|選擇擁有此標簽的實體,<br> 在數值前添加"!"將只選擇不擁有此標簽的實體,<br> 提供空的標簽名將選擇所有沒有標簽的實體,<br> 只填寫“!”將選擇任何擁有標簽的實體。<br> 注意: 只能檢查一個tag| ## 空間限制 如果選擇器里有任何關于坐標的參數(比如r/rm/dx),那個參數的作用范圍就是執行的世界(其他世界的不會被選擇到) 如果那個選擇器里同時有dx/dy/dz和r/rm,那么選擇到的范圍就是dx/dy/dz和r/rm重疊的范圍 如果那個選擇器里有dx/dy/dz任何一個/兩個,那么剩余的會默認為0 > 關于死去的玩家: > 死去的玩家能夠被`@a`選擇器選擇到,然而當我們加入了任何空間限制后就無法選擇 > ~~故此我們認為死去的玩家是存在于第四維的【嚴肅臉】~~ ## 選擇順序 選擇器會優先選擇在執行的世界的實體/玩家(先選擇最近的實體,當那些實體的距離一樣時,它就會優先選擇存在最久的),然后就是別的世界距離你現在坐標最近的實體 ## 常見錯誤 + 重復的選擇器參數,比如兩個type + 以為score_變量名稱=數值代表選擇分數=數值的實體,然而事實是選擇分數小于等于數值的實體 + 大小寫/全型半型錯誤。實際上那些參數的名稱都是小寫,而那些數值也是大小寫敏感的 + 把實體NBT當作選擇器參數一樣寫,然而選擇器參數就那幾個,NBT并不是選擇器參數,選擇器參數也不是NBT + 以為物品名稱就是它扔出來之后的名稱,然而并不是(原因:物品名稱的NBT是 **{Item:{tag:{display:{Name:名稱}}}}**,而實體名稱的NBT是 **{CustomName:名稱}**) + 邏輯相關錯誤,比如在執行這個指令的時候分數不可能在指定范圍內 + @a寫成@e[type=player],或者是@p寫成@a[c=1]。嚴格來說并不是錯誤,然而這個是不好的習慣 因為這樣子你的命令可讀性就會減低,而且那個命令長度會增加,不好寫 + 開括號之后需要關括號,比如 **@e[type=armor_stand.r=3** 就會判斷為@e,相差會很遠 ## 特殊情況 + c=1時,MC會有特別的選擇實體方法。比如牌子點擊的話就會選擇點擊者(盡管點擊者未必與執行坐標,也就是牌子的位置最近),或者UUID碰撞/因特殊原因無法選擇時能選擇到該實體。然而注意,要使用此功能的話請不要填寫其他參數,否則可能會導致MC不采取此方法選擇實體 ## 例子 選擇一個距離執行點5格以外,最近的實體 ``` @e[rm=5,c=1] ``` --- 選擇所有變量(objective) X分數大于50、小于100,變量Y分數大于等于-200,小于等于0,目標Z分數等于200的實體 ``` @e[score_X_min=51,score_X=99,score_Y_min=-200,score_Y=0,score_Z_min=200,score_Z=200] ``` --- 選擇隨機5個實體 ``` @r[c=5,type=!lightning_bolt] ``` --- 選擇ry=0至ry=90的實體(0≤ry≤90) ![0-90](https://box.kancloud.cn/3ed124d6fcf5dbf61da856b10a59f6f6_363x361.png) ``` @e[ry=90,rym=0] ``` --- 選擇ry=90至ry=0的實體(0≤ry≤90) ![90-0](https://box.kancloud.cn/ecf12c4ba4c39db56232bf1492acd0fc_363x361.png) ``` @e[ry=0,rym=90] ``` --- 選擇rx=20至rx=-20的實體(-20≤rx≤20) ![-20-20](https://box.kancloud.cn/1be9af3656606cbe629e61fa4e6e59fb_181x324.png) ``` @e[rx=20,rxm=-20] ``` --- 選擇rx>=20和rx<=-20的實體(rx≤-20 or rx≥20) ![-20-20](https://box.kancloud.cn/632a00b52a869cb1dff9491228c9aa1a_181x324.png) ``` @e[rxm=20,rx=-20] ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看