Line 1: |
Line 1: |
| ← [[Modding:Index|Index]] | | ← [[Modding:Index|Index]] |
| | | |
− | {{Stub|Under Construction}} | + | {{Stub|Under construction}} |
| | | |
− | This page explains how the game uses BluePrints for Buildings and Animals. This is an advanced guide for mod developers. | + | This page explains how the game uses blueprints to construct buildings. This is an advanced guide for mod developers. |
| | | |
| ==Data== | | ==Data== |
| ===Raw data=== | | ===Raw data=== |
− | BluePrints are stored in <tt>Content\Data\Blueprints.xnb</tt>, which can be [[Modding:Creating an XNB mod#unpacking|unpacked using XNB Extract]]. Here's the raw data (as of 1.2) for reference:
| + | Blueprints are stored in <tt>Content\Data\Blueprints.xnb</tt>, which can be [[Modding:Creating an XNB mod#unpacking|unpacked using XNB Extract]]. Here's the raw data (as of 1.2.29) for reference: |
| | | |
− | {| class="mw-collapsible mw-collapsed" | + | {{collapse|Code|content=<source lang="yaml"> |
− | ! style="text-align: left;" | '''Code'''
| |
− | |-
| |
− | |<source lang="yaml"> | |
| content: #!Dictionary<String,String> | | content: #!Dictionary<String,String> |
| Silo: "390 100 330 10 334 5/3/3/-1/-1/-2/-1/null/Silo/Allows you to cut and store grass for feed./Buildings/none/48/128/-1/null/Farm/100/false" #!String | | Silo: "390 100 330 10 334 5/3/3/-1/-1/-2/-1/null/Silo/Allows you to cut and store grass for feed./Buildings/none/48/128/-1/null/Farm/100/false" #!String |
Line 40: |
Line 37: |
| Pig: "animal/2000/64/96/Pig/These are specially trained to find truffles./null/Farm" #!String | | Pig: "animal/2000/64/96/Pig/These are specially trained to find truffles./null/Farm" #!String |
| </source> | | </source> |
− | |}
| + | }} |
| | | |
| ===Format=== | | ===Format=== |
− | The file contains two types of data: | + | The file contains data fields delimited by <code>/</code>, with two formats: |
| | | |
| <ul> | | <ul> |
− | <li>"Animal" type. These BluePrints start with <nowiki>animal</nowiki>. For example, consider this entry: | + | <li>Animal buildings (denoted by the first field being <tt>animal</tt>), like this entry: |
| | | |
| <source lang="yaml"> | | <source lang="yaml"> |
Line 52: |
Line 49: |
| </source> | | </source> |
| | | |
− | This data means that....</li>
| + | The fields for animal buildings are... |
| | | |
− | <li>"Building" type. This is any other BluePrint other than an animal. Take a look at this BluePrint entry: | + | {| class="wikitable" |
| + | |- |
| + | ! index |
| + | ! field |
| + | ! example |
| + | ! explanation |
| + | |- |
| + | |colspan="4"| TODO |
| + | |}</li> |
| + | |
| + | <li>Any other entry, like this one: |
| | | |
| <source lang="yaml"> | | <source lang="yaml"> |
− | Barn: "388 350 390 150/7/4/1/3/3/3/Barn/Barn/Houses 4 barn-dwelling animals./Buildings/none/96/96/4/null/Farm/6000/false" #!String | + | Barn: "388 350 390 150/7/4/1/3/3/3/Barn/Barn/Houses 4 barn-dwelling animals./Buildings/none/96/96/4/null/Farm/6000/false" |
| </source> | | </source> |
− |
| |
− | Each entry item is separated by a <code>/</code> character (as the delimiter).
| |
| | | |
| {| class="wikitable" | | {| class="wikitable" |
| |- | | |- |
− | ! Type | + | ! index |
− | ! Example Entry | + | ! field |
− | ! Explanation | + | ! example |
| + | ! explanation |
| |- | | |- |
− | | itemsRequired | + | | 0 |
− | | 388 350 390 150 | + | | <tt>itemsRequired</tt> |
− | | These are the Items `required` for purchase. It goes <code>ingredientNumber amount</code>. In this case the items are 350 Wood(338) and 150 Stone(390) | + | | ''388 350 390 150'' |
− | |} | + | | The items required for purchase, consisting of {{t|item ID}} {{t|amount}} pairs. The example specifies 350 Wood (item ID 338) and 150 Stone (item ID 390). |
| + | |- |
| + | |colspan="4"| TODO |
| + | |}</li> |
| + | </ul> |
| + | |
| + | [[Category:Modding]] |