Skip to content

Recipe Format

deonjonker123 edited this page Jun 13, 2026 · 2 revisions

Recipe Format

All planter and raised bed recipes are JSON files loaded from data/<namespace>/recipe/planter/.

Crop Recipe

Type: agritechtwo:crop

File location: data/agritechtwo/recipe/planter/crop/<mod_id>/<seed_name>.json

{
  "type": "agritechtwo:crop",
  "seed": "modid:seed_item",
  "soils": [
    "#agritechtwo:farmland_soils",
    "modid:some_specific_block"
  ],
  "drops": [
    {
      "item": "modid:crop_item",
      "min": 2,
      "max": 4,
      "chance": 1.0
    },
    {
      "item": "modid:seed_item",
      "min": 1,
      "max": 1,
      "chance": 0.2
    }
  ]
}

Fields

Field Type Description
type string Must be agritechtwo:crop
seed string Item ID of the seed
soils array List of valid soil item IDs or tag references (#namespace:tag)
drops array List of drop entries (see below)

Drop Entry Fields

Field Type Description
item string Item ID of the drop
min int Minimum count per harvest
max int Maximum count per harvest
chance float Probability of this drop (0.0–1.0)

Tree Recipe

Type: agritechtwo:tree

File location: data/agritechtwo/recipe/planter/tree/<mod_id>/<sapling_name>.json

{
  "type": "agritechtwo:tree",
  "sapling": "modid:sapling_item",
  "soils": [
    "#agritechtwo:tree_soils"
  ],
  "drops": [
    {
      "item": "modid:log_item",
      "min": 2,
      "max": 6,
      "chance": 1.0
    },
    {
      "item": "modid:fruit_item",
      "min": 1,
      "max": 3,
      "chance": 1.0
    },
    {
      "item": "modid:sapling_item",
      "min": 1,
      "max": 1,
      "chance": 0.2
    }
  ]
}

Tree recipes use sapling instead of seed. The field names for drops are identical.

Notes

  • Soils can be a mix of tag references (#namespace:tag) and individual item IDs. Use tag references wherever possible — they automatically pick up new entries without recipe changes.
  • The chance field on drops is independent per entry. Multiple drops can all fire on the same harvest.

Clone this wiki locally