SMAPI
About SMAPI
Modding docs
Tools
Mod compatibility
Log parser
JSON validator
JSON validator
Upload a JSON file
Choose the JSON format:
None
SMAPI: manifest
SMAPI: translations (i18n)
Content Patcher
Drag the file onto this textbox
(or
choose a file
)
:
{ "Format": "2.8.0", "Changes": [ //simple asset changes// //stable to bikeshed conversion// { "LogName": "Stable Reskin", "Action": "Load", "Target": "Buildings/Stable", "FromFile": "assets/BikeShed.png" }, //dynamic bikeshed edits// { "LogName": "Spring & Summer Day/Night BikeShed", "Action": "EditImage", "Target": "Buildings/Stable", "FromFile": "assets/BikeShed.png", "FromArea": { "X": 128, "Y": 0, "Width": 64, "Height": 96 }, "ToArea": { "X": 64, "Y": 0, "Width": 64, "Height": 96 }, "When": { "Time": "{{Range: 2000, 2600}}", "Season": "spring, summer" } }, { "LogName": "Fall Day/Night BikeShed", "Action": "EditImage", "Target": "Buildings/Stable", "FromFile": "assets/BikeShed.png", "FromArea": { "X": 128, "Y": 0, "Width": 64, "Height": 96 }, "ToArea": { "X": 64, "Y": 0, "Width": 64, "Height": 96 }, "When": { "Time": "{{Range: 1900, 2600}}", "Season": "fall" } }, { "LogName": "Winter Day/Night BikeShed", "Action": "EditImage", "Target": "Buildings/Stable", "FromFile": "assets/BikeShed.png", "FromArea": { "X": 128, "Y": 0, "Width": 64, "Height": 96 }, "ToArea": { "X": 64, "Y": 0, "Width": 64, "Height": 96 }, "When": { "Time": "{{Range: 1800, 2600}}", "Season": "winter" } }, //bikeshed door implementation// { "LogName": "BikeShed door", "Action": "EditData", "Target": "Data/Buildings", "Fields": { "Stable": { "SourceRect": { "X": 0, "Y": 0, "Width": 64, "Height": 96 } "AnimalDoor": { "X": 2, "Y": 3, "Width": 2, "Height": 3 }, "AnimalDoorOpenDuration": 0.9375, "AnimalDoorOpenSound": "doorCreak", "AnimalDoorCloseDuration": 0.3125, "AnimalDoorCloseSound": "doorCreakReverse", //noninstanced indoorlocation - ??? what do you do for "interior does not exist" ??? // "DrawLayers": [ { "ID": "Default_AnimalDoor", "SourceRect": { "X": 14, "Y": 112, "Width": 36, "Height": 48 }, "DrawPosition": "14, 48", "DrawInBackground": false, "FrameCount": 1, "FrameDuration": 360, "AnimalDoorOffset": { "X": 0, "Y": 0 } }, { "ID": "Default_AnimalDoor_Open", "SourceRect": { "X": 64, "Y": 0, "Width": 64, "Height": 96 }, "DrawPosition": "14, 48", "DrawInBackground": false, "AnimalDoorOffset": { "X": 0, "Y": 0 } } ] } } } ] }
Click this button: