CONTENT CONTRACT · VERSION 1
flora
A harvestable plant of generated maps: a bush or fruit tree that axes cut and hands pick.
Signature
{ hits: PositiveCount, id: ContentId, kind: "flora", loot: LootId, model: Name, name: TextKey, produce: (FloraProduce)?, scale_permille: {PositiveCount}, trunk: (CollisionShape)? }Fields
| Name | Type | Meaning |
|---|---|---|
hits | PositiveCount | Axe strokes that cut the plant down. Range: 1…2147483647; Unit: count |
id | ContentId | Package-qualified identity; unique within its declaring namespace. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$ |
kind | "flora" | Discriminant |
loot | LootId | Items the cut plant drops on the ground. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: loot |
model | Name | Foliage prototype `flora:<model>` of the map's world library drawn while ripe or without produce. Length: 1…96; Pattern: ^[a-z][a-z0-9_]{0,95}$ |
name | TextKey | Localized plant label. Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: text |
produce | FloraProduce | Fruit or berries that hands shake or pick and axe strokes knock down; absent plants bear nothing. |
scale_permille | {PositiveCount} | Smallest and largest uniform size of a placed plant in thousandths. Items: 2…2; Unit: permille |
trunk | CollisionShape | Upright trunk that blocks movement, measured from the plant's cell centre; absent plants are walked through. |
Validated example
{
"hits": 8,
"id": "core:apple_tree",
"kind": "flora",
"loot": "core:fruit_tree_wood",
"model": "apple_tree",
"name": "core:apple_tree_name",
"produce": {
"bare_model": "apple_tree_bare",
"loot": "core:apple_harvest",
"regrow_ticks": 18000
},
"scale_permille": [
850,
1050
],
"trunk": {
"height_mm": 1700,
"radius_mm": 180
}
}