This mod is a framework that allows mod authors to create content packs that either add / replace flooring and wallpapering rectangles to compatible game locations.
Basic Use
If someone makes a content pack for this mod, install this mod and their content pack.
Making Content Packs
Content Pack Files
Content packs contain a
manifest.json file and a
content.json file. The
manifest.json file looks something like this:
{
<br /> "Name": "Saloon Content Pack for Custom Walls and Floors",
<br /> "Author": "aedenthorn",
<br /> "Version": "0.1.0",
<br /> "Description": "",
<br /> "UniqueID": "aedenthorn.CWFSaloonPack",
<br /> "MinimumApiVersion": "3.12.0",
<br /> "ContentPackFor": {
<br /> "UniqueID": "aedenthorn.CustomWallsAndFloors",
<br /> "MinimumVersion": "0.1.0"
<br /> },
<br /> "Dependencies": [
<br /> {
<br /> "UniqueID": "aedenthorn.CustomWallsAndFloors",
<br /> "IsRequired": true
<br /> },
<br /> ]
<br />}
<br />
The
content.json file looks something like this:
{
<br /> "data":
<br /> [
<br /> {
<br /> "name": "Saloon",
<br /> "replaceFloors": false,
<br /> "replaceWalls": false,
<br /> "replaceNonDecorationTiles": true,
<br /> "getFloorsFromFile":"",
<br /> "getWallsFromFile":"",
<br /> "floors":
<br /> [
<br /> {
<br /> "X":1,
<br /> "Y":17,
<br /> "Width":28,
<br /> "Height":7
<br /> }
<br /> ],
<br /> "walls":
<br /> [
<br /> {
<br /> "X":3,
<br /> "Y":1,
<br /> "Width":9,
<br /> "Height":3
<br /> }
<br /> ],
<br /> "floorsOmit":
<br /> [
<br /> ],
<br /> "wallsOmit":
<br /> [
<br /> ]
<br /> }
<br /> ]
<br />}
<br />
Each entry in "data" defines a set of floors and walls to add to a game location.
name is the name of the game location. As of now, the mod works with decoratable locations (
FarmHouse and
Shed) and ordinary game locations, including the following vanilla locations:
JoshHouse
HaleyHouse
SamHouse
Blacksmith
Saloon
Trailer
Hospital
HarveyRoom
ElliottHouse
ScienceHouse
SebastianRoom
Tent
AnimalShop
LeahHouse
SandyHouse
WitchSwamp
WitchHut
WitchWarpCave
BathHouse_Entry
BathHouse_MensLocker
BathHouse_WomensLocker
Greenhouse
SkullCave
Backwoods
Tunnel
Trailer_big
Sunroom
LeoTreeHouse
This mod will turn any of the above ordinary locations into a decoratable location if included in a content pack for this mod. That may have unexpected consequences, so you may want to limit your use of this mod to locations that are already decoratable (FarmHouse and Shed, and any modded decoratable locations). Of course, that takes away half the fun of this mod.
Other locations are not ordinary, so they will have to be adapted individually to work with the mod (I might get around to that some day).
If
replaceFloors or
replaceWalls are set to true, it will remove any walls and floors defined by the vanilla game. Otherwise it will add new walls and floors to the game's list for that location. This is only applicable to decoratable locations like
FarmHouse and
Shed. These keys can be omitted (default is
false)
If
replaceNonDecorationTiles is set to false, the mod will ignore any tiles that are not already wallpaper or flooring tiles. This key can be omitted (default is
true).
If
getFloorsFromFile or
getWallsFromFile is set to a relative file path, the mod will look for that resource in the game content. This allows modders to create Content Patcher mods with all the CP wizardry around relationships, marriages, seasons, etc. If you don't know how this works, you can learn about it from the Content Patcher docs. The file retrieved should be a JSON array of rectangle objects, e.g.:
[
<br /> {
<br /> "X":1,
<br /> "Y":1,
<br /> "Width":5,
<br /> "Height":3
<br /> },
<br /> {
<br /> "X":6,
<br /> "Y":1,
<br /> "Width":5,
<br /> "Height":3
<br /> }
<br />]
<br />
These keys can be omitted (default is to take the list of floors and walls from the
content.json file directly).
floorsOmit and
wallsOmit are lists of rectangles that specify areas to skip, allowing for irregularly-shaped floors and walls.
Technical
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.