如果某实体位于某方块上时,则在竖直方向上给该实体一个竖直方向的加速度
例:给位于绿宝石块上的船一个竖直向上的加速度
附加题:给位于钻石块上的船一个朝船面对方向的加速度
(附加题会以评分方式给出80金粒和2人气)
最佳可能给的较慢,望谅解
例:给位于绿宝石块上的船一个竖直向上的加速度
附加题:给位于钻石块上的船一个朝船面对方向的加速度
(附加题会以评分方式给出80金粒和2人气)
最佳可能给的较慢,望谅解
本帖最后由 开心的阿诺 于 2022-7-22 08:15 编辑
(因为没在游戏上测试,可能有些语法错误)
execute as @e[type=实体ID,nbt={OnGround:1b}] at @s if block ~ ~-1 ~ 方块ID run data modify entity @s Motion[1] set value+竖直加速度
附加题如果要加速度精确的话可能要用三角函数(
(因为没在游戏上测试,可能有些语法错误)
execute as @e[type=实体ID,nbt={OnGround:1b}] at @s if block ~ ~-1 ~ 方块ID run data modify entity @s Motion[1] set value+竖直加速度
附加题如果要加速度精确的话可能要用三角函数(
本帖最后由 钠钠钠镓 于 2022-7-22 05:02 编辑
给位于绿宝石块上的船一个竖直向上的2m/tick加速度:
复制代码
给位于钻石块上的船一个朝船面对方向的2m/tick加速度:
一次性运行,将区块0,0强加载
复制代码
在需要给予加速度时单次顺序运行复制代码
若使用数据包,可简化为以下形式:
在需要给予加速度时单次运行
复制代码
data/example/functions/run.mcfunction
复制代码
给位于绿宝石块上的船一个竖直向上的2m/tick加速度:
- /execute as @e[type=boat] at @s if block ~ ~-1 ~ emerald_block run data modify entity @s Motion[1] set value 2.0d
给位于钻石块上的船一个朝船面对方向的2m/tick加速度:
一次性运行,将区块0,0强加载
- /forceload add -2 -2 2 2
在需要给予加速度时单次顺序运行
- /execute as @e[type=boat] at @s if block ~ ~-1 ~ diamond_block positioned 0.0 0.0 0.0 run summon marker ^ ^ ^2 {Tags:["example.marker"]}
- /execute as @e[type=boat] at @s if block ~ ~-1 ~ diamond_block run data modify entity @s Motion set from entity @e[type=marker,tag=example.marker,limit=1] Pos
- /kill @e[type=marker,tag=example.marker]
若使用数据包,可简化为以下形式:
在需要给予加速度时单次运行
- /execute as @e[type=boat] at @s if block ~ ~-1 ~ diamond_block run function example:run
data/example/functions/run.mcfunction
- execute positioned 0.0 0.0 0.0 run summon marker ^ ^ ^2 {Tags:["example.marker"]}
- data modify entity @s Motion set from entity @e[type=marker,tag=example.marker,limit=1] Pos
- kill @e[type=marker,tag=example.marker]
钠钠钠镓 发表于 2022-7-22 04:58
给位于绿宝石块上的船一个竖直向上的2m/tick加速度:
船上有玩家的时候命令没有起作用,应该怎么解决呢