xmlyrgzn_XCDH
本帖最后由 xmlyrgzn_XCDH 于 2022-6-11 14:43 编辑

问两个问题

1、我们可以用/tp @p x y z的指令将最近的玩家传送,这个指令如何作用在实体生物上(比如踩下压力板后将最近的绵羊传送)(我没针对某位版主[手动滑稽])


2、如何判定当某个生物粘在某个方块上时,给予特定的效果。(如羊站在史莱姆块上给予这只羊飘浮效果)注意必须要用命令方块侦测,不能用侦测器、压力板等物品

以上(绝对是有解的,毕竟别的视频实现过,版本是java版1.18.2)

Modnas
@e[type=实体名称]

xmlyrgzn_XCDH
Modnas 发表于 2022-6-11 15:03
@e[type=实体名称]

我想让指令对最近的生物生效
比如说有一条水流,通向一个压力板,水流上面有牛羊猪,按顺序是猪先踩到压力板,然后是牛,最后是羊,然后按顺序依次把猪、牛、羊传送符指定位置

Modnas
可以参考检测玩家的方法,把@p或者@a换成@e[type=类型,x= ,y = ,z= ]
建议压力板换成命令方块循环检测,坐标输入压力板的位置(因为生物多了踩不过来)

xmlyrgzn_XCDH
Modnas 发表于 2022-6-11 15:26
可以参考检测玩家的方法,把@p或者@a换成@e[type=类型,x= ,y = ,z= ]
建议压力板换成命令方块循环检测,坐标 ...

侦测指令大佬知道吗?(我帖子的第二个问题)

虚Hollow空
本帖最后由 虚Hollow空 于 2022-6-11 15:59 编辑

第一个问题:
  1. /tp @e[type=sheep,sort=nearest,limit=1] x y z
复制代码

第二个问题(默认被粘液块黏住是指站在粘液块上):
  1. /execute as @e[type=sheep] at @s if block ~ ~-1 ~ minecraft:slime_block run effect give @s levitation 30 0 false
复制代码

因为第一个问题题主没说具体tp到哪故以xyz代替,即<pos>

手痒再补充一下,第二个问题还有一个较为委婉的解决方案(适用于需要检测粘液块的上面和前后左右四面的),不过得知道粘液块的坐标,指令如下:
  1. /effect give @e[type=sheep,distance=..1.5,x-?,y=?,z=?] levitation 30 0 false
复制代码


尸先peng
1、execute as @e[type=<实体id>,limit=1] run <执行指令>
2、execute as @e[type=<实体id>] at @s if block ~ ~-1 ~ <方块id> run <执行指令>

xmlyrgzn_XCDH
虚Hollow空 发表于 2022-6-11 15:44
第一个问题:

第二个问题(默认被粘液块黏住是指站在粘液块上):

感谢哈,目前是最全的答案了