About This File
The Sims 4 Community Library
Overview:
An API, for The Sims 4, used to make creating/writing mods using Python much easier and more accessible. On its own it does only a few debug commands/interactions. Only install this API if you also have a mod installed that requires it! This mod is intended to always be backwards compatible, so it is recommended to always keep it up to date!
Game/Creator: The Sims 4 [EA]
Modder: ColonolNutty - Documentation - Github Wiki - Wiki - Discord (Pre Release Builds Available There)
Language: English
Game Version: 1.108.349.1020 (Lovestruck) and above
Features:
A Short List Of Current Features (Not all utilities are listed here because they are waaay too numerous!):
For a complete list of features and utilities, check out the documentation at the top of this description!
- A vast library of Vanilla Tuning identifiers for easy retrieval (Enums)
- Logging
- Exception Handling
-
Custom Dialogs
- Choose Dialogs, Outfit Dialog, Purchase Dialogs, and more!
- Custom Notifications
- Custom Interactions
- Custom Icons
-
Event Handling (Creating, Dispatching, and Listening)
- Dispatching of Vanilla Events, such as Age Changes, Traits Added/Removed, Buffs Added/Removed, and more!
-
Miscellaneous Utilities
- Manipulate Sims, Objects,. the Weather, the Terrain, the UI, and many more!
- Manipulate Sim Voices, Households, Gender Options, Genders, Situation States, Object Repair States,
-
Test Framework
- Write and run tests (Can be run from within the game)
- There are a TON more features not listed here! You may see all utilities/classes available to you at the Documentation link at the top of this description!
Installation:
- Download the API using the links at the bottom of this description
- Unpack the archive using your favorite archiving tool.
- Drag the files and folders to your The Sims 4 directory. The files will be at `The Sims 4/Mods`. Overwrite All if asked!
-
Keep in mind the ts4script file MUST be either top level (Directly in the Mods/folder) or one folder deep (Mods/Blah/). Any deeper and it will not work.
The final paths for the files should be the following:
The Sims 4/Mods/sims4communitylib.package
The Sims 4/Mods/sims4communitylib.ts4script
FAQ:
-
Q: S4CL is throwing a ton of errors in my game! Can you fix it??
- A: S4CL can catch errors caused by other mods. It is extremely rare that S4CL itself is the one breaking.
-
Q: Is S4CL compatible with X???
- A: S4CL is compatible with ALL mods, it is intended to be an extension of The Sims 4 and not replace functionality of it.
-
Q: I don't want to use S4CL because it contains Adult Content!!
- A: S4CL does not contain any adult content whatsoever. It may be available on Sites that permit Adult Content, however it does contain any adult content itself.
Translations:
Usage (For Mod Authors):
A nifty tutorial has been created on the Github Wiki to help those wishing to either get into modding The Sims 4 or to begin utilizing S4CL, you may find it here
Change-Log:
The changelog is kept up to date and is located here
Edited by ColonolNutty
What's New in Version 3.3 See changelog
Released
- Added load_icon_by_id to CommonIconUtils.
- Fixed an issue with missing arguments when calling on_outfit_update within CommonOutfitUtils.update_outfits
- Fixed an issue when retrieving the Tuning name of a buff in CommonBuffUtils, where it would not give the proper name.
- Removed the duplicated "s4clib.add_relationship" command.
- Added new functions to CommonQuaternion and CommonVector3
- Deprecated the "empty" function in CommonQuaternion and added identity instead.
- The CommonVector3 "is_empty" utilizes "empty" for value checking now.
- Fixed an issue when retrieving the definition of objects.
- get_object_definition and get_object_definition_id can now accept GameObject types.
- Added functions to CommonSimInventoryUtils to retrieve objects using their definition ids.
- Fixed a problem with the Individual Folder Persistence and Folder Persistence services where they would not load any data from the files if main.json file did not exist.
- Added a way to override the _run_tests function within CommonLoadedItemQueryRegistry
- Fixed an EA bug when resetting milestones for Sims without an aspiration tracker (Like NPCs)
- Fixed an issue when getting a statistic for Sims without a statistic tracker.
- CommonSimInventoryUtils.add_to_inventory now returns a CommonExecutionResult instead of a bool for clearer reasons for failure.
- Fixed a bad check where we were checking if a Sim has an inventory to decide they dont have an inventory, instead of checking properly for the Sim to not have an inventory in CommonSimInventoryUtils.add_to_inventory
With version 3.3:
- Download