Custom Crops

Add a crop: section to any item and the item becomes a seed: right-click farmland to plant a staged crop that grows over time, can be bonemealed, and drops configured loot when harvested fully grown.

# items/golden_wheat.yml
item:
  item: wheat_seeds
  name: "&6Golden Wheat Seeds"
  texture: item/golden_wheat_seeds

crop:
  stages:                        # lowest to highest; each needs a texture (or model)
    - texture: crop/golden_wheat_0
    - texture: crop/golden_wheat_1
    - texture: crop/golden_wheat_2
    - texture: crop/golden_wheat_3
  growth-time: 1200              # seconds from planted to fully grown
  requires-farmland: true        # false = plants on any solid block
  min-light: 9                   # growth pauses below this light level
  bonemeal: true                 # bonemeal advances one stage
  rain-multiplier: 1.5           # optional weather growth speeds (1 = neutral,
  thunder-multiplier: 2.0        # above 1 = faster, below 1 = slower)
  snow-multiplier: 0.5           # applies instead of rain in cold biomes
  drops:                         # broken fully grown; without this, drops the seed
    items:
      - item: ecoitems:golden_wheat
        amount: 1-3
      - item: ecoitems:golden_wheat_seeds_item   # seeds back
        amount: 1-2
    xp: 0-2
  immature-drops:                # broken early; default = the seed item
    items:
      - item: ecoitems:golden_wheat
        chance: 0.1

How growth works

  • Crops occupy stringblock (tripwire) states - one state per stage - so they render as cross-shaped plants with no collision and break instantly, like vanilla crops. Stage state assignments persist in block-variations.yml like any custom block.

  • Growth runs on a timer over loaded chunks. Time keeps counting while a chunk is unloaded, so crops catch up the moment the chunk loads.

  • If the block below stops being farmland (trampled, broken), the crop pops with its immature drops, vanilla-style. Water flowing into a crop breaks it too.

  • Breaking honors the same drop pipeline as custom blocks (fortune/silk options in the drops: table, eco DropQueue with telekinesis support), and protection plugins see real place/break events.