The MC Dresser module contains functionality specifically oriented to creating a list of items wanted (included list) or not wanted (excluded list) within your Sim community. It allows saving and loading specific outfits and only allowing those outfits, if desired, for certain categories. It also allows configuration of Custom Definitions which provide the ability to further control skin details, scars, tattoos and such as Sims get older or for randomly generated Sims.
There is a lot of documentation for this module, so feel free to use the links below to skip to the part you need.
All of the configuration of these lists is handled through command-line actions (which can be run from the Sims command-line control-shift-C within a Sim lot). The first time a command will need to be run for a specific Sim, a first name and last name is usually required. After the initial command, MC Dresser will remember the last specified Sim and the name can be omitted from subsequent commands until switching to a different Sim.
Any time an outfit category is an argument in the command-lines for MC Dresser, multiples may be specified by delimiting them with a period, or all may be chosen by using “All”.
For example, add the current hat from the current outfit for John Smith to the included item list:
When adding a hair-type item to a dresser exclude or include list, it is recommended to always use ALL for the outfit. It MAY work if you don’t, but there is a good chance it will have problems. Known issue with hair cleaning/randoming is that the color of the hair may not be correct if the Sim is in the current lot. After the game reloads that Sim, it will be correct. This seems to be some Sim 4 flakiness. I tried several things to work around it but none of them worked, so for now, it is what it is.
If we only want to use include list items for a category, a single excluded item can be added manually to the mc_dresser.cfg file. For example, if I only want female elders to use included items, I would have to manually add this line to mc_dresser.cfg:
If an item doesn’t exist in the included list for a body part for a specific category, then the item already worn will remain worn. An exception is if the item is “removable”, meaning that the sim doesn’t have to wear something in that slot. Examples are accessories, glasses, hats. Those items will be removed if a item doesn’t exist in the included list. There’s also a random chance that they will be removed rather than using a item from the included list.
Below are some examples of using the dresser_copy command in various ways.
|dresser_copy john smith at e||Copies the Athletic outfit from John Smith into his Everyday outfit slot.|
|dresser_copy john smith at john williams||Copies the Athletic outfit from John Smith into John Williams’ Athletic outfit|
|dresser_copy john smith at john williams e||Copies the Athletic outfit from John Smith into John WIlliams’ Everyday outfit|
|dresser_list_bp||Outputs a list of all the body part abbreviations used by mc_dresser commands.||dresser_list_bp|
|dresser_info||[first_name] [last_name]||Produces a file in the same mod folder that McCmdCenter_dresser zip exists within that contains all of the body-parts in use in all of the current outfits for the Sim specified by first_name and last_name. If a prior McCmdCenter_dresser command was executed for the same Sim, the Sim’s first_name and last_name will be remembered so they do not have to be specified subsequent times.||dresser_info john smith all|
|dresser_check||[first_name] [last_name]||Runs a validation-check against the Sim specified by first_name and last_name and will output a record to the mc_cmd_center.log file telling whether or not any excluded items exist in that Sim’s outfits. If a prior McCmdCenter_dresser command was executed for the same Sim, the Sim’s first_name and last_name will be remembered so they do not have to be specified subsequent times.||dresser_check john smith|
|dresser_clean||[first_name] [last_name]||Iterates through all of the outfits for the Sim specified by first_name and last_name. If any excluded items are found, they will be 1) replaced by new random items, 2) removed if they are “removable” items like accessories or 3) replaced with an item from the included list if one exists. If a prior McCmdCenter_dresser command was executed for the same Sim, the Sim’s first_name and last_name will be remembered so they do not have to be specified subsequent times.||dresser_clean john smith|
|dresser_bl||[first_name] [last_name] body_type [outfit_category]||For the current outfit (or the current outfit plus any option outfits specified) for the Sim specified by first_name, last_name, the “body_type” item will be added to the excluded list. The body_type argument is defined below, as is the optional outfits list. If a prior McCmdCenter_dresser command was executed for the same Sim, the Sim’s first_name and last_name will be remembered so they do not have to be specified subsequent times.||dresser_bl john smith hat E.At.Sw|
|dresser_wl||[first_name] [last_name] body_type [outfit_category]||For the current outfit (or the current outfit plus any option outfits specified) for the Sim specified by first_name, last_name, the “body_type” item will be added to the included list. The body_type argument is defined below, as is the optional outfits list. If a prior McCmdCenter_dresser command was executed for the same Sim, the Sim’s first_name and last_name will be remembered so they do not have to be specified subsequent times.||dresser_wl john smith shoes E.At.Sw|
|dresser_del||[first_name] [last_name] body_type||For the Sim specified by first_name, last_name, the “body_type” item in the current outfit will be removed from the excluded and included list. The body_type argument is defined below. If a prior McCmdCenter_dresser command was executed for the same Sim, the Sim’s first_name and last_name will be remembered so they do not have to be specified subsequent times.||dresser_del john smith shoes|
|dresser_rand||[first_name] [last_name] [body_type]||For the current outfit (or the current outfit plus any option outfits specified) for the Sim specified by first_name, last_name, the “body_type” item will be replaced with a random item. If “body_type” is not specified, the entire outfit is randomized. The body_type argument is defined below. If a prior McCmdCenter_dresser command was executed for the same Sim, the Sim’s first_name and last_name will be remembered so they do not have to be specified subsequent times. For several body types, items in the included list must also be specified for it to work. For all, it is recommended.||dresser_rand john smith top|
|dresser_co||[first_name] [last_name] [outfit_category]||Change the Sim specified by first_name, last_name into the specified outfit. If the outfit is not specified, the current outfit equipped is output to notifications or the mc_cmd_center.log file depending on settings. The outfit argument is defined below. If a prior McCmdCenter_dresser command was executed for the same Sim, the Sim’s first_name and last_name will be remembered so they do not have to be specified subsequent times.||dresser_co john smith At|
|dresser_os||[first_name] [last_name] [outfit_category]||Save the currently equipped outfit for the Sim specified by first_name and last_name. Optionally, if outfit is specified, the current outfit can be saved for more than one outfit category. The outfit argument is defined below. If a prior McCmdCenter_dresser command was executed for the same Sim, the Sim’s first_name and last_name will be remembered so they do not have to be specified subsequent times.||dresser_os john smith E.At|
|dresser_ol||[first_name] [last_name] [outfit_index]||Load a saved outfit into the currently equipped outfit for the Sim specified by first_name and last_name. If outfit_idx is specified, the saved outfit with that number will be loaded. If outfit_idx is not specified, the next saved outfit in that category will be loaded. If a prior McCmdCenter_dresser command was executed for the same Sim, the Sim’s first_name and last_name will be remembered so they do not have to be specified subsequent times.||dresser_ol john smith|
|dresser_od||[first_name] [last_name] outfit_index||Delete the saved outfit from the currently equipped outfit category for the Sim specified by first_name and last_name with the outfit_idx. If outfit_idx does not exist, an error will be shown. If a prior mc_dresser command was executed for the same Sim, the Sim’s first_name and last_name will be remembered so they do not have to be specified subsequent times.||dresser_od john smith 1|
|dresser_copy||source_first_name source_last_name source_outfit [dest_first_name dest_last_name] AND/OR [dest_outfit]||Allows copying an outfit from one category to another for the same Sim or to a different Sim. The source information is required. The destination information can have an optional first name/last name OR outfit, but at least one or the other is required. Valid source/dest outfits are “E”, “AT”, “F”, “P”, “SL”, “SW”, “HW”, “CW” and “BT”.||dresser_copy john smith at john williams e|
Custom Definitions provide the player with a way to set-up different types of CAS parts that can be configured to automatically be added to Sims as they age-up or on randomly generated Sims in the world. The number of these definitions that may be used by a player are not limited by MC Dresser, so the player can make as many as they want. The player should take care, though, not to configure definitions that conflict with one another since MC Dresser trusts the player to handle the analysis of that factor. Custom Definitions are defined by CAS outfit age groups. As such, Teens, Young Adults and Adults all share the same definitions for the same gender. The other ages each have their own Custom Definitions as CAS does not share outfit items for those ages.
Custom Definitions are defined by a name, which the player assigns. It can be anything meaningful to the player for this definition.
Custom Definitions are based on several CAS categories, which may contain a combination of body types.
|Custom Definition Body Type||CAS Body Type|
|Skin Details||Forehead Crease, Freckles, Left Dimple, Right Dimple, Left Lip Mole, Right Lip Mole, Left Cheek Mole, Right Cheek Mole, Mouth Crease, Skin Overlay, Nose Color|
|Brow Scars||Occult Brow|
|Cheek Scars||Occult Left Cheek, Occult Right Cheek|
|Eye Scars||Occult Eye Socket|
|Mouth Scars||Occult Mouth|
|Tattoos||Left Lower Arm, Left Upper Arm, Right Lower Arm, Right Upper Arm, Right Leg, Left Leg, Lower Back, Upper Back, Front Lower Torso, Front Upper Torso|
|Body Hair||Leg Hair, Arm Hair, Front Torso Hair, Back Torso Hair|
Each Custom Definition may have a Use Custom Definition Percent configured. This is the percentage chance that the current definition will be applied to a randomly generated Sim created by the Sims 4. Note that this does not apply to random Sims that are replaced with imported tray Sims. There is another setting for that.
Each Custom Definition may have a Use Parent Values Percent configured. This setting is used for Sims as they age-up. Mainly, this applies to teens. When a Sim ages from a child to a teen, if there are any Custom Definitions for the Teen/Young Adult/Elder group that have a percentage set in this setting, and if the parent has one of the Custom Definition parts defined in this definition, then that part will be copied to the teen as part of the age-up. This can be used for things like copying the freckles from a parent as the child ages into a teen.
Each Custom Definition may have a Change Tray Percent configured. This is the percentage chance that the current definition will be applied to a randomly generated Sims created by the Sims 4 if that Sim is generated from a tray Sim. By default, Sims created from the Tray do not have changes applied based on Custom Definitions. However, if the player does want that to happen, they can set the percentage chance for the imported Sim to have a Custom Definition applied here.
The final step in defining a Custom Definition is to add any Outfit parts that should be part of this Custom Definition. To do that, a Sim will have to have the desired parts equipped in CAS which can then be added from the MC Dresser Custom Definition dialog. I’ll go through an example of all of this below.
As an example of how one might use a Custom Definition, I’m going to start with the freckles example I mentioned earlier. Let’s say I really like freckles and want it to be used by a lot of Sims in my world. I want to define this for Male Sims and really I want them to inherit it from parents as well so I will be interested in defining it at the Teen/Young Adult/Adult age group. For ease in setting this up, first I’m going to edit my household in CAS and make it full of male Sims in the right ages. On each, I’ll put the freckles I want to include, with swatches or whatever variants there might be for that CAS Body Type. As with other MC Dresser outfit settings, each swatch/color difference/etc. has its own unique ID in CAS so they must be defined in MC Dresser individually. I’m not going to be saving this game so I can do it with my active household. Saving the settings doesn’t affect my Sims 4 game itself.
For Freckles, there are two different versions in vanilla CAS. I’ll add one to a Male Young Adult Sim in my household:
Now I will create a new Custom Definition for my Freckles. Clicking on either of those Sims on their home lot, I’ll go into the MCCC Sims Menu and open the Custom Definition menu in MC Dresser. Then I want to add a new Definition:
I will set the name to something that makes sense for this definition, so I’ll go with “Freckles”. When I click on the “Body Type Group” button, I only have one option for this Sim, "Skin Details", which is the correct body type group for Freckles.
This is automatically detected since MC Dresser can tell the Sim I selected has something outfitted in CAS to that group (the freckles I chose earlier). So I will choose “Skin Details” for the Body Type Group.
Now, I need to decide what percentages I want to use for this definition. I want randomly generated NPC Sims the game creates to use them all the time, so I’ll set the Use Custom Definition Percent setting to 100% I want Sims to inherit it from their parents as they age-up to Teen, so I’ll set the Use Parent Values Percent to 100% as well. Finally, I don’t want Sims that are imported from Tray Sims to use the Freckles definition at all, so I’ll leave it at 0%.
Now I have a couple of options. I could just save the Custom Definition. This would not include any outfit parts, yet, so nothing would actually be applied to Sims yet, but it would allow me to open the definition on other Sims if I need to choose other freckle types from them (which I will need to do in a moment). For now, though, I want to click the Defined Parts button and select the freckles from the current Sim.
When I click the Defined Parts button, I’ll have the option to Add Part to Definition. If I already had parts defined, I’d also have the option to delete a part I had added previously. For now, I’ll click the Add Part to Definition button, and I’ll see the CAS Outfit Part ID for the Body Type Group I’m defining.
Clicking that gives me new options. I can either delete the part I just added or I can save the changes to the parts I’ve done to this point. I can’t add any other parts because this Sim only has one Skin Detail group item defined in CAS. The other Freckles was on a different Sim. Now VERY IMPORTANT to note here is that the defined part changes MUST be saved here, or they won’t be saved to the Custom Definition. I will click on the Save Changes to Definition Parts to assign the freckles on this Sim to the Freckles Custom Definition. This takes us back to our Custom Definition details.
We’re done with the definition for this Sim, but we want to make sure to save everything we’ve done on the definition to this point, so we MUST click the Save Changes to Definition button, or nothing will be saved to the mc_dresser.cfg file. Clicking that button will save them to the settings and they’ll now be visible from other Sims as well.
I’ll now close the MCCC menu on the current Sim, and begin the process on the next Sim. I will select the other male Sim, who had equipped the second variant of Freckles in CAS, and follow the same initial path. Going into the MCCC Sims menu on that Sim and going into the Custom Definitions option of MC Dresser, I now see I have options to edit or delete an existing definition that I didn’t have before. The Freckles definition is saved in settings and I can edit it to change percentages, the name, or defined parts as I need to, or I can delete it altogether if I decided I don’t want it.
Going into Edit Definition, I see that the Freckles definition is listed there.
I want to click that definition to edit it. Then, I want to click the Defined Parts button. On this Sim, I again have a defined Skin Detail part he is wearing from CAS that is not in this definition so I have an option to Add Part to Definition. I also still have the Delete Part from Definition option since I could decide to remove the Freckles from the first Sim, if I wanted to do that.
I will click Add Part to Definition, which shows me the CAS Outfit Part ID for Skin Details defining the second freckles part. I’ll click that to add it to the defined parts, I’ll click the Save Changed to Defined Parts button and then the Save Changes to Definition button. My Freckles Custom Definition now has both freckle parts from CAS defined and can use those on Sims in the game.
The next time the game generates a random Sim that matches this Custom Definition, it will check the percentage chance to use it. Since it’s 100%, it will definitely apply it to any male Sim randomly generated UNLESS THE GAME ALREADY GENERATES THEM WITH SOMETHING ELSE IN THAT SLOT. For freckles, there isn’t much chance of that, but there may be for some of the categories, so it should be noted! The Sims 4 generated a new Sim in my game and I opened him in CAS to verify that the Custom Definition was applied. Sure enough, looking at his facial detail, I can see he definitely has freckles.
The way that script mods have to communicate with the Sims 4 to get new outfits for Sims requires calls to CAS for new outfit generation. Some of the body types do not come back from CAS with different random outfit parts. Because of this, when doing cleaning or randoming on these Body Types, in addition to excluded items being defined it is also REQUIRED to have items stored in the included list as well. If there are no items on the included list, there is no way for the script to replace anything currently on the Sim since CAS will never give an alternative. Below is the list of Body Types that do not return random options when calling CAS so require items to be defined on the included list.
|Sims 4 Internal ID||Body Type|
|43||Mole Left Lip|
|45||Lower Left Arm Tatoo|
|46||Upper Left Arm Tattoo|
|47||Lower Right Arm Tattoo|
|48||Upper Right Arm Tattoo|
|49||Left Leg Tattoo|
|50||Right Leg Tattoo|
|51||Lower Torso Back Tattoo|
|52||Upper Torso Back Tattoo|
|53||Lower Torso Front Tattoo|
|54||Upper Torso Front Tattoo|
|56||Mole Right Cheek|
In dresser commands that require a body type, either the Sims 4 Internal ID or the Body Type value may be specified unless otherwise specified. For those that I say use the ID only, it’s because there’s a space in the Body Type and that will cause problems parsing the command.
|Sims 4 Internal ID||Body Type||Must Use ID|
|22||Left Index Ring||Yes|
|23||Right Index Ring||Yes|
|24||Left Third Ring||Yes|
|25||Right Third Ring||Yes|
|26||Left Middle Ring||Yes|
|27||Right Middle Ring||Yes|
|42||Tights||No||43||Mole Left Lip||No|
|44||Mole Right Lip||No|
|55||Left Cheek Mole||No|
|56||Right Cheek Mole||No|
In dresser commands that require an outfit category, the outfit abbreviation must be used from the definitions below. Except when using “All”, any combination of the outfit abbreviations may be specified by using a period as a delimiter in the command-line.
|Outfit Abbreviation||Outfit Category|