So I know this should be possible to do, and relatively simple to code as well. The mod by Advize and Jinxie Stone Bridge Over Pond gave me the idea. Now, the only issue with that bridge is that the pond is not in the same place over every iteration of the game's farm map. BUT the bridge does show up where that pond would be on every version. Since the pet's water bowl is always in the same place it would be absolutely possible to have this house be persistent no matter the map version you use. Especially if we use good ol' SMAPI. There are some limitations that I know of right away. Changing where the animal sleeps with code was difficult to crack last year when I was more active in the modding scene. If that has changed with new SMAPI versions I have no idea. However, we shouldn't need to do that if we place objects on the top map layer. That can create the illusion of a roof for our little pets that we could even go under. I did something similar for the pet area in taintedwheat's and Jinxie's Wonderful Farm Life map. The rain and snow will go right through it, obviously, BUT it'll still be better than nothing at all, which is what we currently have. If we go the route of using the CustomElementHandler we could possibly do something similar to CustomFarming that would let us use a png file alongside a json thus allowing people to customize the appearance of the pet's house to match their own mods. My biggest hope here is making something compatable with Ento's More Animals mod (in that it's big enough to look like more than one pet can sleep in it) but we'll have to see where the graphics take us. Now, I talk a big game about how simple this should be, and yet have not made it myself. That's because I don't just want a map change (which I am actually capable of doing.) I want this to be done with SMAPI. I know nothing about C# nor do I have the tools (or willpower) to gets started on learning it. I can, however, make the art assets to a degree. I can't draw anything from scratch, but I am able to take existing map elements and using them to create what we might need. Right now I'm thinking of the animal house being in three separate parts for the code to pull from. Roof, walls, floor. We would need at least those three to do the layering required to make the pets capable of "entering the house" when they go to sleep but not sit on top of, or walk through, walls.