ModBuildings: Difference between revisions

From The Colonists
Jump to navigation Jump to search
No edit summary
→JSON: add monuments to building limit entry
 
(8 intermediate revisions by 2 users not shown)
Line 7: Line 7:
see details in [[BuildingCatModIds|Building Categories]] and [[ModUI|ui.json]] <br>
see details in [[BuildingCatModIds|Building Categories]] and [[ModUI|ui.json]] <br>


=Mod Building.json=
=JSON=
Table of main building.json entries:
Table of main building.json entries:
{| class="wikitable sortable" style="text-align: center"  
{| class="wikitable sortable" style="text-align: center"  
Line 19: Line 19:
| ageComponentsDict
| ageComponentsDict
| array
| array
| by level 1 to 3, see link ...
| by level 1 to 3, see [[ModageComponentsDicts|ageComponentsDict]]
|-
|-
| baseOffsets
| baseOffsets
Line 27: Line 27:
| doesHeightRequireModulus2
| doesHeightRequireModulus2
| boolean
| boolean
| some type of terrain height adjustment?
| some type of height adjustment? see [[Mods#Codex|Codex]] for Train Station
|-
|-
| customEntranceDirections
| customEntranceDirections
| array
| array
| alternate entrance(s) to 0,-1 tile
| entrance(s), alternate  to x=0,y=-1 tile
|-
|-
| maxAmount
| maxAmount
| integer
| integer
| number of building limiter (used by Trading Ships)
| number of building limiter (used by Trading Ships, Monuments)
|-
|-
| unitPositions
| unitPositions
Line 43: Line 43:
| requirements
| requirements
| array
| array
| see [[ModRequirementsTable|Table of requirements values]]
| unused/always empty?
|-
|-
| isAvailable
| isAvailable
Line 63: Line 63:
| componentInfos
| componentInfos
| array
| array
| building components - see ...
| building components - see [[ModcomponentInfos|componentInfos]]
|-
|-
| category
| category
Line 71: Line 71:
|}
|}


=Assets=
=Icon=
 
==Icon==
The image file shown for the building in the game interface. <br>
The image file shown for the building in the game interface. <br>
image file naming convention: ''building_200_L1.png'', ''building_200_L2.png''<br>
image file naming convention: ''building_200_L1.png'', ''building_200_L2.png''<br>
Line 79: Line 77:
Example file: [[File:Building_Bakery.png|64px|Bakery]]  
Example file: [[File:Building_Bakery.png|64px|Bakery]]  


==3D Models==
=3D Models=


[https://github.com/codebyfire/mod-content-creator Github3DModels]<br>
See [[ModsUnityAssetBundles]] for general information.<br>
For building selection. a collider should be sized appropriately, placed on Layer 9 (Content), and placed on the building top level (usually) to allow selection but not cover any resources inside the building that may need selection. See Chocolate Factory example: [[File:Code Example BuildingUnitCollider.png|64px|ExampleBuildingCollider]]  <br>
For building selection. a collider should be sized appropriately, placed on Layer 9 (Content), and placed on the building top level (usually) to allow selection but not cover any resources inside the building that may need selection. See Chocolate Factory example: [[File:Code Example BuildingUnitCollider.png|64px|ExampleBuildingCollider]]  <br>
<br>
<br>

Latest revision as of 15:58, 13 September 2024

Mod Buildings Translation.csv

List of fields used in translation.csv for Buildings Buildings Translation

Mod Buildings ui.json

Note buildings need an entry in ui.json to determine the order shown.
see details in Building Categories and ui.json

JSON

Table of main building.json entries:

Value Type Description
typeId integer building ID
ageComponentsDict array by level 1 to 3, see ageComponentsDict
baseOffsets array building tile information - see baseOffsets
doesHeightRequireModulus2 boolean some type of height adjustment? see Codex for Train Station
customEntranceDirections array entrance(s), alternate to x=0,y=-1 tile
maxAmount integer number of building limiter (used by Trading Ships, Monuments)
unitPositions array worker, repair, and stackbots - see UnitPositions
requirements array unused/always empty?
isAvailable boolean deprecated? used to hide buildings
constructionSiteIdleLoc array location of BuilderBot when idle
constructionSiteWorkerSubLocs array location(s) of BuilderBot when building
doesRequireLandOwnership boolean within existing player territory, always TRUE?
componentInfos array building components - see componentInfos
category integer Menu category for the building - see BuildingCatModIds

Icon

The image file shown for the building in the game interface.
image file naming convention: building_200_L1.png, building_200_L2.png
image file should be 128x128 pixel size with transparent background
Example file: Bakery

3D Models

See ModsUnityAssetBundles for general information.
For building selection. a collider should be sized appropriately, placed on Layer 9 (Content), and placed on the building top level (usually) to allow selection but not cover any resources inside the building that may need selection. See Chocolate Factory example: ExampleBuildingCollider

For buildings that adjust unit vertical location (such as Watchtowers), a collider should be added within a sub-game object (e.g. "FloorColliderHolder_L1") for the building level and placed on Layer 8 (Floor). See: ExampleFloorCollider and ExampleFloorColliderLayer
The unit will path to the top of the collider.
Specific Units to use Floor Colliders can be defined in FloorColliderUnitIdHash within render.json