minerace/data/emk/functions/seat/update.mcfunction

13 lines
1.1 KiB
Mcfunction

#scoreboard players operation #tmp emk-id = @s emk-id
#execute as @e[tag=emk-kart] if score @s emk-id = #tmp emk-id run tag @s add emk-sel
scoreboard players set #tmp emk-id 10
scoreboard players operation #tmp emk-stun = @e[tag=emk-sel,tag=emk-kart] emk-stun
scoreboard players operation #tmp emk-stun %= #tmp emk-id
scoreboard players operation #tmp emk-id = @e[tag=emk-sel,tag=emk-kart] emk-distance
#scoreboard players operation #tmp emk-id += @e[tag=emk-sel,tag=emk-kart] emk-speed
execute unless entity @s[type=minecraft:minecart] at @e[tag=emk-sel,tag=emk-kart,limit=1] run function emk:seat/move
execute if entity @s[type=minecraft:minecart] at @e[tag=emk-sel,tag=emk-kart,limit=1] run function emk:seat/movecart
#execute if entity @s[type=minecraft:strider] at @e[tag=emk-sel,tag=emk-kart,limit=1] run tp @s ~ ~ ~ ~ 0
execute store result score #tmp emk-id if entity @p[tag=emk-sel,nbt={RootVehicle:{Entity:{Tags:["emk-seat"]}}}]
execute if score #tmp emk-id matches 1 run data merge entity @s[type=!minecraft:minecart] {Saddle:0b}
execute unless score #tmp emk-id matches 1 run data merge entity @s[type=!minecraft:minecart] {Saddle:1b}