
- All games
- Stardew Valley
- Mods
- Modding Tools
- Solid Foundations
Solid Foundations
-
Endorsements
-
Unique DLs--
-
Total DLs--
-
Total views--
-
Version3.0.0
- Download:
- Manual
File information
Last updated
Original upload
Created by
PeacefulEndUploaded by
PeacefulEndVirus scan
Safe to use
Tags for this mod
Current section
About this mod
Custom buildings framework for Stardew Valley.
- Requirements
-
Nexus requirements
Mod name Notes SMAPI - Stardew Modding API Mods requiring this file
- Permissions and credits
-
Credits and distribution permission
- Other user's assets All the assets in this file belong to the author, or are from free-to-use modder's resources
- Upload permission You are not allowed to upload this file to other sites under any circumstances
- Modification permission You must get permission from me before you are allowed to modify my files to improve it
- Conversion permission You are not allowed to convert this file to work on other games under any circumstances
- Asset use permission You must get permission from me before you are allowed to use any of the assets in this file
- Asset use permission in mods/files that are being sold You are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
- Asset use permission in mods/files that earn donation points You are not allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
- Changelogs
-
-
Version 3.0.0
- Updated to SDV v1.6.9.
-
Version 2.0.2
- Fixed crash due to disposed texture.
-
Version 2.0.1
- Added better compatibility warning within log file.
- Added compatibility warning for obsolete DrawBehindBase property.
- Fixed translations not updating when changing languages.
- Fixed Name and Description not updating with translations.
-
Version 2.0.0
- Updated to SDV v1.6.
-
Version 1.16.1
- Fixed issue where buildings could overlap with each other.
-
Version 1.16.0
- Implemented DrawLayer.SkinFilter.
- Added ConstructBuildingImmediately to the API.
-
Version 1.15.0
- Added Json Assets support for building produced items.
-
Version 1.14.3
- Fixed crash in situations where external mods would call carpenter menu without being drawn.
-
Version 1.14.2
- Fixed Light.TileOffsetInPixels causing flickering lights.
-
Version 1.14.1
- Fixed issue where overlapping buildings would share light IDs.
-
Version 1.14.0
- Implemented the Lights property, allowing for customizable lights which can be drawn over any arbitrary tile of a building.
-
Version 1.13.1
- Fixed issue where Content Patcher packs would fail to reapply when exiting to title screen.
-
Version 1.13.0
- Added the following methods to the API: PlaceBuilding, GetBuildingTexturePath and GetBuildingTexture.
-
Version 1.12.5
- Added better error handling for getIndoors type.
- Fixed issue where collection modified error would occur during missed farm update.
-
Version 1.12.4
- Fixed issue where the paint menu would crash in some situations.
-
Version 1.12.3
- Migrated breaking change of "Builder": "Carpenter" to "Builder": "Robin".
- Migrated the new BuildingsData.MagicalConstruction property.
- Fixed issue where Skin.PaintMasks were not used.
-
Version 1.12.2
- Fixed issue where crops would not grow and sprinklers would not trigger within custom buildings.
-
Version 1.12.1
- Fixed issue where buildings on the Farm would not be updated, which caused constructions to never finish or produce items at the start of the day.
-
Version 1.12.0
- Now reloading content packs when returning to the title screen.
- Implemented GetBuildingModel and UpdateModel API endpoints.
-
Version 1.11.3
- Added better handling for nested BuildableGameLocations and sub-buildings.
- Fixed issue where buildings would iterate by 2 when counting down for construction.
-
Version 1.11.2
- Fixed how tall buildings are rendered in the building menus.
- Adjusted background logic away from being hard-set on the Farm location.
-
Version 1.11.1
- Fixed issue where new saves would display an error upon file creation.
-
Version 1.11.0
- Implemented the IndoorMapTypeAssembly property, allowing for custom location classes to be used by SF content packs.
- Added better error handling during loading and saving.
- Implemented DGA support by atravita.
-
Version 1.10.0
- Implemented RandomRange and RandomValue functions, enabled for Sequence.Duration.
- Added Volume and AmbientSettings to SpecialAction.PlaySound.
-
Version 1.9.2
- Added ModDataFlags to ItemConversions.ProducedItems.
- Fixed issue where HideBaseTexture would always execute when using OnlyDrawIfChestHasContents.
- Fixed issue where OnlyDrawIfChestHasContents would not always be checked.
-
Version 1.9.1
- Fixed issue where DrawBehindBase was being treated as DrawInBackground.
-
Version 1.9.0
- Implemented i18n support.
- Implemented SpecialAction.ModifyBuff, allowing users to add buffs to players.
- Implemented SpecialAction.Fade, which plays the fade animation.
- Fixed issue where upgradable buildings would not perform secondary match by ID.
-
Version 1.8.0
- Added optional Automate integration.
- Added IsMagic property to SpecialAction.Warp.
- Fixed issue where preserve products would not stack with keg/jar produced items.
-
Version 1.7.0
- Implemented Chest.Capacity, which allows for dynamic chest sizes.
- Added RejectWhileProcessing, Condition and ModDataFlags properties for RestrictedItem.
- Changed the default value for RestrictedItem.MaxAllowed to -1.
- Fixed issue where ItemConversion.MinutesRemaining would always count down, even if the building had no items to process.
- Fixed issue where sprinklers would not trigger within SF buildings.
-
Version 1.6.0
- Implemented MaxConcurrentConversions, allowing mod authors to limit the amount of ItemConversion processing at the same time.
- Fixed issue where conversions would not respect their MinutesPerConversion.
- Fixed issue where ItemConversions would not produce true random outputs.
-
Version 1.5.0
- Implemented LoadChestTiles and CollectChestTiles.
- Implemented SpecialAction.UseChest.
- Fixed issue where default action behavior would be called after SpecialAction was used.
- Fixed issue where sequences would always execute their ModifyFlags or PlaySound.
- Fixed issue where MaxDailyConversions would not be respected when using MinutesPerConversion.
- Fixed issue where ItemConversions would not output preserves properly.
- Fixed issue where MultiplyPrice was not set to 1 by default.
- Implemented InputFilters, allowing mod authors to limit the amount of items inserted into buildings for processing.
-
Version 1.4.0
- Implemented PaintMasks, allowing mod authors to create custom paint masks for their buildings. Custom paint masks can also be individually specified for building skins.
- Implemented AddPrice and MultiplyPrice to ItemConversions.ProducedItems, allowing mod authors to modify the prices of items created by buildings.
- Implemented PreserveType and PreserveId, enabling the ability for buildings to create preserves such as wine or jelly.
- Fixed issue when using BuildDays of 0 for upgrading a building.
- Fixed issue where the BuildingToUpgrade would not work when using spaces.
-
Version 1.3.0
- Added two events to the native API to handle before custom building saving and after loading.
- Fixed issue where skins and sprites were not loaded due to their models not initially utilizing them.
- Fixed issue where the building's skin would not be used after constructing it.
-
Version 1.2.1
- Fixed issue where the game state query IS_PLAYER_HOLDING_ITEM would fail without the optional count parameter.
-
Version 1.2.0
- Implemented SpecialAction.PlaySound.
- Implemented minimum_count for the game state query IS_PLAYER_HOLDING_ITEM.
- Fixed issue when using a Content Patcher patch against DrawLayer.Texture.
- Fixed issue when using a Content Patcher patch against Skins.Texture.
-
Version 1.1.2
- Fixed issue where buildings would not appear in the build menu for macOS.
- Fixed compatibility issue with Better Crafting: Buildings.
-
Version 1.1.0
- Implemented BuildingTexture token, allowing mod authors to utilize Content Patcher to modify the building.png.
- Implemented IsBuildingHere token, allowing mod authors to utilize Content Patcher to check if a buildings exists in a location.
- Implemented BuildingModel.AuxiliaryHumanDoors, allowing mod authors specify multiple human doors.
- Implemented SpecialAction.ModifyMailFlags, which can add or remove mail flags.
- Backported BuildingModel.NonInstancedIndoorLocation, allowing mod authors to create non-instanced locations within buildings.
- Added and modified a few examples from the example pack to reflect new properties and tokens.
- Fixed centering and shadow draw issue in the Carpenter menu.
- Fixed issue where errors would occur if no warps were specified in the building's interior.
- Fixed issue where players could not purchase animals for vanilla buildings.
- Fixed issue where SeasonOffset would not apply.
-
Version 1.0.1
- Fixed issue where custom interiors would fail if using custom tilesheets.
-
Version 1.0.0
- Public release.
-
- Donations
-
Straight donations accepted

