123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "title": "JSON schema for a Grasscutter Plugin",
- "type": "object",
- "additionalProperties": true,
- "definitions": {
- "plugin-name": {
- "type": "string",
- "pattern": "^[A-Za-z\\d_.-]+$"
- }
- },
- "required": [
- "name",
- "description",
- "mainClass",
- "api"
- ],
- "properties": {
- "name": {
- "description": "The unique name of plugin.",
- "$ref": "#/definitions/plugin-name"
- },
- "mainClass": {
- "description": "The plugin's initial class file.",
- "type": "string",
- "pattern": "^(?!org\\.bukkit\\.)([a-zA-Z_$][a-zA-Z\\d_$]*\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*$"
- },
- "version": {
- "description": "A plugin revision identifier.",
- "type": [
- "string",
- "number"
- ]
- },
- "api": {
- "description": "The API revision the plugin is using.",
- "type": "number"
- },
- "description": {
- "description": "Human readable plugin summary.",
- "type": "string"
- },
- "author": {
- "description": "The plugin author.",
- "type": "string"
- },
- "authors": {
- "description": "The plugin contributors.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "website": {
- "title": "Website",
- "description": "The URL to the plugin's site",
- "type": "string",
- "format": "uri"
- },
- "loadAfter": {
- "description": "Plugins to load before this plugin.",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- }
|