.ship overview
While generally it better to create and edit .ship files using one of available tools, knowing file structure may prove useful for rare manual edits.
TBD - Not sure what better to have: commented json example or table. Table would work better with syntax examples while json may be more confusing and harder to read.
TBD - Maybe spliting out more complex parts ("builtInWeapons", "weaponSlots", "engineSlots"), of .ship in separate table makes sence if not doing "commented json" approach
| Field | Syntax Example | Description |
|---|---|---|
| "hullName" | "hullName":"My ship", | |
| "hullId" | "hullid":"myshipid", | The unique hullId specified in the corresponding ship_data.csv entry. This is what links these pieces of data together, not the filename of the .ship file. Case sensitive. |
| "hullSize" | ||
| "spriteName" | ||
| "style" | ||
| "height" | ||
| "width" | ||
| "center" | ||
| "collisionRadius" | ||
| "shieldCenter" | ||
| "shieldRadius" | ||
| "viewOffset" | ||
| "builtInMods": [] | ||
| "builtInWeapons" | "builtInWeapons": |
|
| "weaponSlots" | ||
| "engineSlots" | ||
| "bounds" |
{
"builtInMods": ["fluxshunt"],
"builtInWeapons": {
"WS 001": "flak",
},
"coversColor": "",
"engineSlots": [
{
"angle": 180,
"contrailSize": 64,
"length": 24,
"location": [-27,45],
"style": "MIDLINE",
"width": 8
},
],
"hullId": "monitor",
"hullName": "Monitor",
"hullSize": "FRIGATE",
"spriteName": "graphics/ships/monitor_ff2.png",
"height": 70,
"width": 110,
"viewOffset": 0,
"style": "MIDLINE",
"center": [55,30],
"collisionRadius": 85,
"shieldCenter": [-1,0],
"shieldRadius": 80,
"weaponSlots": [
{
"angle": 80,
"arc": 210,
"id": "WS 001",
"locations": [3,43],
"mount": "TURRET",
"size": "MEDIUM",
"type": "BUILT_IN"
}
],
"bounds": [
5,54,
33,0,
4,-53,
-23,-46,
-26,-27,
-19,-24,
-18,0,
-19,23,
-27,25,
-24,46
],
}