Solid Foundations is a framework which allows for custom buildings in Stardew Valley.
Solid Foundations introduces many features for custom buildings:
- Dynamic, animation-supported texture overlays, with optional conditions
- Custom interiors
- Item production via user-defined rules
- Building skin variation
- Custom material cost and build rules
- Custom exterior collision
- Dynamic "touch" and "walk" player actions (such as warping when player walks on a tile)
- ...and much more!

See the GitHub repository for an in-depth wiki on how to create a content pack for Solid Foundations.
See the example pack in the Optional Files section for an example custom buildings pack.
See Mystical Buildings for an SF pack which utilizes Solid Foundation's API.
Content Patcher is supported!
Dynamic Game Assets is supported!
Save Anywhere is supported!

To use this framework, you need a Solid Foundations content pack.
These content packs will add the custom buildings to either Robin's or the Wizard's construction menu.
Removing downloaded SF packs will result in their respective building disappearing from your map, with no other impact on your save file.

For a general example pack, see the mod's repository.
For a pack which uses Solid Foundation and Content Patcher (as well as Solid Foundation's API), see the Mystical Buildings pack.

Can I uninstall Solid Foundation without issue?
- Yes, though any placed custom buildings will disappear. Re-installing Solid Foundations will result in your custom buildings being restored.
Can I uninstall Solid Foundation content packs without issue?
- Yes, though the respective custom buildings will disappear. If you re-install the SF content pack before saving, the custom buildings will be restored. Otherwise they will be lost.
What are the limitations?
- See here for the current list of unsupported features.
Source code is available here.