Skip to content
These docs reflect Contracts v0.6.0, the latest release. Older servers may differ.

Harvest

Requires the player to harvest plants, whether they grew them or found them growing wild. Counts the yield amount taken.

{
"type": "Harvest",
"title": "Harvest pumpkins",
"description": "",
"amountRequired": 50,
"conditions": {},
"items": ["pumpkin"],
"source": "Planted"
}
Field Type Description
type string Exactly 'Harvest'.
title string Short, human-readable name. Must not be empty.
description string A blurb of 1 to 3 sentences. May be empty if the title is self-explanatory.
amountRequired integer (≥ 1) How many units must be completed. What a unit means depends on the objective type. Minimum 1.
conditions map Optional conditions that restrict when progress counts. Progress is recorded only when the objective's main requirement and all of these conditions are met. Use an empty map for none.
items string[] Harvested produce item shortNames (e.g. corn, pumpkin, black.berry). Empty = any plant.
source enum: Any/World/Planted Whether the harvested plant must be wild (World), player-grown (Planted), or either (Any).
  • Progress increments by the harvested item amount (the plant’s yield).
  • source filters by the plant’s origin: who it belongs to, not where it sits:
    • World: the plant grew wild (no owner).
    • Planted: a player grew it. A player-grown plant counts as Planted wherever it was grown, in a planter or in the ground.
    • Any: either.
  • In some cases, Harvest overlaps with Loot: picking a wild pumpkin is both a Harvest and a Loot. This is because both involve the same Rust event triggered (OnCollectiblePickup).
  • See also Cloning for taking cuttings and Plant for planting seeds.