天才一秒記住【UU看書】地址:www.uukanshu.co
前文說到,一位MinecraftJava伺服器的腐竹,為了實現將寶箱隨機放在世界各處,使用瞭如下指令:
summonminecraftarmorstandCustomName““A““
spreadplayers3210000falseetypeminecraftarmorstand,nameA
executeasetypeminecraftarmorstand,nameAatsrun(後面省略)
其中,第二條指令spreadplayers我們還沒了解過。那麼spreadplayers有什麼用呢?
隨機傳送實體(分散spread玩家們players)
spreadplayers
作用:將一名或多名實體分別傳送到指定範圍內隨機一個地方
需要許可權等級:Java2,基岩1
需要作弊:是
格式:
Java1152以上
spreadplayerslt中心座標:Xgtlt中心座標:Zgtlt最小間距:小數gtlt範圍邊長½gtlt考慮隊伍:布林值gtlt實體:目標選擇器gt
spreadplayerslt中心座標:Xgtlt中心座標:Zgtlt最小間距:小數gtlt範圍邊長½gtunderlt最大高度Ygtlt考慮隊伍:布林值gtlt實體:目標選擇器gt
Java116以下
spreadplayerslt中心座標:Xgtlt中心座標:Zgtlt最小間距:小數gtlt範圍邊長½gtlt考慮隊伍:布林值gtlt實體:目標選擇器gt
基岩版
spreadplayerslt中心座標:Xgtlt中心座標:Zgtlt最小間距:小數gtlt範圍邊長½gtlt實體:目標選擇器gt
隨機傳送的範圍是一個預設在世界建築高度限制的正方形(注意,不是正方體),確定這個範圍大小時是填寫這個範圍邊長的二分之一(比如邊長是200,範圍邊長½就填100)。需要注意,“範圍邊長½”這個引數的值不能小於“最小間距”。如果填寫了under,可以規定傳送的最大高度。這個引數並不只是單純的將這個正方形從世界建築高度限制拉下來,而是還有個作用:
隨機傳送時,實體就不會被傳到高空然後掉下來摔死,而是會直接來到Y軸最高的方塊上(注意,這個方塊的Y座標不能大於最大高度引數的值)。
隨機傳送的實體可以有很多個,但每個實體在不考慮隊伍的情況下都是單獨傳送。既然是單獨傳送,就有可能有兩個或更多實體捱得很近。所以,最小間距也是個很重要的引數,它規定了隨機傳送時實體們的最小間距。比如隨機傳送引數的值為7,那麼執行時就算有兩個實體隨機到了很近的地方,它們的距離也絕對不會小於七格。
舉個例子,比如:
spreadplayers10010030300under128trueataghungergamesTeams
執行時會先確定範圍:一箇中心在100,100的正方形,邊長為600格。隨後將以隊伍為單位,隨機傳送所有具有hungergamesTeams標籤的玩家類隊員到該範圍內,並且直接來到Y軸最高(但不能超過128格)的方塊上面,且兩個隊伍間距最小為30格。
spreadplayers並不只可以隨機傳送玩家,正如那位將寶箱隨機放在世界各處的腐竹用spreadplayers隨機傳送盔甲架一樣,spreadplayers還可以隨機傳送任何實體。
所以,spreadplayers可以用在伺服器具有大場地的任何玩法中,如資源區(隨機傳送玩家)和吃雞玩法型別遊戲(隨機傳送玩家、空投箱)。
歷史
Java
161——加入了spreadplayers
116——加入了“under”和“最大高度”引數
攜帶版
105——加入了spreadplayers