This mod makes pets sleep and wake up where you choose, either by specifying a furniture name, or an X,Y tile location.
For a pet bed designed to be used with this mod, see
CP Pet Bed mod.
Config variables are as follows:
- "EnableMod": true,
- "IndoorIsBed": true, - lets you walk through pets while they are sleeping
- "OutdoorIsBed": true, - lets you walk through pets while they are sleeping
- "BedChance": 100, - chance a pet will sleep on the custom bed
- "IndoorBedName": "Pet Bed", - name of furniture to sleep on indoors (or X,Y tile coordinates)
- "OutdoorBedName": "Pet Bed", - name of furniture to sleep on outdoors (or X,Y tile coordinates)
- "IndoorBedOffset": "0,0", - indoor pixel offset coordinates from corner of furniture / tile coordinates
- "OutdoorBedOffset": "0,0", - outdoor pixel offset coordinates from corner of furniture / tile coordinates
Multiple furniture types can be specified, separated using semi-colons, e.g.
"IndoorBedName": "Ped Bed;Pet Rug;15,15". A random bed from the list will be assigned if found.
Bed names can be prefixed with the pet's name and a colon to only allow for a certain pet (if you have a mod with multiple pets), e.g.:
"IndoorBedName": "Buffy:Buffy Bed".
For modded furniture, you can use the furniture id without the mod name, as long as it ends in an underscore followed by the name, e.g.
Pet Bed for
aedenthorn.PetBedCP_Pet Bed.
If more than one furniture with the specified name exists, a random one will be chosen.
If a piece of furniture with the specified name is not found, vanilla sleeping rules apply.
If the bed name is in the format X,Y where X and Y are integers, the pet will be placed on the corresponding tile.
Pixel offsets let you shift the pet from the given tile's position.
You can edit all the config variables using
Generic Mod Config Menu, or editing the
config.json file.
Advanced
You can alternatively designate advanced pet beds using Content Patcher, e.g.:
"Action": "EditData",
"Target": "aedenthorn.PetBed/dict",
"Entries": {
"Doghouse": {
"X": 12,
"Y": 20,
"PetTypes": "Dog",
"CanFlip": false,
"FrontTexture": "{{ModId}}/DogHouseFront"
}
}
This will allow dogs to sleep in Doghouses with an offset of 12,20, prevent them from sleeping flipped horizontally, and draw an overlay texture to make it look like they are inside the doghouse.
PetTypes is a comma-separated list, e.g. "Dog,Cat" for both dogs and cats.
You still need to add "Doghouse" to "OutdoorBedName" as explained above, or you can set "OutdoorBedName" to "" to have the mod choose an entry from the dictionary.
Technical
Requires SDV 1.5.5+
Requires
SMAPI, uses Harmony.
Compatible with
Mod Updater for automatic updates.
Code is at
https://github.com/aedenthorn/StardewValleyMods.
If you want to complain or ask for help or help me test my mods, you can visit
my Discord server.
A list of all my mods for Stardew Valley is available at
https://www.nexusmods.com/stardewvalley/articles/895.