Step 1: Prepare your assets

Code: [CP] ModName + assets + Characters | + Emily_spring_01.png | + Emily_spring_02.png | + Emily_spring_03.png | + Emily_summer_11.png | + Emily_fall_21.png | + Emily_fall_22.png | + Emily_winter_31.png | + Haley_spring_a.png | + Haley_spring_b.png | + Haley_summer_a.png | + Haley_summer_b.png | + Haley_fall_a.png | + Haley_fall_b.png | + Haley_winter_a.png | + Haley_winter_b.png + Portraits + Emily_spring_01.png + Emily_spring_02.png + Emily_spring_03.png + Emily_summer_11.png + Emily_fall_21.png + Emily_fall_22.png + Emily_winter_31.png + Haley_spring_a.png + Haley_spring_b.png + Haley_summer_a.png + Haley_summer_b.png + Haley_fall_a.png + Haley_fall_b.png + Haley_winter_a.png + Haley_winter_b.png

Step 2: Create manifest.json

Code: { "Name": "Your Project Name", "Author": "your name", "Version": "1.0.0", "Description": "One or two sentences about the mod.", "UniqueID": "YourName.YourProjectName", "MinimumApiVersion": "2.11.0", "UpdateKeys": [], "ContentPackFor": { "UniqueID": "Pathoschild.ContentPatcher", "MinimumVersion": "1.9.0" }, "Dependencies": [ { "UniqueID": "pepoluan.DailyRandom", "IsRequired": true } ] }

You MUST specify "MinimumVersion": "1.9.0" for ContentPatcher

specify "MinimumVersion": "1.9.0" for ContentPatcher You MUST list "pepoluan.DailyRandom" as a required dependency ("IsRequired" MUST be set true )

list "pepoluan.DailyRandom" as a ("IsRequired" MUST be set ) You MUST ensure that the "YourProjectName" part of "UniqueID" does not collide/clash with other mods

Step 3: Create content.json

Code: { "Format": "1.9", "DynamicTokens": [ { "Name": "emily_variant", "Value": "{{pepoluan.DailyRandom/YourProjectName:em{{season}}}}" }, { "Name": "haley_variant", "Value": "{{pepoluan.DailyRandom/YourProjectName:haley}}" } ], "Changes": [ { "Action": "EditImage", "Target": "Characters/Emily", "FromFile": "assets/Characters/Emily_{{season}}_{{emily_variant}}.png" }, { "Action": "EditImage", "Target": "Portraits/Emily", "FromFile": "assets/Portraits/Emily_{{season}}_{{emily_variant}}.png" }, { "Action": "EditImage", "Target": "Characters/Haley", "FromFile": "assets/Characters/Haley_{{season}}_{{haley_variant}}.png" }, { "Action": "EditImage", "Target": "Portraits/Haley", "FromFile": "assets/Portraits/Haley_{{season}}_{{haley_variant}}.png" } ] }

Step 4: Create dailyrandom.yaml

Code: vars: - name: emspring mustchange: true choices: ["01", "02", "03"] - name: emsummer choices: ["11"] # Example of list containing just one item - name: emfall mustchange: true choices: - "21" - "22" - name: emwinter mustchange: false choices: - "31" - name: haley mustchange: false choices: - a # No need to quote if choice starts with a letter - b

This is a YAML Format with some additional restrictions imposed by this mod



with some additional restrictions imposed by this mod Tab characters are forbidden

First letter of the parameters "name", "mustchange", and "choices" MUST be justified

be justified For the purposes of this mod, numbers should be quoted

be quoted You can specify the choices in one line (using the brackets notation) or as a dashed vertical list Even if you have only 1 choice (at the moment; probably you're planning additional assets), you MUST make the choice a list



name : (REQUIRED) Name of the daily random variable; this is what content.json will refer to after the colon

mustchange : (Optional) whether the new day's value must be different from yesterday's; defaults to "false". If "choices" (see next) contains only 1 item, it will be forced to "false"

choices : (REQUIRED) One or more values the mod will choose from at the start of day​

Step 5: Done!