Right now, I'm making a "Fire Hose" item which shoots splash water bottles. I've got the velocity and everything working but for some reason it falls much quicker than I expected, and the trajectory is as if I've thrown it. I've tried the NoGravity tag but it isn't working, so if there is a way to get it to go where the cursor is pointing aside from raycasting and spawning it in at that block that would be great. Here's my function to shoot it: the summon command is on line two:
#summon water summon minecraft:potion ^ ^ ^1 {NoGravity:1,CustomName:"\"firewandwater\"",Potion:{id:"minecraft:splash_potion",Count:1,tag:{Potion:"minecraft:water"}}} #get player and water data into scoreboards execute as @s store result score @s fwx run data get entity @s Pos[0] 100 execute as @s store result score @s fwy run data get entity @s Pos[1] 100 execute as @s store result score @s fwz run data get entity @s Pos[2] 100 execute as @e[name=firewandwater] store result score @s fwx run data get entity @s Pos[0] 100 execute as @e[name=firewandwater] store result score @s fwy run data get entity @s Pos[1] 100 execute as @e[name=firewandwater] store result score @s fwz run data get entity @s Pos[2] 100 #subtract the two to get a momentum/velocity and put into water's scoreboard execute as @e[name=firewandwater] store result score @s fwx run scoreboard players operation @s fwx -= @p fwx execute as @e[name=firewandwater] store result score @s fwy run scoreboard players operation @s fwy -= @p fwy execute as @e[name=firewandwater] store result score @s fwz run scoreboard players operation @s fwz -= @p fwz #tp the water so it's like it's going from eye position execute as @e[name=firewandwater] at @s run tp @s ~ ~1.62 ~ #put the subtracted value into the potion's Motion execute as @e[name=firewandwater] store result entity @s Motion[0] double 0.01 run scoreboard players get @s fwx execute as @e[name=firewandwater] store result entity @s Motion[1] double 0.01 run scoreboard players get @s fwy execute as @e[name=firewandwater] store result entity @s Motion[2] double 0.01 run scoreboard players get @s fwz #reset the scoreboards scoreboard players reset @e fwx scoreboard players reset @e fwy scoreboard players reset @e fwz execute run scoreboard players reset firewandClicks execute run scoreboard players set @e firewandClicks 0 #reset customName so ater isn't affected by new ater execute as @e[name=firewandwater] at @s run data merge entity @s {CustomName:""} The water should be hitting the top of the brick wall, but instead it hits the middle: 
1 Answer
Get a repeating, always active command block. Type in /execute @e[type=splash_potion] ~~~ tp @e[type=splash_potion, r=3] ~~~(use coordinates with decimals to get it to move, for example: ~.3~~ or ~~~.4) it should work.
1