mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-28 05:39:10 +07:00
Instructions for setting up schemas on Visual Studio
This commit is contained in:
@ -15,3 +15,17 @@ As of now, only Buildings.json has a proper schema
|
||||
|
||||
Tada! Now Android Studio will recognize all Buildings.json files as belonging to that schema, and will warn you of inconsistencies!
|
||||
|
||||
## Using VSCode
|
||||
|
||||
- ctrl-shift-p, search "open user settings (json)", enter
|
||||
- Copy this into the settings:
|
||||
```json
|
||||
"json.schemas": [
|
||||
{
|
||||
"fileMatch": [
|
||||
"*/Buildings.json"
|
||||
],
|
||||
"url": "https://raw.githubusercontent.com/yairm210/Unciv/14c5d9eb177cee719843336512b587780b59c452/docs/Modders/schemas/buildings.json"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
@ -2,48 +2,52 @@
|
||||
"$schema": "http://json-schema.org/draft-07/schema",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": { "type": "string" },
|
||||
"uniques": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"pattern": "^[^><]*(\\<[^>]*\\>[^><]*)*$"
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/stats"},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": { "type": "string" },
|
||||
"uniques": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"pattern": "^[^><]*(\\<[^>]*\\>[^><]*)*$"
|
||||
},
|
||||
"uniqueItems": true // Can't imagine you mean to include the same thing twice
|
||||
},
|
||||
"civilopediaText": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "#/definitions/civilopediaText"}
|
||||
},
|
||||
"requiredTech": { "type": "string" },
|
||||
"cost": { "type": "number" },
|
||||
"maintenance": { "type": "number" },
|
||||
"percentStatBonus": { "$ref": "#/definitions/stats" },
|
||||
"specialistSlots": { "type": "object" },
|
||||
"greatPersonPoints": { "type": "object" },
|
||||
"hurryCostModifier": { "type": "number" },
|
||||
"isWonder": { "type": "boolean" },
|
||||
"isNationalWonder": { "type": "boolean" },
|
||||
"requiredBuilding": { "type": "string" },
|
||||
"requiredResource": { "type": "string" },
|
||||
"requiredNearbyImprovedResources": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" }
|
||||
},
|
||||
"cityStrength": { "type": "number" },
|
||||
"cityHealth": { "type": "number" },
|
||||
"replaces": { "type": "string" },
|
||||
"uniqueTo": { "type": "string" },
|
||||
"quote": { "type": "string" },
|
||||
"replacementTextForUniques": { "type": "string" }
|
||||
},
|
||||
"uniqueItems": true // Can't imagine you mean to include the same thing twice
|
||||
},
|
||||
"civilopediaText": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "#/definitions/civilopediaText"}
|
||||
},
|
||||
"requiredTech": { "type": "string" },
|
||||
"cost": { "type": "number" },
|
||||
"maintenance": { "type": "number" },
|
||||
"percentStatBonus": { "$ref": "#/definitions/stats" },
|
||||
"specialistSlots": { "type": "object" },
|
||||
"greatPersonPoints": { "type": "object" },
|
||||
"hurryCostModifier": { "type": "number" },
|
||||
"isWonder": { "type": "boolean" },
|
||||
"isNationalWonder": { "type": "boolean" },
|
||||
"requiredBuilding": { "type": "string" },
|
||||
"requiredResource": { "type": "string" },
|
||||
"requiredNearbyImprovedResources": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" }
|
||||
},
|
||||
"cityStrength": { "type": "number" },
|
||||
"cityHealth": { "type": "number" },
|
||||
"replaces": { "type": "string" },
|
||||
"uniqueTo": { "type": "string" },
|
||||
"quote": { "type": "string" },
|
||||
"replacementTextForUniques": { "type": "string" }
|
||||
},
|
||||
"required": [
|
||||
"name"
|
||||
"required": [
|
||||
"name"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
],
|
||||
"allOf": [{ "$ref": "#/definitions/stats"}],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"definitions": {
|
||||
"stats": {
|
||||
|
Reference in New Issue
Block a user