Ship Vendor Framework (SVF)
By rux616
Community Rating
Version: 1.10.0
Summary
The system that Bethesda designed for selling ships is interesting, but it lacks a crucial element: Changeability. In vanilla Starfield, once a ship vendor has been loaded the first time, the list of ships they offer for sale is locked in forever until starting a new game (or new game plus).
That's where this mod comes in. I've designed a system such that mod authors can easily add ships for sale to the various ship vendors without either conflicting with other mods that do the same or requiring the set up of a script. It will also refresh the vendor's list of ships if a change is detected in the vendor's "always" or "unique" lists. (A ship vendor's inventory is composed of three lists: always a.k.a. priority, random, and unique.)
NOTE: Vendors refresh their ship inventory every 7 days by default.
Detailed instructions are included in the "How to Utilize the Ship Vendor Framework" article (https://www.nexusmods.com/starfield/articles/624) on Nexus Mods.
This is a limited version of the README. The full version can be found at the mod's page on Nexus Mods (https://www.nexusmods.com/starfield/mods/10057), or in the GitHub project (https://github.com/rux616/starfield-ship-vendor-framework).
Load Order
For best results, I would recommend keeping this mod and all its patches in a single block, all following any other mods that are being patched.
For patches, the load order should be as follows:
- ShipVendorFramework.esm
- (SVF Expansion Patches, if any)
- (SVF Capability Patches, if any)
- (SVF Compatibility Patches, if any)
Compatibility
This mod alters most of the leveled lists for spaceships that vendors use to add proper level gates, as well as the CF_Post dialogue [QUST:00143472] and CF_Post_Toft_TL_ShipServices scene [SCEN:001F88DD] to allow for Lt. Jillian Toft to function as a ship vendor once the Crimson Fleet quest line concludes. Any other mods that also alter those records may conflict without patches.
Additionally, this mod alters 4 vanilla scripts, "OutpostShipbuilderMenuActivator", "ShipBuilderMenuActivator", "ShipVendorInfoScript", and "ShipVendorScript". As a result, a mod that alters any of those scripts will conflict by definition. This also means that when the game is updated, script changes by Bethesda will not be present in this mod until it is updated.
Mods that are known to conflict:
- "DarkStar" by WykkydGaming [Creations (https://creations.bethesda.net/en/starfield/details/f082c443-5f3e-4528-b03e-10c319d01ddf/DarkStar)]: No patch. There are no lists for mod authors to add ships to, the "Rich Ship Vendors" option doesn't work with the DarkStar ship vendors, and not all ships may be immediately available to purchase if the "buy ships" option is accessed too soon after the vendor's ship inventory is refreshed or the vendor is initially created.
- "Rich Outpost Shipbuilder" by LilithMotherOfAll [Nexus]: No patch. Uninstall this mod if you have it. Ship Vendor Framework now has this functionality built in.
- "Starvival" by lKocMoHaBTl [Creations (https://creations.bethesda.net/en/starfield/details/cb70aedd-4793-4e05-be51-b5a4987d6b71/Starvival___Immersive_Survival_Addon) / Nexus (https://www.nexusmods.com/starfield/mods/6890)]: Use SVF Compatibility Patch - Starvival.
Mods that I have created capability patches for:
- "DarkStar Astrodynamics" by WykkydGaming [Creations (https://creations.bethesda.net/en/starfield/details/cfca357a-7226-4cae-bd16-3575069dcf2e/DarkStar_Astrodynamics) / Nexus (https://www.nexusmods.com/starfield/mods/9458)]
- "Dominion" by rhart317 [Creations (https://creations.bethesda.net/en/starfield/details/97f792d0-d078-4a50-aa32-f03cc054e241/Dominion)]
- "Falkland Systems Ship Services" by Hjalmere [Creations (https://creations.bethesda.net/en/starfield/details/6cbf2c64-b736-4d95-bf06-38183a94b359/Falkland_Systems_Ship_Services)]
- "Iconic Ships" by ShipTechnician [Creations (https://creations.bethesda.net/en/starfield/details/569e938e-228c-42fb-91ba-c6967575bcf3/Iconic_Ships)]
- "L-K Ships" by Lighthorse and KeithVSmith1977 [Creations (https://creations.bethesda.net/en/starfield/details/f287801b-a863-48fb-b796-1eeaeda4eab3/L_K_Ships) / Nexus (https://www.nexusmods.com/starfield/mods/7433)]
- "Lower Landing Pad" by SenterPat [Nexus (https://www.nexusmods.com/starfield/mods/8363)]
- "Outpost Vendor New Ships" by nefurun [Creations (https://creations.bethesda.net/en/starfield/details/b5723c97-fb67-46ed-9833-07d4e1d8ced1/Outpost_Vendor_New_Ships)]
- "SGC Deadalus & Battlestar added to New Atlantis & Outpost Ship Vendor" by Rechi03 [Creations (https://creations.bethesda.net/en/starfield/details/0993fb17-f960-4869-b417-485d129567f8/SGC_Deadalus__amp__Battlestar_added_to_New_Atlanti)]
- "The Den Astrodynamics" by VoodooChild [Nexus (https://www.nexusmods.com/starfield/mods/8809)]
- "Watchtower" by kinggath_creations [Creations (https://creations.bethesda.net/en/starfield/details/5d455df7-d99f-4619-a383-f2b39aa21e00/Watchtower__Orbital_Strike__Fleet_Command)]
Known Issues
None
Requirements
None
Enabling Logs
NOTE: This section only applies to PC users.
In your StarfieldCustom.ini file, make sure you have the following section:
[Papyrus]
bEnableLogging=1
bEnableProfiling=1
bEnableTrace=1
bLoadDebugInformation=1
This will ensure that the game writes logs. If I request them in order to help you, I will be looking for "Papyrus.X.log" in the "%UserProfile%\Documents\My Games\Starfield\Logs" directory, and "ShipVendorFramework.X.log" in the "%UserProfile%\Documents\My Games\Starfield\Logs\Script\User" directory, where "X" represents a number 0-3.
Credits and Acknowledgements
Bethesda Game Studios: For Starfield itself and the Starfield Creation Kit ElminsterAU: For xEdit and BSArch Lively: For helping explain some of the odd nuances of an infrequently-used-by-me FOMOD feature Mod Organizer 2 team: For Mod Organizer 2 Nexus Mods: For mod hosting and for the Vortex Mod Manager Noggog: For Spriggit perchik71: For Creation Kit Platform Extended Scrivener07: For some advice and clarification on papyrus matters
Contact
If you find a bug or have a question about the mod, please post it on the mod page at Nexus Mods (https://www.nexusmods.com/starfield/mods/10057), the GitHub project (https://github.com/rux616/starfield-ship-vendor-framework), or on Reddit in r/StarfieldMods (https://www.reddit.com/r/starfieldmods/) (make sure to tag me: u/rux616).
If you need to contact me personally, I can be reached through one of the following means:
- Nexus Mods: rux616 (https://www.nexusmods.com/users/124191) (Click the "Message" button.)
- Email: rux616-at-pm-dot-me (replace
-at-with@and-dot-with.) - Reddit: u/rux616
- Discord: rux616 (user ID 234489279991119873) - make sure to "@" me
- Lively's Modding Hub (https://discord.gg/livelymods)
- Nexus Mods (https://discord.gg/nexusmods)
- Collective Modding (https://discord.gg/pF9U5FmD6w) ("🔧-chaotic-cognitions" channel)
- Starfield - Ship Distribution (https://discord.gg/wuvaYAsuAc)
- Starfield Modding (https://discord.gg/6R4Yq5KjW2)
Release notes
Xbox
-
1.10.0Changelog
-----
- Changed the default way SVF generates random ships to be more like vanilla, in that the script will attempt to continue generating ships until it meets the requested number, or has exhausted all options. This can be a little slower, especially while at lower levels, but it's generally not noticeable.
- Added a gameplay option to control this new behavior, "Limit Random Ship Creation Attempts", defaulting to "OFF"
- Added more logging to capture whether certain mods are installed (specifically, mods that are either A. known to conflict, or B. have SVF patches supplied by myself)
- Fixed the "Kestral" ship not showing up in the Falkland Systems patch
- Fixed the gameplay option separator for Falkland Systems not being marked as "active" when the respective patch is enabled
- Added plugin to hide all Ship Vendor Framework gameplay options (separate download, not included in main archive)
- Removed mention of a mod that doesn't need a compatibility patch any more in the readme (thanks to tiberseptm on Nexus Mods for spotting that and bringing it to my attention) -
1.9.0Changelog
-----
- Added some additional logging output to aid in troubleshooting
- Added Danica Volkov from the Free Lanes update to ship vendors
- Added the Hellhound (Crimson Fleet unique ship, available after final quest) to Lt. Jillian Toft for players who side with SysDef
- Moved vendor min/max gameplay options from core patches (that is, the ones I maintain) to main plugin in order to prevent situations where the gameplay options could get split up
- Updated gameplay option group to have a proper title
- Fixed DarkStar Astrodynamics patch not correctly appending to form lists like it should have
- Updated Starvival patch to be compatible with v12.1
- Updated behavior of Starvival patch so that it attempts to use Starvival's built-in way of adding more credits to vendors, then applies the "Rich Ship Vendors" option afterwards
- Re-saved and re-exported all plugins in the latest version of Creation Kit (v1.16.236)
- Greatly expanded the "Add Ships To Vendor" section of the How To documentation with a lot more detail -
1.8.1Changelog
-----
- Fixed the `SVF_Control:SVFControlInitialized()` function not doing a thorough enough job, thus not allowing vendors to initialize properly in certain very specific circumstances (thanks to DeityVengy for bringing this to my attention)
- Adjusted the duration in the ship vendor script before the code declares a timeout while waiting for `SVF_Control` initialization
- Slightly adjusted the description of the Falklands Systems and Starvival patch plugins to add the version of the mods they patch (v2 and v11, respectively) for more clarity
- Slightly adjusted the description of the Falklands Systems patch in the FOMOD to add the version it is for (v2) for more clarity
- Added a parameter to build system so that built BA2 files aren't automatically cleaned up -
1.8.0Changelog
-----
- Updated Falkland Systems patch to add the "Kestrel" ship introduced in v2
- Fixed order of Game Settings in the Watchtower patch
- Added image to show lists for Watchtower -
1.7.0Changelog
-----
- Added patch for Watchtower -
1.6.1Changelog
-----
- Fixed DarkStar Astrodynamics and The Den Astrodynamics patches always being initially selected in FOMOD installer
- Fixed Markdown image to BBCode image conversion regex -
1.6.0Changelog
-----
- Implemented a "Vendor Data Map" concept to allow the mod to be as conflict-free as possible, and as a result, was able to remove all direct vendor record edits
- Set Lt. Jillian Toft on the Vigilance to function as a ship vendor once the Crimson Fleet quest line concludes (modifies `CF_Post` dialogue `[QUST:00143472]` and `CF_Post_Toft_TL_ShipServices` scene `[SCEN:001F88DD]`)
- Added a gameplay option to allow unique ships to regenerate after purchase, instead of being a one-and-done thing
- Added a "Rich Ship Vendors" gameplay option; the amount of credits ship vendors have is controlled by a different gameplay option
- Added gameplay options to control the minimum and maximum number of ships in the "random" category that a ship vendor will attempt to sell
- Added more variable caching to try and minimize calls to potentially expensive external functions
- Added sanity checks (with messages if they fail) to support new conflict-free methodologies and records
- Added a toast-style message that pop up if a ship vendor is accessed before it's ready and another toast-style message that will then pop up when the vendor is ready
- Changed how the unique ships are tracked so that they are tracked across vendors
- Made a pass for style consistency in all scripts
- Updated auxiliary scripts to use their own internal logging function
- Added many comments to the code to clarify things where needed and to make certain bits of logic (hopefully) easier to follow
- Removed OnInit event code from SVF_Control script to clean things up
- Made sure that all calls to local _Log function have a log level specified
- Re-worked log levels to function more like other languages
- Fixed an issue where ShipVendorScript could attempt to register for a remote event on a variable that was None.
(truncated due to length restrictions - see the full changelog on Nexus) -
1.5.4Changelog
-----
- Fixed master file reference in the SVF Starvival Patch to the newly-renamed SVF Shattered Space patch -
1.5.3Changelog
-----
- Fixed misnamed plugin reference in FOMOD file -
1.5.2Changelog
-----
- Renamed the Shattered Space patch (plugins with filenames ending in "ShatteredSpace.esm" apparently get disappeared from the Creations Load Order screen as of patch 1.15.216) -
1.5.1Changelog v1.5.1
-----
- Fixed The Den Astrodynamics compatibility patch (PC only)
Changelog v1.5.0
-----
- Updated Starvival patch to be compatible with Starvival v10.5.0 (PC only) -
1.4.0Changelog
-----
- Added Shattered Space patches
- Fixed some initialization bugs with kiosk vendors, including outpost vendors
- Fixed some ship vendors constantly regenerating their ships
- Updated Starvival compatibility patch to be compatible with Starvival v10.1.5
- Re-saved all plugin files in newest CK to fix some potential internal file structure weirdness -
1.3.1Changelog v1.3.1
-----
- Update verbiage in FOMOD files to match readme
Changelog v1.3.0
-----
- Updated Starvival compatibility patch for Starvival v8
- Updated some backend stuff (spriggit, helper scripts, etc.)
-
1.2.0Changelog
-----
- Small update to make troubleshooting Ship Vendor Framework a bit easier -
1.1.1Changelog
-----
- Fixed issue where internal array was getting populated by SpaceshipReference objects referencing None
- Fixed issue where if the player purchased a ship from a vendor's "always" list, the vendor would always reset that list the next time it was loaded, instead of when the vendor was scheduled to reset
- Fixed issue where vendor could remain registered for OnPlayerLoadGame event even if not actually loaded
- Fixed issue where ships could be spuriously duplicated in the vendor menu by forcing a full (instead of partial) vendor refresh when a new ship is added to either of the vendor's "always" or "unique" lists
- Mitigated a potential race condition when vendor gets loaded
- Added patch for [Nexus] The Den Astrodynamics -
1.0.1Changelog
-----
- Updated documentation -
1.0.0Changelog
-----
- Initial release
Playstation
-
1.10.0Changelog
-----
- Changed the default way SVF generates random ships to be more like vanilla, in that the script will attempt to continue generating ships until it meets the requested number, or has exhausted all options. This can be a little slower, especially while at lower levels, but it's generally not noticeable.
- Added a gameplay option to control this new behavior, "Limit Random Ship Creation Attempts", defaulting to "OFF"
- Added more logging to capture whether certain mods are installed (specifically, mods that are either A. known to conflict, or B. have SVF patches supplied by myself)
- Fixed the "Kestral" ship not showing up in the Falkland Systems patch
- Fixed the gameplay option separator for Falkland Systems not being marked as "active" when the respective patch is enabled
- Added plugin to hide all Ship Vendor Framework gameplay options (separate download, not included in main archive)
- Removed mention of a mod that doesn't need a compatibility patch any more in the readme (thanks to tiberseptm on Nexus Mods for spotting that and bringing it to my attention) -
1.9.0Changelog
-----
- Added some additional logging output to aid in troubleshooting
- Added Danica Volkov from the Free Lanes update to ship vendors
- Added the Hellhound (Crimson Fleet unique ship, available after final quest) to Lt. Jillian Toft for players who side with SysDef
- Moved vendor min/max gameplay options from core patches (that is, the ones I maintain) to main plugin in order to prevent situations where the gameplay options could get split up
- Updated gameplay option group to have a proper title
- Fixed DarkStar Astrodynamics patch not correctly appending to form lists like it should have
- Updated Starvival patch to be compatible with v12.1
- Updated behavior of Starvival patch so that it attempts to use Starvival's built-in way of adding more credits to vendors, then applies the "Rich Ship Vendors" option afterwards
- Re-saved and re-exported all plugins in the latest version of Creation Kit (v1.16.236)
- Greatly expanded the "Add Ships To Vendor" section of the How To documentation with a lot more detail
PC
-
1.10.0Changelog
-----
- Changed the default way SVF generates random ships to be more like vanilla, in that the script will attempt to continue generating ships until it meets the requested number, or has exhausted all options. This can be a little slower, especially while at lower levels, but it's generally not noticeable.
- Added a gameplay option to control this new behavior, "Limit Random Ship Creation Attempts", defaulting to "OFF"
- Added more logging to capture whether certain mods are installed (specifically, mods that are either A. known to conflict, or B. have SVF patches supplied by myself)
- Fixed the "Kestral" ship not showing up in the Falkland Systems patch
- Fixed the gameplay option separator for Falkland Systems not being marked as "active" when the respective patch is enabled
- Added plugin to hide all Ship Vendor Framework gameplay options (separate download, not included in main archive)
- Removed mention of a mod that doesn't need a compatibility patch any more in the readme (thanks to tiberseptm on Nexus Mods for spotting that and bringing it to my attention) -
1.9.0Changelog
-----
- Added some additional logging output to aid in troubleshooting
- Added Danica Volkov from the Free Lanes update to ship vendors
- Added the Hellhound (Crimson Fleet unique ship, available after final quest) to Lt. Jillian Toft for players who side with SysDef
- Moved vendor min/max gameplay options from core patches (that is, the ones I maintain) to main plugin in order to prevent situations where the gameplay options could get split up
- Updated gameplay option group to have a proper title
- Fixed DarkStar Astrodynamics patch not correctly appending to form lists like it should have
- Updated Starvival patch to be compatible with v12.1
- Updated behavior of Starvival patch so that it attempts to use Starvival's built-in way of adding more credits to vendors, then applies the "Rich Ship Vendors" option afterwards
- Re-saved and re-exported all plugins in the latest version of Creation Kit (v1.16.236)
- Greatly expanded the "Add Ships To Vendor" section of the How To documentation with a lot more detail -
1.8.1Changelog
-----
- Fixed the `SVF_Control:SVFControlInitialized()` function not doing a thorough enough job, thus not allowing vendors to initialize properly in certain very specific circumstances (thanks to DeityVengy for bringing this to my attention)
- Adjusted the duration in the ship vendor script before the code declares a timeout while waiting for `SVF_Control` initialization
- Slightly adjusted the description of the Falklands Systems and Starvival patch plugins to add the version of the mods they patch (v2 and v11, respectively) for more clarity
- Slightly adjusted the description of the Falklands Systems patch in the FOMOD to add the version it is for (v2) for more clarity
- Added a parameter to build system so that built BA2 files aren't automatically cleaned up -
1.8.0Changelog
-----
- Updated Falkland Systems patch to add the "Kestrel" ship introduced in v2
- Fixed order of Game Settings in the Watchtower patch
- Added image to show lists for Watchtower -
1.7.0Changelog
-----
- Added patch for Watchtower -
1.6.1Changelog
-----
- Fixed DarkStar Astrodynamics and The Den Astrodynamics patches always being initially selected in FOMOD installer
- Fixed Markdown image to BBCode image conversion regex -
1.6.0Changelog
-----
- Implemented a "Vendor Data Map" concept to allow the mod to be as conflict-free as possible, and as a result, was able to remove all direct vendor record edits
- Set Lt. Jillian Toft on the Vigilance to function as a ship vendor once the Crimson Fleet quest line concludes (modifies `CF_Post` dialogue `[QUST:00143472]` and `CF_Post_Toft_TL_ShipServices` scene `[SCEN:001F88DD]`)
- Added a gameplay option to allow unique ships to regenerate after purchase, instead of being a one-and-done thing
- Added a "Rich Ship Vendors" gameplay option; the amount of credits ship vendors have is controlled by a different gameplay option
- Added gameplay options to control the minimum and maximum number of ships in the "random" category that a ship vendor will attempt to sell
- Added more variable caching to try and minimize calls to potentially expensive external functions
- Added sanity checks (with messages if they fail) to support new conflict-free methodologies and records
- Added a toast-style message that pop up if a ship vendor is accessed before it's ready and another toast-style message that will then pop up when the vendor is ready
- Changed how the unique ships are tracked so that they are tracked across vendors
- Made a pass for style consistency in all scripts
- Updated auxiliary scripts to use their own internal logging function
- Added many comments to the code to clarify things where needed and to make certain bits of logic (hopefully) easier to follow
- Removed OnInit event code from SVF_Control script to clean things up
- Made sure that all calls to local _Log function have a log level specified
- Re-worked log levels to function more like other languages
- Fixed an issue where ShipVendorScript could attempt to register for a remote event on a variable that was None.
(truncated due to length restrictions - see the full changelog on Nexus) -
1.5.4Changelog
-----
- Fixed master file reference in the SVF Starvival Patch to the newly-renamed SVF Shattered Space patch -
1.5.3Changelog
-----
- Fixed misnamed plugin reference in FOMOD file -
1.5.2Changelog
-----
- Renamed the Shattered Space patch (plugins with filenames ending in "ShatteredSpace.esm" apparently get disappeared from the Creations Load Order screen as of patch 1.15.216) -
1.5.1Changelog v1.5.1
-----
- Fixed The Den Astrodynamics compatibility patch (PC only)
Changelog v1.5.0
-----
- Updated Starvival patch to be compatible with Starvival v10.5.0 (PC only) -
1.4.0Changelog
-----
- Added Shattered Space patches
- Fixed some initialization bugs with kiosk vendors, including outpost vendors
- Fixed some ship vendors constantly regenerating their ships
- Updated Starvival compatibility patch to be compatible with Starvival v10.1.5
- Re-saved all plugin files in newest CK to fix some potential internal file structure weirdness -
1.3.1Changelog v1.3.1
-----
- Update verbiage in FOMOD files to match readme
Changelog v1.3.0
-----
- Updated Starvival compatibility patch for Starvival v8
- Updated some backend stuff (spriggit, helper scripts, etc.)
-
1.2.0Changelog
-----
- Small update to make troubleshooting Ship Vendor Framework a bit easier -
1.1.1Changelog
-----
- Fixed issue where internal array was getting populated by SpaceshipReference objects referencing None
- Fixed issue where if the player purchased a ship from a vendor's "always" list, the vendor would always reset that list the next time it was loaded, instead of when the vendor was scheduled to reset
- Fixed issue where vendor could remain registered for OnPlayerLoadGame event even if not actually loaded
- Fixed issue where ships could be spuriously duplicated in the vendor menu by forcing a full (instead of partial) vendor refresh when a new ship is added to either of the vendor's "always" or "unique" lists
- Mitigated a potential race condition when vendor gets loaded
- Added patch for [Nexus] The Den Astrodynamics -
1.0.1Changelog
-----
- Updated documentation -
1.0.0Changelog
-----
- Initial release
Additional Screenshots Available
This mod has 1 additional screenshot available on the official Bethesda.net page.
View All Screenshots on Bethesda.netYouTube Videos (2)
Starfield News - Are Paid Mods Worth It? Plus 6 More Stories
Starfield Starbreaker Free Ship Mod Review (XBOX/PC)
Community Rating & Feedback
No reviews with comments yet.
Be the first to leave a review!
Related Starfield Mods
By rux616 • 1 year ago
Additional flips of vanilla parts that seemed missing. Mostly conforms to vanilla ship builder grid.
By rux616 • 1 year ago
Adds categories to the Ship Builder for use by other mods.
By rux616 • 1 year ago
Adds new snap points to vanilla ship parts where it felt like they were missing. Largely stays within the grid established so far.
By rux616 • 7 months ago
Patch for "Ship Vendor Framework" by rux616 and "Watchtower" by kinggath_creations.
Quick Actions
Your Rating
Sign in to rate and review this mod—your vote helps the community.
Community Rating
Categories
Mod Information
- Published
- Jul 26, 2024
- Last Updated
- May 08, 2026
- Platforms
- Playstation, PC, Xbox
Search Mods
More by rux616