Skip to content

Latest commit

 

History

History
75 lines (67 loc) · 3.5 KB

CCMOD-STANDARD.md

File metadata and controls

75 lines (67 loc) · 3.5 KB

ccmod.json format standard v1.0.1

Each option explained

  • id - Mod unique identifier. Not shown to the user
  • version - Uses the semver format
  • title - Title shown to users. Can be localized
  • description - Description shown to users. Can be localized
  • homepage (Optional) - Put your mod homepage link here (don't put your repository link here)
  • repository - Put your repository link here. Non GitHub links will be missing some CCModManager functionality
  • tags (Optional) - A list of mod tags. Read what tags are available below in Mod tag list. If the first tag is library CCModManager will hide the mod by default.
  • authors - Either a string or an array of mod authors
  • icons (Optional) - Mod icon. Currently only the size of 24x24 pixels is supported
  • dependencies (Optional) - Require certain mods for the mod to function. Uses the semver format
  • plugin (Optional) - Specifies the javascript file to run
  • preload (Optional) - Specifies the javascript file to run at the preload stage
  • postload (Optional) - Specifies the javascript file to run at the postload stage
  • prestart (Optional) - Specifies the javascript file to run at the prestart stage
  • poststart (Optional) - Specifies the javascript file to run at the poststart stage

Mod tag list

  • QoL - stands for "Quality of Life". Makes the playing experience smoother
  • player character - adds new playable characters and/or classes
  • party member - adds new playable characters and/or classes
  • combat arts - adds new combat arts
  • pvp duel - adds a pvp duel
  • arena - adds new arena cups
  • dungeon - adds a new dungeon
  • quests - adds new quests
  • maps - adds new content maps
  • boss - adds new bosses
  • puzzle - adds new puzzles or something puzzle related
  • ng+ - adds additional ng+ options
  • cosmetic - adds any kind of cosmetic things like skins, pets or menu skins
  • music - adds or replaces music and/or sounds
  • fun - fun things not necessarily useful
  • cheats - do things you're not supposed to do like spawn items or infinite gold
  • speedrun - helps speedrunners with speedruns or practice
  • widget - adds a CCUILib quick menu widget
  • language - adds a new language
  • accessibility - makes the game more accessible
  • dev - helps mod developers create mods
  • library - used by other mods. CCModManager hides these mods by default only if this tag is the first element
  • base - used by stuff like CCLoader
  • externaltool - reserved by tools like crosscode-map-editor, do not use in mods

Example ccmod.json

{
    "id": "crossedeyes",
    "version": "0.5.7",
    "title": "CrossedEyes",
    "description": "Accessibility mod for CrossCode",
    "repository": "https://github.com/CCDirectLink/CrossedEyes",
    "tags": ["accessibility"],
    "authors": ["krypek", "2767mr"],
    "icons": {
        "24": "icon.png"
    },
    "dependencies": {
        "input-api": ">=1.0.0",
        "cc-blitzkrieg": ">=0.4.7",
        "crosscode": ">=1.4.0"
    },
    "plugin": "plugin.js"
}

Typescript types for this can be found under build/src/types.d.ts ValidPkgCCMod.
JSON Schema for ccmod.json can be found here.