我的世界抬头低头传送指令

21次阅读
没有评论

在我的世界服务器中,一个快捷方便的回城方法会非常方便玩家。那么抬头或者低头传送就是一个很棒的解决方法。

抬头低头目标选择器

检测抬头低头玩家是通过目标选择器rx、rxm实现的。

rx用于检测实体的垂直旋转角度,用来指定角度的最大值。rxm用来指定角度的最小值。如果搭配使用它们,就可以选择在夹角内的实体。正平方向为0度,抬头最大角度为-90度,低头最大角度是90度。

所以@a[rxm=89,rx=90]可以检测低头的玩家。@a[rx=-89,rxm=-90]可以检测抬头的玩家。

为了方便介绍,以后的传送均以抬头作为示例,大家可根据需要自行更改为低头。

最简单的抬头传送

我们可以直接使用tp指令来传送抬头的玩家。循环、无条件、保持开启。(x y z为传送的坐标)

tp @a[rx=-89,rxm=-90] x y z

要让指令一直运行,我们需要将该指令方块所在设置为常加载区块。我们可以站在该命令方块旁边输入以下指令:

/tickingarea add circle ~ ~ ~ 1 chuansong

但是这样的传送会影响玩家正常的抬头,所以我们可以对该方式进行优化。

连续两次抬头传送

将连续抬头两次的玩家进行传送,同时低头可以取消传送,这样就不会影响玩家正常生存。

原理介绍

两次抬头可以分布为第一次抬头,复原,再第二次抬头。我们只需要检测这三个状态就可以了。我们可以先给抬头的玩家一个标签1,再给予回到原位的标签1玩家标签2,最后将抬头的标签2玩家,传送到目标地点。

指令实践

给抬头的玩家添加标签huicheng1。循环、无条件、保存开启。

tag @a[rx=-89,rxm=-90] add huicheng1

给有huicheng标签复原的玩家添加标签huicheng2。循环、无条件、保存开启。

tag @a[rxm=-45,rx=45,tag=huicheng1] add huicheng2

将有huicheng2标签第二次抬头的玩家传送到目标地点。循环、无条件、保存开启。

tp @a[rx=-89,rxm=-90,tag=huicheng2] x y z

移除低头玩家的huicheng1、huicheng2标签,均为循环、无条件、保存开启。

tag @a[rxm=89,rx=90] remove huicheng1
tag @a[rxm=89,rx=90] remove huicheng2

我们还可以给第一次抬头的玩家做一个提示。循环、无条件、保存开启。

titleraw @a[tag=huicheng1] actionbar {"rawtext":[{"text":"再次抬头进行传送,低头取消。"}]}

让以上命令方块能一直有效,需要放在一个常加载区域内。

同时我们需要在传送点附近放置命令方块将玩家的标签清除掉。均为循环、无条件、保持开启。

tag @a[r=5] remove huicheng1
tag @a[r=5] remove huicheng2

至此,抬头低头传送就完成了。

正文完
 0
评论(没有评论)