Help with building tools

Hey! I’m trying to create a replica of an old building game and I’ve run into an issue. Recently, whenever you place a part in between the base and the water, the base would adapt the velocity of the water and begin to push things off of it.

I have found the reason to be that when you put the part in between the base and the water, the part is welded to both. Then, upon deleting those welds, the base lost the velocity. Here is what I mean -


(In the video you can see that once I put the part in between the base and the water, the base adapts the water’s velocity)

Note - I’m not using the normal HopperBin tools, I’m using custom building tools made to work with FE and is serverside. Here is the model made by clone trooper.

What I’m trying to do now is create a script that will constantly delete any welds that are welded to the water. Here is one of the scripts that I’ve tried -

Script
function search(where)
	local ws = where:GetChildren()
	for i = 1, #ws, 1 do
		wait()
		if ws[i].ClassName == "Weld" then
			ws[i]:Remove()
			print("Removed Weld!")
		else
			search(ws[i])
		end
	end
end

game.Workspace.ChildAdded:Connect(function(child)
	search(game.Workspace)
end)

I would greatly appreciate it if anyone knew how to fix this issue or could help write a functioning weld remover!

If anybody can help out with this, that would be really nice!

Try Making your part unanchored and try.

I think a good solution would be when you deselect a part after it got dragged. Check inside that part for welds. If part0 or part1 got the name of your water part, than remove that weld.