mod.json schema - ParkitectNexus/ParkitectNexusClient GitHub Wiki

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "http://parkitectnexus.com/mod-schema",
  "type": "object",
  "title": "Root schema.",
  "description": "An explanation about the puropose of this instance described by this schema.",
  "name": "/",
  "properties": {
    "AssetBundleDir": {
      "id": "http://parkitectnexus.com/mod-schema/AssetBundleDir",
      "type": "string",
      "title": "AssetBundleDir schema.",
      "description": "The path to the mod's asset bundles.",
      "name": "AssetBundleDir",
      "default": ""
    },
    "AssetBundlePrefix": {
      "id": "http://parkitectnexus.com/mod-schema/AssetBundlePrefix",
      "type": "string",
      "title": "AssetBundlePrefix schema.",
      "description": "A unqiue prefix for this mod's asset bundles.",
      "name": "AssetBundlePrefix",
      "default": ""
    },
    "BaseDir": {
      "id": "http://parkitectnexus.com/mod-schema/BaseDir",
      "type": "string",
      "title": "BaseDir schema.",
      "description": "The path to the directory which contains your .csproj file.",
      "name": "BaseDir",
      "default": ""
    },
    "CompilerVersion": {
      "id": "http://parkitectnexus.com/mod-schema/CompilerVersion",
      "type": "string",
      "title": "CompilerVersion schema.",
      "description": "The compiler version used when compiling the mod. The default value is \"v4.0\".",
      "name": "CompilerVersion",
      "default": "v4.0"
    },
    "CodeFiles": {
      "id": "http://parkitectnexus.com/mod-schema/CodeFiles",
      "type": "array",
      "title": "CodeFiles schema.",
      "description": "A list of .cs files containing the mod logic. The default value is [].",
      "name": "CodeFiles",
      "items": []
    },
    "EntryPoint": {
      "id": "http://parkitectnexus.com/mod-schema/EntryPoint",
      "type": "string",
      "title": "EntryPoint schema.",
      "description": "The fully qualifid name of your entry point class. This class must implement IMod.",
      "name": "EntryPoint",
      "default": ""
    },
    "IsDevelopment": {
      "id": "http://parkitectnexus.com/mod-schema/IsDevelopment",
      "type": "boolean",
      "title": "IsDevelopment schema.",
      "description": "If set to true the client will recompile this mod at every launch. While set to true the mod can't be uninstalled either. The Mod Launcher will automatically reset this value to false once it has been installed by another user.",
      "name": "IsDevelopment",
      "default": true
    },
    "Name": {
      "id": "http://parkitectnexus.com/mod-schema/Name",
      "type": "string",
      "title": "Name schema.",
      "description": "The name of your mod as displayed in the mod management of the ParkitectNexus Client.",
      "name": "Name",
      "default": ""
    },
    "Project": {
      "id": "http://parkitectnexus.com/mod-schema/Project",
      "type": "string",
      "title": "Project schema.",
      "description": "The name of your .csproj file.",
      "name": "Project",
      "default": ""
    },
    "ReferencedAssemblies": {
      "id": "http://parkitectnexus.com/mod-schema/ReferencedAssemblies",
      "type": "array",
      "title": "ReferencedAssemblies schema.",
      "description": "A list of assembly references used by this mod.",
      "name": "ReferencedAssemblies",
      "items": []
    }
  },
  "required": [
    "BaseDir",
    "EntryPoint",
    "Name"
  ]
}