版本:1.12.2 (实在做不到就试试1.14.4?)
让拥有“螺旋升天”tag的玩家旋转并且不断升高
遇到方块时停止升高,但继续旋转
持续2秒,结束后移除tag
让拥有“螺旋升天”tag的玩家旋转并且不断升高
遇到方块时停止升高,但继续旋转
持续2秒,结束后移除tag
本帖最后由 CHElover_C60 于 2019-11-24 01:58 编辑
1.12可以做,但是我可以改动一个要求吗?就是检测到tag后那一刻就删除,而不是过2秒后删除,因为需要一个计时器,而这个标签可能会带一定干扰
如果允许我做这个改动
建立计分板
/scoreboard objectives add timer dummy
循环
复制代码
不方便测试,纯手打,可能有误
1.12可以做,但是我可以改动一个要求吗?就是检测到tag后那一刻就删除,而不是过2秒后删除,因为需要一个计时器,而这个标签可能会带一定干扰
如果允许我做这个改动
建立计分板
/scoreboard objectives add timer dummy
循环
- scoreboard players set @a[tag=螺旋升天] timer 40
- effect @a[tag=螺旋升天] levitation 2 0 true
- scoreboard players tag @a[tag=螺旋升天] remove 螺旋升天
- execute @a[score_timer_min=0] ~ ~ ~ tp @s ~ ~ ~ ~30 ~
- scoreboard players remove @a[score_timer_min=0] timer 1
- scoreboard players reset @a[score_timer=0] timer
不方便测试,纯手打,可能有误
本帖最后由 MC深坑不回头 于 2019-11-24 03:08 编辑
1.12.2实测,
scoreboard objectives add timer dummy 测试
示范村民:/summon minecraft:villager ~ ~1 ~ {NoAI:1b,NoGravity:1b,Silent:1,Tags:["螺旋升天"]}
要对玩家做此效果就tp玩家到村民身上,村民改隐形。当然中间tp可以自行改单次上升及改变的面向数值大小。
把下面的命令放到function内高频侦测:
复制代码复制代码侦测上头一格方块是非空气时,变数设定到130,继续计到170即两秒后停止。
1.12.2实测,
scoreboard objectives add timer dummy 测试
示范村民:/summon minecraft:villager ~ ~1 ~ {NoAI:1b,NoGravity:1b,Silent:1,Tags:["螺旋升天"]}
要对玩家做此效果就tp玩家到村民身上,村民改隐形。当然中间tp可以自行改单次上升及改变的面向数值大小。
把下面的命令放到function内高频侦测:
- scoreboard players add @e[tag=螺旋升天] timer 1
- scoreboard players tag @e[tag=螺旋升天] remove noair
- execute @e[tag=螺旋升天] ~ ~ ~ detect ~ ~2 ~ minecraft:air 0 scoreboard players tag @s[tag=螺旋升天] add noair
- tp @e[tag=螺旋升天,tag=noair,score_timer=10,score_timer_min=10] ~ ~0.05 ~ ~30 ~
- tp @e[tag=螺旋升天,tag=noair,score_timer=20,score_timer_min=20] ~ ~0.05 ~ ~30 ~
- tp @e[tag=螺旋升天,tag=noair,score_timer=30,score_timer_min=30] ~ ~0.05 ~ ~30 ~
- tp @e[tag=螺旋升天,tag=noair,score_timer=40,score_timer_min=40] ~ ~0.05 ~ ~30 ~
- tp @e[tag=螺旋升天,tag=noair,score_timer=50,score_timer_min=50] ~ ~0.05 ~ ~30 ~
- tp @e[tag=螺旋升天,tag=noair,score_timer=60,score_timer_min=60] ~ ~0.05 ~ ~30 ~
- tp @e[tag=螺旋升天,tag=noair,score_timer=70,score_timer_min=70] ~ ~0.05 ~ ~30 ~
- tp @e[tag=螺旋升天,tag=noair,score_timer=80,score_timer_min=80] ~ ~0.05 ~ ~30 ~
- tp @e[tag=螺旋升天,tag=noair,score_timer=90,score_timer_min=90] ~ ~0.05 ~ ~30 ~
- tp @e[tag=螺旋升天,tag=noair,score_timer=100,score_timer_min=100] ~ ~0.05 ~ ~30 ~
- tp @e[tag=螺旋升天,tag=noair,score_timer=110,score_timer_min=110] ~ ~0.05 ~ ~30 ~
- tp @e[tag=螺旋升天,tag=noair,score_timer=120,score_timer_min=120] ~ ~0.05 ~ ~30 ~
- scoreboard players set @e[tag=螺旋升天,tag=noair,score_timer=121,score_timer_min=121] timer 0
- scoreboard players set @e[tag=!noair,score_timer=121,score_timer_min=0] timer 130 {Tags:["螺旋升天"]}
- tp @e[tag=螺旋升天,score_timer=130,score_timer_min=130] ~ ~ ~ ~30 ~
- tp @e[tag=螺旋升天,score_timer=140,score_timer_min=140] ~ ~ ~ ~30 ~
- tp @e[tag=螺旋升天,score_timer=150,score_timer_min=150] ~ ~ ~ ~30 ~
- tp @e[tag=螺旋升天,score_timer=160,score_timer_min=160] ~ ~ ~ ~30 ~
- tp @e[tag=螺旋升天,score_timer=170,score_timer_min=170] ~ ~ ~ ~30 ~
- scoreboard players tag @e[tag=螺旋升天,score_timer=171,score_timer_min=171] remove 螺旋升天
本帖最后由 xmdhs 于 2019-11-24 08:17 编辑
借鉴了上面两位的思路哈。。
复制代码
复制代码
借鉴了上面两位的思路哈。。
- scoreboard objectives add lxsttimg dummy
- execute @a[tag=lxst] ~ ~ ~ tp @s ~ ~ ~ ~2 ~
- execute @a[tag=lxst] ~ ~ ~ effect @s levitation 2 0 true
- execute @a ~ ~ ~ detect ~ ~2 ~ air 0 scoreboard players set @s lxsttimg 0
- scoreboard players add @a[tag=lxst] lxsttimg 1
- execute @a[score_lxsttimg_min=40] ~ ~ ~ scoreboard players tag @s remove lxst