Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
grasscutters
GitHub Repository: grasscutters/grasscutter
Path: blob/development/plugin-schema.json
3153 views
1
{
2
"$schema": "http://json-schema.org/draft-07/schema#",
3
"title": "JSON schema for a Grasscutter Plugin",
4
"type": "object",
5
"additionalProperties": true,
6
"definitions": {
7
"plugin-name": {
8
"type": "string",
9
"pattern": "^[A-Za-z\\d_.-]+$"
10
}
11
},
12
"required": [
13
"name",
14
"description",
15
"mainClass",
16
"api"
17
],
18
"properties": {
19
"name": {
20
"description": "The unique name of plugin.",
21
"$ref": "#/definitions/plugin-name"
22
},
23
"mainClass": {
24
"description": "The plugin's initial class file.",
25
"type": "string",
26
"pattern": "^(?!org\\.bukkit\\.)([a-zA-Z_$][a-zA-Z\\d_$]*\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*$"
27
},
28
"version": {
29
"description": "A plugin revision identifier.",
30
"type": [
31
"string",
32
"number"
33
]
34
},
35
"api": {
36
"description": "The API revision the plugin is using.",
37
"type": "number"
38
},
39
"description": {
40
"description": "Human readable plugin summary.",
41
"type": "string"
42
},
43
"author": {
44
"description": "The plugin author.",
45
"type": "string"
46
},
47
"authors": {
48
"description": "The plugin contributors.",
49
"type": "array",
50
"items": {
51
"type": "string"
52
}
53
},
54
"website": {
55
"title": "Website",
56
"description": "The URL to the plugin's site",
57
"type": "string",
58
"format": "uri"
59
},
60
"loadAfter": {
61
"description": "Plugins to load before this plugin.",
62
"type": "array",
63
"items": {
64
"type": "string"
65
}
66
}
67
}
68
}
69
70