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 asset changes//*/
{
"LogName": "Horse Reskin",
"Action": "Load",
"Target": "Animals/horse",
"FromFile": "assets/horse.png"
},
{
"LogName": "Horse Edits",
"Action": "EditImage",
"Target": "Animals/horse",
"FromFile": "assets/DucatiEdits.png",
"PatchMode": "Overlay"
},
{
"LogName": "Horsehead Reskin",
"Action": "EditImage",
"Target": "LooseSprites/Cursors",
"FromFile": "assets/DucatiIcon.png",
"FromArea": {
"X": 0,
"Y": 0,
"Width": 16,
"Height": 16
},
"ToArea": {
"X": 192,
"Y": 192,
"Width": 16,
"Height": 16
}
},
{
"LogName": "Flute Reskin",
"Action": "EditImage",
"Target": "Maps/springobjects",
"FromFile": "Assets/DucatiFlute.png",
"ToArea": {
"X": 368,
"Y": 592,
"Width": 16,
"Height": 16
}
},
{
"LogName": "Stable PaintMask Reskin",
"Action": "Load",
"Target": "Buildings/Stable_PaintMask",
"FromFile": "assets/BikeShed_PaintMask.png"
},
{
"LogName": "Stable PaintMask Expansion",
"Action": "EditImage",
"Target": "Buildings/Stable_PaintMask",
"FromFile": "assets/BikeShed_PaintMask.png",
"FromArea": {
"X": 0,
"Y": 0,
"Width": 192,
"Height": 176
},
"ToArea": {
"X": 0,
"Y": 0,
"Width": 192,
"Height": 176
},
"PatchMode": "Replace"
}
/*engine audio edits//*/
/*will go here; can the full tractormod audio features even be done in cp?//*/
/*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": {
"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": "78, 49",
"DrawInBackground": false,
"FrameCount": 1,
"FrameDuration": 360,
"AnimalDoorOffset": {
"X": 0,
"Y": 0
}
}
]
}
}
}
]
}