Plugins API
Information on the DRC Plugins API V3 (including themes).
Plugin Registry
Information on the registry.json file. All Plugins must be registered on registry.json if it is
to be searchable with the client.
The Plugin Registry can be found on GitHub Deeeep-Reef-Client/plugins-api.
To be registered, information about the plugin must be added under "list" in registry.json, in
the below format:
{
"name": "Your Plugin Name",
"id": "a-unique-id",
"type": "plugin **OR** theme",
"description": "Your plugin description",
"author": "Your name"
"version": "Any string"
"license": "Any string OR template"
}
Explanation:
Script Plugins
This is the required format of plugin.json if you are creating a Script Plugin (plugin that
executes code).
Explanation:
Under key "src", insert an array of scripts.
{
"name": "Your Plugin Name",
"id": "a-unique-id",
"description": "Description of your plugin",
"author": "Your name",
"src": [
{
"type": "Script type (see above)"
"src": "JavaScript code to be executed"
}
]
}
Plugin User Data
Plugins are encouraged to store configuration and data insettings.pluginUserData[<name of plugin>]
. Such a key will automatically be
created upon plugin installation and deleted upon plugin uninstallation as an empty object. Any data
structuring can be done with an Install script.
Auto Updater
There is an optional auto updater for plugins. This will compare theversion
key of the
Registry with the version of the installation, and install the plugin if the versions do not match.
The "update" Script type can be used to run reinitialisation procedures.
Theme Plugins
This is the required format of plugin.json if you are creating a Theme Plugin (a theme on the
Theme Maker).
This is the exact format generated by the Theme Maker export function, so it is only neccessary
to rename the file to plugin.json
{
"name": "Name of your theme",
"src": "CSS source",
"themedata": {},
"themetype": "theme OR advancedtheme",
"script": "String of script if themetype is advancedtheme"
}
Licensing
You can specify a license in the Registry. Do note that plugins without an explicit license are
implicitly licensed under the Unlicense.
.
Furthermore, the Deeeep.io Reef Client should be able to distribute the plugin withot violating
the license, or grant the DRC Project express permission to do so