scoreboard players operation @s untwo.proj.bounce.hitstop.now = @s untwo.proj.bounce.hitstop

scoreboard players operation @s untwo.proj.bounce.hittime.now = @s untwo.proj.bounce.hittime
scoreboard players add @s untwo.proj.bounce.count 1

execute if score @s untwo.proj.bounce.count >= @s untwo.proj.bounce.limit run tag @s add untwo.proj.hit.limit
execute if score @s untwo.proj.bounce.count < @s untwo.proj.bounce.limit run tag @s add untwo.proj.hit.notlimit

function untwo:proj_sys/component/bounce_gravity/direction/
function untwo:proj_sys/component/bounce_gravity/pos_check/

execute if entity @s[tag=!untwo.bounce.hit.y] run function untwo:proj_sys/component/bounce_gravity/magnitude/x
execute if entity @s[tag=untwo.bounce.hit.y] run function untwo:proj_sys/component/bounce_gravity/magnitude/y


function untwo:proj_sys/component/bounce_gravity/vector/


scoreboard players operation @s untwo.proj.gravity.tick_pow = @s untwo.proj.drag
scoreboard players set @s untwo.proj.gravity.falling_time 0

data modify storage untwo:temp proj_sys.bounce_gravity set from entity @s Rotation
execute store result score @s untwo.proj.gravity.raw.x run data get storage untwo:temp proj_sys.bounce_gravity[0] 10000
execute store result score @s untwo.proj.gravity.raw.y run data get storage untwo:temp proj_sys.bounce_gravity[1] 10000
scoreboard players set #&proj.magnitude.now untwo.temp.0 0