EverambleGAME API / 1

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

NameTypeMeaning
hitsPositiveCountAxe strokes that cut the plant down.
Range: 1…2147483647; Unit: count
idContentIdPackage-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
lootLootIdItems 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
modelNameFoliage 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}$
nameTextKeyLocalized plant label.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: text
produceFloraProduceFruit 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
trunkCollisionShapeUpright 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
  }
}