I’m making some progress learning to script in Second Life.
Here is a sliding door. When touched it slides open or closed and makes a sound on the way.
Here’s a hot tub. At this point it bubbles, makes the right sound, and swirls when on. This is obviously not large enough. But it’s easy to scale up to the right size.
Here is a shower for the beach. Hot – with lots of steam – and cold. And it makes the right sound. Turns itself off after 2 minutes to save water.
Lots more to do, including waves for the beach – which I could buy but want to learn to make. LLScripting is a lot like “C” code. Each script has event receivers and the scripts in an object can communicate with each other so that faucets control the shower head.