here's the datapack demo. some word maybe weird to use since ENG is not my native language.
From now I really want to improve it by having configurable dripping particle, fluid and use blockstate instead of block id.
For now this is good for a prototype.