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 - 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 1.78 See changelog
Released
- Add a command to swap the gender of a Sim. `s4clib.swap_gender`
- Added a fix for the vanilla `Sim.can_see` function where `los_constraint` property was attempting to be used while it was None. (Thus throwing an error). This fix checks for the property to be None before continuing the rest of said function.
- Added a new SHIFT+CLICK interaction to all objects. This interaction will let you change the various states of those objects.
- For example, you can change the image on a computer monitor to one of the many images the game uses.
- Added a debug dialog for changing the state of an object.
- Added a couple more values to `CommonObjectStateValueId`
- The `CommonOutfitUtils` commands now logs the things it prints to the log file in addition to the console window.
- Added new functions to `CommonObjectStateUtils` for loading object state values, setting object state, checking the current states of an object, and retrieve all state items of an object.
- Added a function to `CommonRelationshipUtils` to retrieve all relationships of a Sim.
- Added a function to `CommonRelationshipUtils` to remove a relationship bit of a Sim from all other Sims.
- Added a couple commands for adding and removing relationship bits to/from Sims.
- Added a command to delete all Sims except the Active Household Sims.
- Added a fix for the vanilla `AwayActionTracker.remove_on_away_action_ended_callback` where it would blow up if the callback being removed did not exist in the `_on_away_action_ended` property.
- Added a fix for the vanilla `AwayActionTracker.remove_on_away_action_started_callback` where it would blow up if the callback being removed did not exist in the `_on_away_action_started property`.
- Added functions to check if a Sim can be picked up.
- Added a function to retrieve all Skills available to a Sim.
- Added a function to retrieve all Skills.
- Added a function to check if a Sim can route to another Sim.
- Added a command to set all Sims as having met each other other.
- Cleaned up some doc strings in various enums
- Added `CommonObjectQuality` and `CommonObjectStateId` enums
- Added some functions for setting and getting object quality to `CommonObjectStateUtils`
- Added extra arguments to `CommonSimCraftingUtils.create_from_recipe`
- Removed the checks for `has_motive` from various `CommonSimMotiveUtils` functions.
- Fixed an issue within `CommonSimStatisticUtils.add_statistic_modifier` where it was essentially not working properly.
- Added support for werewolves, related classes are `CommonOccultType`, `CommonSimType`, `CommonOccultUtils`, `CommonSimOccultUtils`, `CommonSimOccultTypeUtils`, etc.
- Updated CommonTraitId and CommonBuffId with new traits and buffs.
- Fixed an issue with Animal Sims spawned in with the spawn commands, where they did not have a breed entered for them.
- CommonAlarmHandles now have an `is_active` property that can be checked to determine in the alarm handle is still active.
- Added a function to remove Game Tags from objects.
- With version 1.78:
- Download