Actually there is a technical reason why I made it build-able only on dirt, I am using a LinkFlag which is unfortunately used by terrain cliffs because those are hard coded and I am not aware how to make my own (linkFlag is something that is assigned to the moat atlas so it can connect the different related pieces seamlessly like walls and sandbags) now because of that if you place a moat next to a cliff it will connect with it and will look terrible as a result, but because most cliffs have rocky flooring next to them that prevents that from happening for the most part 
Plus colonists can't dig a grave in a rocky flooring so it sorta follows RimWorld logic <<<attempting to come up with a creative excuse
In "Defend That Colony!" you can build a moat on everything because this "moat" is "sandbag-like". I send you file with only a moat (all what you need is only ThingMoat and that's all). Plus colonists can't dig a grave in a rocky flooring, because graves have texture with a dirt<<<attempting to come up with a creative excuse.
I am well aware that you can do it there, but just to illustrate my point try using that mod and build a moat next to a wall and see what happens, or next to a cliff.
The flag I am using is less common and it wont connect with walls unlike in "Defend That Colony" which is good, but it will connect to cliffs which is what I am trying to avoid.
But hey if that kind of artifact doesn't bother you when I am done with the update you can open MVT_Buildings_Security.xml and under === moat === change the following line from <terrainAffordanceNeeded>Diggable</terrainAffordanceNeeded> to <terrainAffordanceNeeded>Light</terrainAffordanceNeeded> problem solved
