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 loads & edits// { "LogName": "Ducati Sprite", "Action": "Load", "Target": "{{ModId}}/Ducati", "FromFile": "assets/CKDucatiPersonal.png" }, { "LogName": "Ducati Sprite Edits", "Action": "EditImage", "Target": "{{ModId}}/Ducati", "FromFile": "assets/DucatiEdits.png", "PatchMode": "Overlay" }, { "LogName": "Flute Reskin", "Action": "EditImage", "Target": "Maps/springobjects", "FromFile": "Assets/Flute.png", "ToArea": { "X": 368, "Y": 592, "Width": 16, "Height": 16 } }, { "LogName": "Helmet Sprites", "Action": "Load", "Target": "Hats/{{ModId}}_Helmets", "FromFile": "assets/Helmets.png", }, { "LogName": "BikeShed Sprite", "Action": "Load", "Target": "{{ModId}}/BikeShed", "FromFile": "assets/BikeShed.png", }, { "LogName": "Ducati Audio", "Action": "EditData", "Target": "Data/AudioChanges", "Entries": { "{{ModId}}_Music": { "ID": "{{ModId}}_Footsteps", "Category": "Footsteps", "FilePaths": [ "{{AbsoluteFilePath: assets/tractor.wav}}" ], "StreamedVorbis": false, "Looped": false, } } }, //helmet implementation// { "LogName": "Helmet Hats", "Action": "EditData", "Target": "Data/Hats", "Entries": { "{{ModId}}_SilverHelmet": "{{ModId}}_SilverHelmet/A silver motorcycle helmet./hide/false//Silver Helmet/0/\\Hats\\{{ModId}}_Helmets", "{{ModId}}_OrangeHelmet": "{{ModId}}_OrangeHelmet/An orange motorcycle helmet./hide/false//Orange Helmet/1/\\Hats\\{{ModId}}_Helmets", "{{ModId}}_BlackHelmet": "{{ModId}}_BlackHelmet/A black motorcycle helmet./hide/false//Black Helmet/2/\\Hats\\{{ModId}}_Helmets" } }, { "LogName": "Buyable Helmets", "Action": "EditData", "Target": "Data/Shops", "TargetField": [ "HatMouse", "Items" ], "Entries": { "{{ModId}}_SilverHelmet": { "Id": "{{ModId}}_SilverHelmet", "ItemId": "{{ModId}}_SilverHelmet", "Price": "20000", }, "{{ModId}}_OrangeHelmet": { "Id": "{{ModId}}_OrangeHelmet", "ItemId": "{{ModId}}_OrangeHelmet", "Price": "20000", }, "{{ModId}}_BlackHelmet": { "Id": "{{ModId}}_BlackHelmet", "ItemId": "{{ModId}}_BlackHelmet", "Price": "20000", } }, "When": { "HasFlag": "{{ModId}}_HelmetMail", } }, { "LogName": "Helmet Mail", "Action": "EditData", "Target": "Data/Mail", "Entries": { "{{ModId}}_HelmetMail": "@,^Since you now own a motorbike, I thought you should have a helmet to go with it.^ -Demetrius%item id (O){{ModId}}_BlackHelmet 1 %%" } }, //ducati implementation// { "LogName": "Ducati Mount", "Action": "EditData", "Target": "aedenthorn.CustomMounts/dict", "Entries": { "{{ModId}}/DucatiBike": { "Name": "Ducati Motorbike", "Stable": "{{ModId}}_BikeShed", "SpawnOffset": { "X": 1, "Y": 1 }, "Size": { "X": 2, "Y": 1 }, "Speed": 2, "FrameWidth": 32, "FrameHeight": 32, "FootstepSound": "{{ModId}}_Footsteps", "FootstepSoundStone": "{{ModId}}_Footsteps", "FootstepSoundWood": "{{ModId}}_Footsteps", "EatItem": "(O)171", "EatSound": "glug", "EatSpeedBonus": 0.7, "TexturePath": "{{InternalAssetKey: assets/CKDucatiPersonal.png}}" } } }, //bikeshed implementation// // needs BuildMenuDrawOffset added // { "LogName": "BikeShed", "Action": "EditData", "Target": "Data/Buildings", "Entries": { "{{ModId}}_BikeShed": { "Name": "Ducati Bike Shed", "Description": "A weatherproof shed for storing a small vehical. Comes with a 1972 Ducati Motorbike.", "Texture": "{{ModId}}/BikeShed", "SourceRect": { "X": 0, "Y": 0, "Width": 64, "Height": 96 }, "Size": { "X": 4, "Y": 2 }, "BuildingType": "StardewValley.Buildings.Stable", "Builder": "Robin", "BuildDays": 2, "BuildCost": 10000, "BuildMaterials": [ { "ItemID": "(O)709", "Amount": 100 }, { "ItemID": "(O)335", "Amount": 10 } ], "BuildMenuDrawOffset": { "X": 0, "Y": 112 }, "AddMailOnBuild": [ "{{ModId}}_HelmetMail" ], "DrawShadow": true, "CollisionMap": "XXXX\nXOOX", "AnimalDoor": { "X": 0, "Y": 0, "Width": 1, "Height": 3 }, "AnimalDoorOpenDuration": 0.9375, "AnimalDoorOpenSound": "doorCreak", "AnimalDoorCloseDuration": 0.3125, "AnimalDoorCloseSound": "doorCreakReverse", "DrawLayers": [ { "ID": "Default_AnimalDoor", "SourceRect": { "X": 14, "Y": 112, "Width": 36, "Height": 48 }, "DrawPosition": "14, 48", "DrawInBackground": false, "FrameCount": 1, "FrameDuration": 360, "SortTileOffset": 0.02, "AnimalDoorOffset": { "X": 0, "Y": -44 } }, { "ID": "Default_AnimalDoor_Open", "SourceRect": { "X": 64, "Y": 0, "Width": 64, "Height": 96 }, "DrawPosition": "0, 0", "DrawInBackground": true, "AnimalDoorOffset": { "X": 0, "Y": 0 } } ] } } } ] }
Click this button: