JSON validator
Validation
Oops, found some issues with your JSON. See format documentation for more info.
| Line | Field | Error |
|---|---|---|
| 2 | Format | Incorrect value '2.8.0'. You should always use the latest format version (currently 2.9.0) to enable the latest features, avoid obsolete behavior, and reduce load times. |
Content
You can change JSON format () or edit this 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": "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
}
}
}
/*bikeshed implementation//*/,
{
"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}}/DucatiBikeShed",
"SourceRect": {
"X": 0,
"Y": 0,
"Width": 64,
"Height": 96
},
"Size": {
"X": 4,
"Y": 2
},
"Builder": "Robin",
"BuildDays": 2,
"BuildCost": 10000,
"BuildMaterials": [
{
"ItemID": "(O)709",
"Amount": 100
},
{
"ItemID": "(O)335",
"Amount": 10
}
],
"DrawShadow": true,
"CollissionMap": "XXXX\nXOOX",
"AnimalDoor": {
"X": 2,
"Y": 3,
"Width": 2,
"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,
"AnimalDoorOffset": {
"X": 0,
"Y": 0
}
},
{
"ID": "Default_AnimalDoor_Open",
"SourceRect": {
"X": 64,
"Y": 0,
"Width": 64,
"Height": 96
},
"DrawPosition": "0, 0",
"DrawInBackground": false,
"AnimalDoorOffset": {
"X": 0,
"Y": 0
}
}
]
}
}
}
/*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
},
"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/horse.png}}"
}
}
}
]
}