Minecraft – (Java Minecraft 1.13) How to summon a splash water bottle with no gravity

minecraft-commandsminecraft-java-edition

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:
enter image description here

Best 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.