Core Library
About Core Library
For Players
Core Library is a dependancy for many mods to add gameplay functionality without overriding each other. It helps reduce conflicts and the need for redundant scripts.
For Creators
Core Library includes reusable snippets to perform common tuning injections and add other functionality to your tuning only mods without the need for you to script.
If you are developing your own scripts you can use Core Library to easily setup loggers, config files, or even game services. An event system is included so you can run code on zone load and unload and many other events without adding additional injection points that could otherwise cause conflicts with other mods.
Players: Received an exception using Core Library? Trying to find a conflict?
Core Library does not do anything on its own. If you are experiencing an issue in game and it goes away when removing Core Library then you need to keep the library installed and 50/50 the other mods.
Please contact the creator of those mods to report the issue. If there is an issue with library itself then the creator can contact me.
Installation Notes
Unzip and place the ts4script in your Mods folder. Make sure you only have ONE copy at a time.
Double check that your unzipped script does not end with a number in the case your destination folder had an existing file with the name — otherwise the script will not load.
If you organize your CC, make sure scripts are not placed more than one folder deep.
Get Mod Support with Bot 51
You can can now get automated mod support directly online!
Open Bot 51 in the lower right corner of your screen then ask a question or upload a Last Exception file or Lot 51 log file like lot51_core.log.
If you need human support you will need to Join the Discord community.
You can upload 5 files and ask 20 questions per day.
Core Library Documentation
Tuning Injector Snippet
Inject to Interactions, Traits, Buffs, even Social Bunny without any scripting. There are many things you can do with this one snippet! View the TDESC for detailed information. Open in Tuning Builder
Purchase Picker Snippet
This is an advanced snippet to create Purchase Pickers with stock management + discounts, and can generate rows from definitions, tags, or recipes! Open in Tuning Builder
LotFiftyOneCoreLootActions Tuning
A set of custom loot actions that provide new functionality, or more advanced alternatives to EA loot actions. This includes opening a PurchasePickerSnippet above. Open in Tuning Builder
Affordance Lock Out Snippet
A snippet to provide lockout functionality to SuperInteractions similar to Mixers. Once a Sim runs an interaction either autonomously or user-directed, the interaction will not be allowed to run for the interval provided. Open in Tuning Builder
Clear Mod Save Data Commands (1.34+)
Some mods (like Suite Life) may use the Core Library Save Based Config system which stores data in a household allowing it to be carried and modified per-save. You can use the following commands to purge that data and start fresh.
PSA: In-Game Pack Selection Feature
If the new Pack Selection feature is used, you MUST restart your game to get it back in a safe state for Core Library to run. Some changes will say you don't need a restart, but do it anyway.
Core Library 1.33.1
Improved logic for ParameterizedSuperInteraction autonomy requests. This should greatly improve Staff autonomy in Suite Life.
Core Library 1.33
- Fixed
PREGNANCY_ORIGIN_MODIFIERSinjection on the PregnancyTracker. - Added new
PREGNANCY_ORIGIN_TRAIT_MAPPINGInjection on the PregnancyTracker. (This will be added to the Tuning Builder) - Fixed
inject_to_object_partscompatibility injection.
Core Library 1.32
- Fixed issue with FlagStatInteraction not deselecting flag values. (In Suite Life this prevented you from deselecting operating hours shifts.)
- Added weights to callbacks registered in the Core Library Event Service. The default weight is 1, and the TuningInjector snippet injectors run with a weight of -10 to ensure it runs before any additional listeners using CoreEvent.TUNING_LOADING.
Core Library 1.31.2
This updates fixes backwards compatibility with <= 1.115. You may have experienced an import exception with TunableClientStateTestedOverrides. This was a new tunable added to object states in 1.116.
Added missing `luck_option_config` on random weighted loot injector that would trigger an exception in 1.116+.
Core Library 1.31.1
Fixed an issue that would prevent hiring employees in Suite Life if they did not have a home zone.
Core Library 1.31
Fixed compatibility with game version 1.116
TuningInjector Updates:
Added "compatible_venues" injection to Situations injector. This controls which venues an event from the calendar can be scheduled at. Note: Vacation venues require the sim to rent the lot before an event can be scheduled.
Code Updates:
Improved custom business purchases
Custom Services can now be registered in the service manager before all other EA game services. The default adds them after.
AdvancedInteraction can now run a callback passed through sim.push_super_affordance() on a specified XEVT.
Pagination
lot51_core.open_url <url> [params]
Opens a URL in the Player's default browser. Params (optional) can be a stringified JSON object with additional url query params.
purchase_picker.refresh <id>
Forces a refresh of the available stock in a PurchasePickerSnippet that has stock_management enabled.