1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113{
"$id": "https://raw.githubusercontent.com/yairm210/Unciv/refs/heads/master/docs/Modders/schemas/Techs.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Technologies",
"description": "A list of technologies, including their costs, prerequisites, and effects.",
"type": "array",
"items": {
"type": "object",
"properties": {
"columnNumber": {
"type": "integer",
"minimum": 0,
"title": "Column Number",
"description": "Horizontal placement in the Tech Tree. 0 is the leftmost column."
},
"era": {
"type": "string",
"title": "Era",
"description": "Determines era reached after researching any technologies in this column. Must be in Eras.json.",
"examples": [
"Ancient era",
"Classical era",
"Medieval era",
"Renaissance era",
"Industrial era",
"Modern era",
"Atomic era",
"Information era",
"Future era"
]
},
"techCost": {
"type": "integer",
"title": "Tech Cost",
"description": "Default science cost for techs in this column.",
"default": 0
},
"buildingCost": {
"type": "integer",
"title": "Building Cost",
"description": "Default cost of buildings requiring this tech."
},
"wonderCost": {
"type": "integer",
"title": "Wonder Cost",
"description": "Default cost of wonders requiring this tech."
},
"techs": {
"type": "array",
"title": "Technologies",
"description": "List of technologies that are presented in this column.",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "The name of the technology.",
"examples": [
"Agriculture",
"Animal Husbandry",
"Archery",
"Bronze Working",
"Calendar",
"Masonry"
]
},
"row": {
"type": "integer",
"title": "Row",
"description": "Vertical placement in the Tech Tree, must be unique per column.",
"minimum": 1
},
"cost": {
"type": "integer",
"title": "Cost",
"description": "Science cost of this technology. Overrides the column techCost."
},
"uniques": {
"$ref": "refs/Uniques.schema.json",
"description": "List of unique abilities this technology grants."
},
"prerequisites": {
"type": "array",
"items": {
"type": "string",
"title": "Prerequisite",
"description": "A Technology that is required to be researched prior."
},
"title": "Prerequisites",
"description": "Names of technologies that must be researched before this tech can be researched. Only direct prerequisites are necessary.",
"uniqueItems": true
},
"civilopediaText": {
"$ref": "refs/CivilopediaText.schema.json",
"description": "Civilopedia entry describing this technology."
},
"quote": {
"type": "string",
"title": "Quote",
"description": "Text that is presented to the player when they finish researching this technology."
}
},
"required": ["name", "row"],
"additionalProperties": false
}
}
},
"required": ["columnNumber", "era"],
"additionalProperties": false
}
}