TransWikia.com

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

Arqade Asked on September 18, 2020

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

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

Answered by Venom on September 18, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP