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.png",
      "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"
    },
    {
      "LogName": "Stable Tilesheet Expansion",
      "Action": "EditImage",
      "Target": "Buildings/Stable",
      "FromFile": "assets/BikeShed.png",
      "FromArea": {
        "X": 0,
        "Y": 0,
        "Width": 192,
        "Height": 176
      },
      "ToArea": {
        "X": 0,
        "Y": 0,
        "Width": 192,
        "Height": 176
      },
      "PatchMode": "Replace"
    }
    /*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",
      "Entries": {
        "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
              }
            }
          ]
        }
      }
    }
  ]
}