GT New Horizons 2.9

CropsNH Complete Guide

Everything you need to know about CropsNH β€” from placing your first crop stick to farming Diareed at tier 12. Mechanics researched from the mod's source code. Corrections and feedback welcome.

v2.0.91 Β· Daily build 609 GTNH 2.9 Beta 2 Agricraft fork Replaces IC2 Crops
How to use this guide
Each section has a TL;DR β€” the essential takeaway in plain English. Click "Show Details" beneath it to reveal the full technical explanation. If you just want to play, the TL;DRs are enough. If something isn't working or you want to optimize, open the spoiler.

Getting Started

⚑ Before You Plant Anything
This isn't vanilla farming where you just throw seeds in dirt and wait. If the setup is wrong the crop either does nothing, grows painfully slow, or gets sick and starts spreading sickness to everything next to it β€” and there's no error message telling you why. Here's what you need to check first:

  • 🌍 Wrong soil = nothing grows. Most food crops want farmland (hoe the dirt). Ore and metal crops need stone. Zomplant and Corpseplant need TiC Graveyard Soil. You can't just plop a Ferrofern on farmland and wonder why it won't sprout.
  • ⛏ Some crops also care about what's TWO blocks down. Ore berries won't grow without their matching ore block sitting under the soil β€” iron ore under Ferrofern, tin ore under Tine, a diamond block under Diareed. Stone on top alone isn't enough. Check the Mutation Calculator for each crop's block-under requirement.
  • πŸ—Ί Your biome matters more than you'd think. Crops grow faster in biomes they like. Put a tier 6 ore crop in a biome it hates and it'll get sick before it ever matures. Open the Production Calculator, type your biome name, pick the crop β€” if it shows SICK, move the farm or pick something else for that location.
  • πŸ’§ Get a Crop Manager set up before you walk away. It fills each crop stick's internal water and fertilizer storage. Note: this is separate from farmland hydration β€” for farmland crops you still need a water block within 4 blocks of the farmland to keep it tilled. Without WeedEx in the machine, weeds will spawn in empty crop sticks and spread sickness to your parents.
Once that's sorted: place two crop sticks on valid soil, plant a parent seed in each, then right-click one of those sticks with another crop stick to double them up β€” that creates the cross-crop stick in the middle. That's where new mutations appear.

Step-by-step setup

1
Check the soil requirement
Look up your crop in the Mutation Calculator β€” it shows the required soil type (yβˆ’1) and block under soil (yβˆ’2) for every crop. Prepare the ground accordingly before placing anything.
2
Check your biome
Open the Production Calculator, enter your biome name, pick your crop. If the nutrient score is too low for the crop's tier, it will show SICK. Either move your farm or choose a different crop for that location.
3
Prepare the soil layers
For farmland crops: till dirt with a hoe, make sure there's water nearby to keep it tilled. For stone-soil crops: place stone, cobblestone, or stone brick. For ore berries: stone on top, ore block one layer below the stone.
4
Place crop sticks and plant
Craft crop sticks: 1 log + Saw + File β†’ 2 GT Long Sticks; 4 GT Long Sticks β†’ 4 crop sticks. Place on valid soil. Right-click with your seed to plant. Plant a second parent one block away. Right-click a planted crop stick with another crop stick to create the cross-crop between them.
5
Add a Crop Manager and wait
Place a Crop Manager nearby stocked with water, fertilizer, and WeedEx. It fills each crop's internal storage β€” not the farmland. For farmland crops, also place a water source block within 4 blocks to keep farmland tilled. Parents must reach β‰₯80% growth before they can breed. Once mature they stay there and breed indefinitely. Note: the Crop Manager does not auto-replant or remove seeds β€” that is always done manually by the player.
When it's not working β€” things to check
Nothing is happening β€” no growth at all: most likely nutrients are too low for the crop's tier. When that happens, the game rolls Resistance against the crop's bad luck each crop tick β€” at Resistance 31 it always sits quietly dormant, but at lower Resistance there's a real chance it turns sick (green) instead. Check the Production Calculator β€” if it shows SICK, you need a better biome, more fertilizer, or a lower-tier crop. Also check block-under: ore berries and ore crops need their specific ore block two layers down.
Tried to plant a seed and got a "wrong soil" message: CropsNH tells you directly and refuses to plant on wrong soil β€” so if planting worked but nothing is growing, soil is NOT the problem. Look at nutrients and block-under instead.
Farmland keeps turning back to dirt: needs a water source within 4 blocks. The Crop Manager fills crop water storage but does not hydrate farmland β€” that requires a water block nearby (vanilla mechanic).
Crop turned green and stopped growing: it's sick. Use a Plant Cure to restore it, then fix the root cause β€” usually nutrients too low or weed spread. Sickness itself never kills the plant β€” but see the weed warning below, since weeds are a separate threat that can.
Weeds appearing: weeds spread sickness to adjacent crops β€” they don't destroy or replace them. When a weed tries to spread toward an occupied crop stick, the code calls transferDisease(), which sets the neighbour sick. The only way a weed actually overwrites an existing crop is through the autonomous weed-spawn mechanic on an empty stick, not through spreading. A crop deflects an incoming weed only when it has WeedEx storage and Resistance β‰₯ Growth at that moment β€” WeedEx alone is not enough if Growth has crept above Resistance. Existing weeds are never removed automatically. Remove weeds manually with the CropsNH Spade or Reinforced Spade, or by breaking the crop stick. If a weed has nowhere to spread β€” no crop stick at all in that direction β€” it instead converts the Dirt or Farmland under that spot to Grass and plants tall grass on top, so an unchecked weed problem can spread into your base's terrain too.

Step 1: Pick Your Biome Before You Build

⚑ TL;DR β€” Most Important Thing
Your biome gives bonus nutrients to crops that "like" that biome. More nutrients = faster growth. Some crops need specific biomes to grow at all without getting sick. Use the Production Calculator β€” type your biome name, pick a crop, and it instantly shows you the nutrient score and time to mature. Set up your farm in a biome that matches what you want to grow.
  • 🌿 Jungle or Swamp β€” best all-around for most crops
  • πŸ”₯ The Nether β€” mandatory for Ardite, Cobalt, Nether Wart
  • β›° Extreme Hills / Highland (BoP) β€” ore crops (Ferrofern, Tine, ore berries)
  • 🏜 Savanna / Mesa β€” Coppon, Copper/Gold ore berries

Each crop has a list of liked biome tags from Forge's BiomeDictionary (e.g. PLAINS, HOT, NETHER). If your farm's biome has 1 matching tag, you get +14 nutrients. Two matching tags gives +28 nutrients. These are huge bonuses β€” the difference between a crop growing healthily and getting sick.

Nutrient formula

nutrients = 5 (base) + waterBonus + fertBonus + skyBonus + max(humidityBonus, biomeTagBonus)
waterBonus = floor((min(water,100)+9)/10)  // max +10 at full storage
fertBonus = floor((min(fert,100)+9)/10)  // max +10 at full storage
skyBonus = 2 if crop can see sky directly
biomeTagBonus = min(2, matchedLikedTags) Γ— 14  // max +28, capped at 2 tags even if more match
humidityBonus = clamp((biomeRainfall βˆ’ 0.5) / 0.3, 0, 1) Γ— 14  // max +14, free even with 0 matched tags
// humidityBonus and biomeTagBonus do NOT stack β€” only the larger of the two applies

The Production Calculator handles all of this β€” just select your biome and crop and it tells you everything.

Key biome locations in GTNH

  • Personal Dimension (Mystcraft): You can write the biome you want. Jungle at high humidity is extremely powerful for mid-game farms.
  • Nether: Has both HOT and NETHER tags β€” gives +28 to Ardite, Cobalt, Nether Wart, Tearstalks, StickyCane.
  • End: Has END and COLD tags β€” gives +28 to Enderbloom, Void Ore Berry, Diareed.

Farm Layouts

⚑ TL;DR β€” Novice
For breeding: put two parent crops next to each other with an empty cross-crop stick between them. That's it. For production: fill a grid with your desired crop, harvest when mature, repeat. A 9Γ—9 area on farmland gives you 81 crop sticks for maximum output.
  • 🧬 Breeding layout: Parent β€” Cross β€” Parent (in a line)
  • πŸ“¦ Production layout: Solid grid, all same crop, auto-harvest with Crop Manager
  • πŸ”€ Checkerboard layout: Alternating crop / empty for mixed breeding

Basic breeding line

Minimum setup: Parent A β€” Cross-crop β€” Parent B. The cross-crop only checks the 4 cardinal directions (N/S/E/W) β€” diagonals don't count.

🌱
✚
🌱

4-parent breeding (for 4-way recipes like Ardite Ore Berry)

Some mutations require 4 specific parent species. Place one parent on each cardinal side of the cross-crop:

🌿
🌿
✚
🌿
🌿

Production grid

Once you have your desired crop with good stats, fill a flat grid with all the same crop on farmland. A Crop Manager harvests automatically when mature and refills with seeds from a buffer chest. 9Γ—9 is a common size that fits within a single Crop Manager's range at higher tiers.

🌾
🌾
🌾
🌾
🌾
🌾
🌾
🌾
🌾
🌾
🌾
🌾
🌾
🌾
🌾

Stat-up layout

There's no special layout required by the code β€” the cross-crop stick simply checks its four cardinal neighbours (N/S/E/W) for crops that can cross or breed. What matters practically is that your target crop has a cross-crop stick adjacent, and that cross-crop stick has two copies of the same crop as neighbours. The traditional "checkerboard" pattern (crops on corners, cross-crop sticks in between) is a community convention that achieves this efficiently, but it's not anything the source enforces. Any layout where a crop has a double-cropstick adjacent and that stick can see two copies of the same crop works identically.

With identical-species neighbours, the spreading path picks one at random, returns that same species, and averages stats only from neighbours of the matching species. Fertilizer in all contributing neighbours triggers the no-drop guarantee. Two identical parents means both need fertilizer storage > 0.

⭐
✚
⭐
✚
⭐
✚
⭐
✚
⭐
Pro tip
Keep breeding farms small (1–4 cross-crop slots at a time). Larger farms breed faster but produce more unwanted crops to manage.

Soil & Block Layout

⚑ TL;DR
The block directly under the crop stick must be the right soil type. Some crops also need a specific block one layer below that. Both must match or the crop won't grow.
  • Most food/mob crops need farmland (tilled dirt with a hoe)
  • Ore and metal crops need stone
  • Ore berries need stone on top, specific ore block below that
  • Zomplant / Corpseplant need Graveyard Soil (TiC block)

Every crop stick sits on a soil block. Two distinct checks happen at different Y levels:

y+0Crop StickTile entity here
yβˆ’1Soil blockchecked by getSoilTypes()
yβˆ’2Block under soilchecked by BlockUnderRequirement

The soil check applies to the cross-crop stick (the output stick), not the parent sticks. A mutation result is discarded if the cross-crop's soil doesn't match β€” the entire breeding tick is wasted. No retry within that tick.

Exploiting soil filtering
Corium is in 4 pools (Cow, Silk, Tendrilly, Milk) totaling 17 possible pool-mutation outputs. Of those, only Corpseplant needs graveyard soil β€” everything else needs farmland or stone. Place graveyard soil under the cross-crop stick and breed two Coriums: every other pool result gets soil-rejected, leaving Corpseplant as the only crop that can actually land. (Zomplant also needs graveyard soil but is in entirely different pools β€” it's not reachable from Corium at all, with any soil.)

All Soil Types

⚑ TL;DR
The two most important soils to know: Farmland (right-click dirt with a hoe) for most crops, and Stone for all ore/metal crops. Everything else is a special case.
SoilBlocks acceptedCrops (64 total on Farmland alone β€” full list in the Mutation Calculator)
FarmlandTilled dirt, Enchanted Earth, Ztones Garden Soil64 crops β€” most food crops (Wheat, Carrot, Potato, Melon, Cocoa...), mob crops (EggPlant, Spidernip, Creeperweed...), berries (Strawberry, Blueberry, Grape...)
Dirt / GrassDirt, Grass, Podzol28 crops β€” all 9 vanilla flowers (Dandelion, Poppy, tulips...), all 7 standard Bonsai variants, Lemon, Meatrose, Slimeplant, Indigo, Cinderpearl, Shimmerleaf, Glowflower, Bamboo
StoneStone, Cobblestone, Stone Brick, Chisel/TiC variants60 crops β€” all 10 Stone Lily variants, every metal crop (Ferrofern, Coppon, Tine, Nickelback, Galvania...), all 12 Ore Berries, Withereed, Diareed, Rubyne (note: on farmland, not stone β€” verify per-crop), Steeleafranks (also needs Twilight Forest Steeleaf block at yβˆ’2)
Graveyard SoilTiC CraftedSoil:3Zomplant, Corpseplant β€” only these two
Sugarcane SoilSand, Sandstone, Dirt, or Grass (compound)Sugar Cane, Sticky Cane
Soul SandSoul SandNether Wart (tier 5, breedable). Also Gaia Wart (tier 5) β€” requires a Snow Block directly under the soil (yβˆ’2). To obtain it: grow a Nether Wart crop to maturity on Soul Sand, then right-click it repeatedly with Snow Blocks (not snowballs) until it converts into a Gaia Wart crop. Gaia Wart has no mutation recipe and isn't a member of any pool, so it can't be bred from anything β€” this right-click conversion is the only way to get it. Terra Wart is no longer craftable in 2.9.
SandSand, SandstoneCactus, Saguaro Cactus β€” only these two
NetherrackNetherrack + Chisel/TiC variants9 crops β€” Evil Ore, Glowheat, Eyebulb, Blightberry, Duskberry, Skyberry, Stingberry, Thornvine, Blazereed
Nether MushroomStone, Dirt, Mycelium, Netherrack (compound)All 4 Glowshroom variants (Blue, Green, Purple, and base Glowshroom β€” Natura)
Thaumcraft LogsGreatwood Log, Silverwood LogMana Bean β€” only this one
BrickBrick BlockTrollplant (+ special catalysts)

Rubyne and Diareed are listed in Stone in earlier drafts of this guide but are actually verified as Farmland and Stone respectively β€” soil assignments above are pulled directly from each crop's real entry, not retyped by hand. If you spot a discrepancy, check the crop directly in the calculator rather than trust this summary table blindly.

Trample-proof Farmland variants
Three specific blocks are fully immune to crop trampling regardless of the crop's own Resistance stat: Ztones Garden Soil, Enchanted Earth, and Fertilized Dirt. All three register on the Farmland soil type, so any farmland crop can use them as a drop-in replacement for ordinary Farmland with zero trample risk from animals or sprinting players β€” useful for a starter farm before your seeds reach Resistance 31 on their own.

Seed Stats

⚑ TL;DR
Seeds have three numbers: Growth / Gain / Resistance (each 1–31).
  • Growth β€” how fast it matures. Higher = quicker to full stage
  • Gain β€” how much it drops per harvest. Higher = more items
  • Resistance β€” protects against weeds and sickness. All stats are beneficial β€” Resistance does not hurt growth. At exactly 31, a crop stick is immune to being broken by running entities. Falling trample ignores Resistance entirely β€” even at R31 a big enough fall will break the crop. Use trample-immune soil (Garden Soil, Enchanted Earth, Fertilized Dirt) if you need full protection.
Target 31/31/31. Stats can only go up when fertilizer is in the contributing parent(s) β€” a single parent is sufficient for stat-up.

Stats range 1–31 (from Constants.java). When a new crop is bred, each stat is calculated as:

newStat = clamp( average(parentStats) + random(-2, +4), 1, 31 )
// if ALL contributing parents have fertilizer storage > 0:
newStat = clamp( average(parentStats) + random(0, +4), 1, 31 ) // can only improve

Gain formula for drop rounds: dropChance Γ— 1.03^Gain. Gain 31 gives 2.5Γ— more drop rounds than Gain 1. This is the most important stat for production farms.

Resistance has three separate effects, none of which touch the growth-speed formula itself β€” getGrowthRate() only takes nutrientPoints, tier, and Growth as inputs. First, every crop tick a crop fails to gain growth (insufficient nutrients for its tier), the game rolls Resistance against a random 0–30 β€” succeed and the crop just sits idle; fail and it goes sick. At exactly 31 that roll can never fail, so a permanently-undernourished crop stays dormant forever instead of turning sick. Second, that same roll governs seed return when breaking a crop β€” low Resistance means breaking often yields no seed. Third, Resistance 31 makes a crop stick immune to breakage from running entities β€” but falling trample ignores Resistance entirely at any value, including 31. To protect against falls, use a trample-immune soil (Garden Soil, Enchanted Earth, Fertilized Dirt). Target 31/31/31 for all three Resistance benefits at once.

⚠ Weed spreading
Crops with Growth β‰₯ 24 spread weeds to adjacent empty crop sticks if Resistance < Growth. Having Resistance β‰₯ Growth prevents outward spreading only if WeedEx is also stocked β€” without WeedEx, the crop will spread weeds regardless of Resistance. Stats cannot drop from WeedEx β€” that mechanic is IC2-only and does not exist in CropsNH.

Growth Formula

⚑ TL;DR
Every 12.8 seconds each crop gains growth points. When it hits its target (depends on tier), it's mature. Higher tier crops take longer and need more nutrients to not get sick. A tier 10 crop in the wrong biome without fertilizer will get sick and stop growing entirely.
  • Use the Production Calculator to see exact time to mature for your setup
  • Sky access, water, fertilizer, and biome all increase nutrients β†’ faster growth
  • If the calculator shows SICK, you need more nutrients
scaled = nutrients Γ— 5
needed = cropTier Γ— 10
base = 6 + Growth

if scaled β‰₯ needed:
    growthRate = base Γ— (100 + scaled βˆ’ needed) / 100
else:
    growthRate = max(0, base Γ— (100 βˆ’ (needed βˆ’ scaled) Γ— 4) / 100)

// growthRate = 0 β†’ crop is SICK (stops growing, spreads sickness)
// Default growth duration: tier Γ— 600 growth points (CropBonsai overrides to a flat 1200)

How the biome bonus is actually calculated

The bonus isn't just "matched tag or not" β€” there are two separate values and the game takes whichever is larger:

humidityBonus = clamp((biomeRainfall βˆ’ 0.5) / 0.3, 0, 1) Γ— 14
likedTagBonus = matchedLikedTags Γ— 14
biomeBonus = max(humidityBonus, likedTagBonus)
// They do NOT stack β€” max() picks the higher one

This means a biome with rainfall β‰₯ 0.8 gives +14 to every crop unconditionally β€” even if the crop has zero liked biome matches. Jungle (0.9), Swampland (0.9), Forest (0.8), and Temperate Rainforest (1.2) all hit the cap. Birch Forest at 0.6 gives a partial +4. Desert at 0.0 gives nothing. Exact rainfall for any biome is shown in the Production Calculator when you select it.

If a crop has two matched liked tags (+28) and the biome also has high humidity (+14), the +28 wins β€” they don't add together. The Production Calculator handles all of this automatically from your selected biome.

Growth rate is added every 256 game ticks (12.8 seconds). Verified example: Ardite Ore Berry (tier 5, likes NETHER+HOT) in Hell (HOT, DRY, NETHER tags, rainfall 0.0) with Growth 31, full water/fertilizer, no sky bonus β€” matches both liked tags for +28, giving nutrient score 53 and a real time-to-mature of ~5.5 minutes. Run this yourself in the Production Calculator to confirm or to check a different crop/biome combination.

The Breeding Tick

⚑ TL;DR
Every 12.8 seconds, each cross-crop stick has a 1-in-3 chance to try breeding. If it tries, there's a 50/50 coin flip: either clone one of the parents (spreading), or attempt a mutation. Parents must be at β‰₯80% growth to participate.
1
Roll 1-in-3
Random 0–2. Only proceeds if roll = 0. Two thirds of all crop ticks do nothing.
2
Find eligible neighbours
All 4 cardinal neighbours checked. Must have a crop, no weed, and growth β‰₯ 80%. Below 80% = invisible to this crop tick.
3
50/50 β€” Spread or Breed
nextBoolean(). If spreading wins but no canCross() neighbour exists, it falls through to breed. If breed path wins, deterministic recipes are checked first, then pool mutations as fallback.
4
Soil validation
After a result is chosen, the game checks if the result crop's soil matches the cross-crop's soil block. If it doesn't match β€” the entire crop tick is wasted. No retry.
5
Plant result
Stats averaged from parents Β± random variation (-2 to +4 per stat). Fertilizer in all parents locks variation to 0 to +4.
Since parents stay at 100% while breeding
Once parent crops are fully mature and you're not harvesting them, they stay there indefinitely. The 80% threshold is only relevant during the initial ramp-up. At 31 Growth, most crops reach 80% in a few minutes.

Spreading β€” Cloning

⚑ TL;DR
The spreading path always produces a copy of an existing parent. It never creates a new species. With two identical parents (e.g. Corium + Corium), spreading always gives back Corium. But the other 50% of crop ticks (the breed path) can still mutate into other crops via pool mutations. Two Coriums absolutely can produce Corpseplant β€” just not via spreading.

The game filters all neighbours to those passing canCross() (has crop, no weed, growth β‰₯ 80%), picks one at random, and returns that crop's species. It never creates a new species β€” only a clone of one parent.

Important fallback: If the 50% roll picks the spreading path but no parent passes canCross(), the spreading path is skipped and the breed path runs instead. The 50/50 split is not a hard wall.

Same species Γ— 2 (e.g. Corium + Corium):

  • Spreading (50% of crop ticks): Always returns Corium β€” cloning
  • Breed path (50% of crop ticks): Deterministic check is skipped (deduplication makes parent list size < 2). Falls to pool mutations, which CAN produce Meatrose, MilkWart, Corpseplant, Flax, etc.

Breed Path β€” Mutations

⚑ TL;DR
On the breed path the game looks for mutations in two ways, in order:
  • 1. Deterministic recipe β€” exact parent match (like a crafting recipe). Fast, predictable. The Mutation Calculator shows these as "βœ“ Direct".
  • 2. Pool mutation β€” if no recipe matches, picks a random pool both parents belong to, then a random crop from that pool. Slower, random, but opens many possibilities.

Deterministic Mutations

A specific recipe: e.g. Ferrofern ← StoneLily + BlackGraniteLily. If both parent species are present as neighbours, this recipe can fire. The parent list is deduplicated before lookup, so two of the same crop (Corium + Corium) will never match a deterministic recipe β€” the deduped list has only 1 entry, which is < 2 required.

If multiple deterministic recipes match your parent combination, one is chosen at random β€” each has equal probability.

Pool Mutations

Every crop is registered to 0–7 named pools (tags like METALLIC, EDIBLE, TENDRILLY). Pool mutations fire when no deterministic recipe matches. The parent list is NOT deduplicated for pool checks β€” so Corium + Corium counts as two Corium entries, and any pool containing Corium matches.

Selection: pick a random matching pool β†’ pick a random member of that pool β†’ return it. Crops in more pools have proportionally higher effective chance because they appear in more "lottery tickets."

Rarity is structural, not explicit
There are no weight values in the code. A crop in 6 pools effectively has 6Γ— higher chance than a crop in 1 pool when all 6 pools match. Stingberry (7 pools) is one of the most likely pool outputs when nether + toxic + berry parents are involved.
Using the same crop twice dilutes every pool it's in
Breeding a crop against itself (instead of a different pool-sharing partner) doesn't narrow the odds β€” it widens them. Every pool that crop belongs to becomes active at once, and the random pick still has to land on one specific member among all of them combined. This hurts most with crops sitting in large pools like Food or Flower, since you're now competing against everyone else in every one of those pools simultaneously rather than just the smaller overlap you'd get from two different, more targeted parents.

Soil Filtering

⚑ TL;DR
The soil under your cross-crop stick acts as a filter. If a mutation result needs different soil than what's there, the crop tick is wasted and nothing happens. This only filters results that are already reachable from your specific parents β€” it doesn't open up new crops just because they share that soil type. Example: breeding Corium + Corium on graveyard soil filters out everything except Corpseplant, since that's the only graveyard-soil crop actually reachable from Corium's pools. Zomplant also needs graveyard soil but isn't reachable from Corium at all (different pools) β€” picking graveyard soil doesn't make it appear.

The soil check happens AFTER getBreedingResult() picks a result. If the soil doesn't match, attemptBreeding() returns false β€” the crop tick is wasted, no retry, no fallback path.

This means your effective mutation probability is: P(result chosen) Γ— P(result's soil matches cross-crop soil). Placing a soil that only one or two pool members require can dramatically focus your output.

Graveyard soil trick (Corium + Corium)
On graveyard soil:
β€’ Spreading path always gives Corium β†’ soil is farmland β†’ rejected, crop tick wasted
β€’ Pool results: Meatrose, MilkWart, Flax, Hemp, Vine, Cucumber, etc. β†’ all need farmland β†’ rejected
β€’ Only Corpseplant (TENDRILLY pool) β†’ needs graveyard β†’ succeeds
β€’ Result: P(Corpseplant) = ~0.52%/tick = ~2.4%/min = ~28 min median wait

Probability & Timing

⚑ TL;DR
A crop tick happens every 12.8 seconds. Each tick has a 1-in-3 chance of trying to breed. Use the Mutation Calculator for exact times β€” it shows minutes, not percentages. A typical deterministic mutation takes 1–5 minutes. A pool mutation for a specific crop can take 10–60 minutes depending on pool size.
P(det output X) per crop tick = (1/3) Γ— 0.5 Γ— (1/numDetMatches)
P(pool output X) per crop tick = (1/3) Γ— 0.5 Γ— Ξ£_pools [ 1/numMatchingPools Γ— 1/poolSize ]

Expected crop ticks = 1 / P
Expected time = crop ticks Γ— 12.8s
Median time = log(0.5) / log(1βˆ’P) Γ— 12.8s (1 crop tick = 256 game ticks)
P per crop tick/min = 1 βˆ’ (1βˆ’P)^4.6875
Mutation typeTypical probability/tickTypical mean time
1 deterministic match, 1 recipe~8.3%~2.5 min
1 deterministic match, 3 recipes competing~2.8%~7.5 min
Pool, target in 1 pool of 5, pool has 8 members~1%~21 min
Pool, soil filter leaves only 1 valid result~0.5%~42 min

The Graveyard Soil Trick

⚑ TL;DR
Put TiC Graveyard Soil under your cross-crop stick, then breed Corium + Corium. Corium is in 4 pools totaling 17 possible pool outputs, but only Corpseplant needs graveyard soil β€” everything else gets rejected. Median wait: about 46 minutes.
MetricValue
P(Corpseplant) per tick~0.321% (1 in ~312 crop ticks)
P per minute~1.49%
Median time~46 min
Expected (mean) time~67 min
90% confidence~153 min

Formula: Corpseplant is in the TENDRILLY pool (13 members, not 9 β€” verify against the Mutation Calculator directly rather than a hand count, since pool membership changes between versions). Corium is in 4 pools (COW, SILK, TENDRILLY), all 4 match (same-species breeding), one is picked at random each crop tick. P = (1/3) Γ— 0.5 Γ— (1/3 pools) Γ— (1/13 members in TENDRILLY) = ~0.321%/tick. These numbers come directly from running the actual calculator engine on this exact pairing+soil combination β€” pull up Corium Γ— Corium on Graveyard Soil yourself to verify.

Crop Priority by Game Era

⚠ Work in progress
This section is placeholder content written from personal experience up through MV/HV. Content past that point is incomplete or missing β€” my knowledge of EV+ crops and late-game priorities is still being developed as I progress. If you have suggestions, corrections, or experience with higher-tier content, feedback is very welcome.
⚑ TL;DR
Early game: food and basic material crops. Mid game: Corium, Ferrofern, Coppon, ore berries. Late game: Diareed, Rubyne, Enderbloom, Titania. Always use the Production Calculator to confirm your biome gives you the nutrient bonus for whatever you're farming.
🌱 Early Game (LV–MV)
  • Wheat / Carrot / Potato β€” food, easy starters
  • Flax β†’ string without spiders
  • Corium β†’ leather passively
  • BonsaiOak β†’ wood + saplings
  • SugarCane β†’ paper for circuits
  • StickyCane β†’ sticky resin (rubber source)
  • Spidernip β†’ string + webs
  • EggPlant β†’ eggs, feathers, chicken
βš™ Mid Game (HV–EV)
  • Ferrofern β†’ ferrofern leaf (process in Macerator/Extractor β†’ iron)
  • Coppon β†’ copper fiber (process β†’ copper)
  • Tine β†’ tine twig (process β†’ tin)
  • Galvania β†’ galvania leaf (process β†’ zinc for brass)
  • IronOreBerry β†’ drops a TinkerConstruct Ore Berries item (iron variant) β€” smelt it into an iron nugget, then craft 9 nuggets β†’ 1 ingot
  • CopperOreBerry β†’ same TiC Ore Berries mechanic, copper variant
  • Corpseplant β†’ drops a mix of Bone Meal (62.5%), Rotten Flesh (25%), and Bone (12.5%) per harvest
  • Nickelback β†’ nickelback leaf (process β†’ nickel for invar)
  • Lazulia β†’ lapis for circuits
  • Creeperweed β†’ gunpowder
πŸ’Ž Late Game (IV+)
  • Diareed β†’ diamonds (T12, needs diamond block)
  • Rubyne / Sapphirum β†’ GT gem materials
  • Enderbloom β†’ ender pearl dust (process for ender pearl)
  • ArditeOreBerry β†’ ardite nuggets (TiC)
  • CobaltOreBerry β†’ cobalt nuggets (TiC)
  • Tearstalks β†’ ghast tears
  • ThaumiumOreBerry β†’ thaumium
  • Withereed β†’ skull chance
  • Auronia β†’ gold processing
Processing note
Two different drop mechanics exist among metal crops. Leaf/fiber/twig crops (Ferrofern, Coppon, Tine, Galvania, Nickelback, Argentia, Auronia, Plumbilia) drop a custom CropsNH item β€” process in a GT Macerator or Extractor for low tiers, Forge Hammer + Acid Bath for higher tiers. Ore berry crops (IronOreBerry, CopperOreBerry, etc.) instead drop a TinkerConstruct "Ore Berries" item β€” smelt it directly into the matching metal's nugget, then 9 nuggets craft into 1 ingot. Separately: nuggets of the matching metal (e.g. iron nuggets for IronOreBerry) can also be used as a duplication catalyst in the GT Seed Generator multiblock to clone that crop's seed β€” an unrelated mechanic to processing the actual drop. Check NEI for exact recipes.

Best Biomes for Your Farm

⚑ TL;DR
Set up dedicated farm locations for different crop groups. Biome tags are verified directly against GTNH's actual biome table (temperature/rainfall/tags) β€” not vanilla Forge defaults, since GTNH uses its own world generation and most vanilla Overworld biomes aren't even used. Numbers below are the real per-tag match, not estimates.
  • πŸ” Extreme Hills (MOUNTAIN, HILLS) β€” Ferrofern, Tine, StoneLily, IronOreBerry, TinOreBerry all hit both tags for +28. Best single biome for ore/metal crops.
  • πŸ”₯ The Nether / Hell (HOT, DRY, NETHER) β€” Ardite OreBerry, Cobalt OreBerry, and Nether Wart each match 2 tags for +28. Tearstalks and StickyCane only match 1 tag (+14).
  • 🌴 Jungle (HOT, DENSE, WET, JUNGLE) β€” BonsaiJungle and Cocoa hit 2+ tags for +28. Good general mid-game biome β€” most food/tropical crops pick up at least +14.
  • 🏜 Savanna (HOT, SPARSE, SAVANNA, PLAINS) β€” Coppon, CopperOreBerry, and Carrot all match 2 tags for +28.
  • 🌡 Mesa (MESA, SANDY) β€” GoldOreBerry and Auronia match both tags for +28. Most other "desert-flavored" crops only get +14 here (SANDY alone).
  • πŸ’€ Roofed Forest (DENSE, SPOOKY, FOREST) β€” Withereed, Corpseplant, Creeperweed each only match SPOOKY for +14, not +28 β€” there's no single vanilla/RWG biome that double-matches these three.
  • 🌌 The End / Sky (COLD, DRY, END) β€” Enderbloom matches both COLD and END for +28.

All biome tags and rainfall values below come directly from GTNH's biome table (temperature, rainfall, BiomeDictionary tags per biome ID). Crop liked-biome tags come from the decompiled CropsNH jar. Every bonus number is the actual min(2, matchedTags) Γ— 14 calculation β€” not approximated.

Recommended farm locations

The Nether (Hell)
HOTDRYNETHER
Best for: ArditeOreBerry (+28, HOT+NETHER), CobaltOreBerry (+28, DRY+NETHER), NetherWart (+28, HOT+NETHER). Weaker matches: Tearstalks (+14, NETHER only β€” its other tag is DEAD), StickyCane (+14, HOT only β€” its other tags are WET/SANDY, neither present here). Keep light level ≀ 10 for ore berries. Stone soil + ore blocks underneath.
Extreme Hills
MOUNTAINHILLS
Best for: Ferrofern (+28), Tine (+28), StoneLily (+28), IronOreBerry (+28), TinOreBerry (+28) β€” all of these like exactly MOUNTAIN+HILLS, a perfect double match. Rubyne only gets +14 here (its other liked tag is RIVER, not present). The single best biome for stone-soil ore crops β€” nearly every metal crop likes this exact tag pair.
Savanna
HOTSPARSESAVANNAPLAINS
Best for: Coppon (+28, HOT+SAVANNA), CopperOreBerry (+28, HOT+SAVANNA), Carrot (+28, HOT+PLAINS). Weaker: Nickelback (+14, PLAINS only), Corium (+14, PLAINS only), Diareed (+14, SPARSE only β€” its other tag COLD isn't present in a hot biome).
Jungle
HOTDENSEWETJUNGLE
Best for: BonsaiJungle (+28, matches all 4 of its liked tags but capped at 2 β†’ +28), Cocoa (+28, WET+DENSE+JUNGLE, capped at 2), StickyCane (+28, WET+HOT). Weaker: Spidernip (+14, WET only β€” its other tag is LUSH). Most HOT-liking crops (ArditeOreBerry, Netherwart, Coppon, CopperOreBerry, Carrot, Lazulia) pick up +14 here from the HOT tag alone, even without a dedicated jungle farm.
Roofed Forest
DENSESPOOKYFOREST
Best for: Withereed (+14), Corpseplant (+14), Creeperweed (+14) β€” all three only match SPOOKY here (their other liked tag, DEAD, isn't one of this biome's tags). No double-match exists for these in this biome β€” check biome ID 119 "Wasteland" or 56 "Crag" for a DEAD+SPOOKY combination if you want the full +28 for the mob-crop family. Corium and BonsaiJungle/Cocoa pick up +14 from FOREST/DENSE respectively.
The End (Sky)
COLDDRYEND
Best for: Enderbloom (+28, COLD+END β€” a perfect double match). Diareed only gets +14 here (COLD matches, but its other tag SPARSE doesn't). CobaltOreBerry and Hemp pick up +14 from DRY. Note: no sky-bonus nutrient applies in The End since there's no real "sky" to see in the traditional sense β€” verify in-game if this matters for your setup.
Mesa
MESASANDY
Best for: GoldOreBerry (+28), Auronia (+28) β€” both like exactly MESA+SANDY. Everything else with a SANDY-adjacent liked tag (StickyCane, Coppon, CopperOreBerry, Carrot, Lazulia, Hemp) only picks up +14 here since none of them also like MESA specifically.

Humidity bonus β€” the hidden free nutrient

Every biome has a rainfall value (0.0 to ~1.2 in GTNH's table). The formula is clamp((rainfall βˆ’ 0.5) / 0.3, 0, 1) Γ— 14 β€” so rainfall β‰₯ 0.8 gives the full +14 regardless of any liked-tag match, and rainfall ≀ 0.5 gives +0. This is a real, separate bonus from biome tags, calculated from GTNH's actual per-biome rainfall value, not a flat assumption. The Production Calculator looks this up automatically β€” type your exact biome name and it shows the real rainfall and resulting bonus.

The game takes whichever is larger: the humidity bonus or the liked-tag bonus. They do not stack. A crop already getting +28 from two matched tags gets nothing extra from humidity. But a crop with zero matched tags in a high-rainfall biome (e.g. Mega Taiga at rainfall 0.8, or Rainforest at rainfall 1.0) still gets +14 for free.

Note on biome names: GTNH's world generation mixes vanilla, Biomes O' Plenty, and Realistic World Generation biomes, and many vanilla Overworld biomes don't actually generate in a real GTNH world even though they exist in the biome table. If a biome name from this guide doesn't show up when you search the Production Calculator, check the in-game biome name directly (F3 debug screen or a Crop Lens) rather than assuming the name maps 1:1 to vanilla Minecraft.

Statting Up Your Crops

⚑ TL;DR
To get 31/31/31 stats: place one high-stat copy of the crop next to a cross-crop stick. The spreading path clones it β€” inheriting stats from just that one parent Β± variation. With fertilizer in the parent, variation is 0 to +4 so stats can only go up. Keep clones with better stats, replace the parent, repeat.
  • βœ… Single parent works via the cross/clone path β€” more efficient than breeding two parents for pure stat-up
  • βœ… Fertilizer in every contributing parent = stats can only improve (variation 0 to +4) for that result
  • ❌ Missing fertilizer in any contributing parent = stats can drop by up to 2 per trait on that result
  • 🎯 Target: Growth 31, Gain 31, Resistance 31

Stats on a new crop = average(parentStats) + random(-2, +4) per trait. If every contributing parent has fertilizer storage > 0, the roll becomes average + random(0, +4) instead β€” can only improve, never drop. "Contributing parents" means whichever crops actually produced this result: on a 2-parent breed, that's both of them; on the cross/clone path with one matching neighbour, it's just that one.

The spreading path picks one parent species, filters all neighbours to just that species, then uses only those as stat contributors. A single parent is sufficient for stat-up via spreading β€” one high-stat parent next to an empty cross-crop stick, fertilizer in that parent, and the clone's stats can only improve. For a normal 2-parent breed producing a mutation, fertilizer must be in both parents for the no-drop guarantee to apply. Stat drops only happen on a breed-path result without full fertilizer coverage β€” not from WeedEx, not from being sick.

Efficient strategy:

  1. Get one copy of your target crop with any stats
  2. Place it as the sole parent next to a cross-crop stick, fertilizer in the parent
  3. Collect clones, keep any that improved, discard the rest
  4. Replace the parent with your current best and repeat
  5. Each generation can only improve with fertilizer in the parent
Spread rate
With two identical parents at 100% growth: spreading fires on ~16.7% of crop ticks (~78%/min). You get frequent stat rolls. At 4.69 crop ticks/min this means roughly 3–4 stat rolls per minute at ideal conditions.

Weed Management

⚑ TL;DR
Weeds are the main way crops get sick. When a weed spreads toward an occupied crop stick, it calls transferDisease() β€” which makes the neighbour sick, nothing more. Weeds do not destroy or replace crops through the spread mechanic. A crop only deflects an incoming weed when it has WeedEx storage and Resistance β‰₯ Growth at that moment β€” both conditions together, not WeedEx alone. WeedEx itself does not kill existing weeds β€” remove those manually with the CropsNH Spade or Reinforced Spade. Keep WeedEx stocked via Crop Manager or apply it manually, and keep Resistance β‰₯ Growth for full protection. There is no stat reduction risk from WeedEx in CropsNH.
ToolEffectRisk
WeedExPrevents weeds spawning in empty sticks (drains 5 units). Prevents crops getting sick when weeds spread to them (drains 2 units). Does NOT remove existing weeds.None β€” the IC2 stat-reduction mechanic does not exist in CropsNH
SpadeCropsNH item (not a GT tool). Removes existing weeds manually. On a right-click harvest of a mature crop: gives produce AND returns a seed at res/31 odds, then destroys the crop. Breaking (left-click) at any maturity gives back a seed via the same resistance check but the crop is destroyed β€” net seed gain is zero.None
Reinforced SpadeSame as Spade but seed return on a mature right-click harvest is guaranteed: floor(Resistance/10) seeds plus a remainder-weighted chance at one more. Caps at 4 seeds with Resistance 31.None
Resistance β‰₯ GrowthNecessary but not sufficient to stop outward weed spreading. Must be combined with WeedEx storage to take effect.None β€” Resistance is strictly beneficial
Resistance β‰₯ Growth + WeedEx stockedBoth together unconditionally deflect incoming weed spread onto this crop (consumes 5 WeedEx per deflection), and also stop this crop from spreading weeds outward. WeedEx is required for both effects β€” Resistance β‰₯ Growth alone without WeedEx does not block either direction.This combo doesn't help if the crop is sick from a separate cause (nutrients) β€” see the Stats section for how Resistance 31 prevents nutrient sickness specifically

Weeds spawn in empty crop sticks at a config-controlled rate. A mature crop spreads weeds to neighbours only if Growth > 24 AND Resistance < Growth. Having Resistance β‰₯ Growth stops outward weed spreading only when combined with WeedEx storage β€” without WeedEx, the crop will still spread weeds even with Resistance β‰₯ Growth. If a weed has no crop stick to spread onto in the direction it picks, it instead converts Dirt or Farmland directly beneath that spot into Grass and plants tall grass on top β€” left unchecked, weeds can eat into the terrain around your farm. Separately, on an empty cross-crop stick, weed-spawning and breeding compete for the same crop tick: if the breeding roll fails, the spot becomes eligible to spawn a weed instead.

Automation & Tools

⚑ TL;DR
  • Crop Manager (GT, LV–UV) β€” waters, fertilizes, applies WeedEx, harvests. Does not auto-replant or remove seeds β€” that's always manual. Use for production farms.
  • Industrial Farm (GT, MV+ multiblock) β€” simulates crop growth internally, no physical crop sticks. Sky access and weather irrelevant. Add upgrade units (biome, harvesting, fertilization) for better output. Best endgame mass production.
  • World Accelerator (GT, Tile Entity mode) β€” speeds up crop ticks. Place on your cross-crop stick to breed faster.
  • Spade / Reinforced Spade (CropsNH) β€” right-click harvest a mature crop to get produce plus a seed return (res/31 chance for Spade; guaranteed formula for Reinforced Spade). Breaking any crop at any maturity returns the seed via resistance check but destroys the crop (net zero). Both also remove weeds.
  • Crop Lens (CropsNH) β€” analyze a growing crop in-world to see its type and stats without harvesting.
  • Plant Cure (CropsNH) β€” right-click a sick (green) crop to cure it.
Machine / ToolTierFunctionNotes
Crop ManagerLV–UV (GT)Waters, fertilizes, applies WeedEx, harvestsTops off each crop's water storage automatically β€” no biome or rainfall requirement, it just refills from its own internal tank. Does NOT auto-replant or remove seeds β€” that is always manual. Range and harvest chance scale with tier. Keep a seed buffer chest adjacent for replanting.
Industrial FarmMV+ (GT multiblock)Simulates crop growth internally, mass outputNo physical crop sticks needed. One crop type at a time. Sky access and weather irrelevant β€” hydration and sky bonuses are maxed automatically. Upgrade units (biome, harvesting, fertilization, OC) slot into the top layer. Best endgame mass production. 4Γ— the seed bed drop bonus of the Crop Manager.
World AcceleratorAny (GT)Accelerates crop tick rateUse Tile Entity mode, place on cross-crop stick. Multiplies breeding attempts per real second.
SpadeCropsNH itemRight-click harvest mature crop: gives produce + seed at res/31 odds, destroys crop. Breaking any crop at any maturity: returns seed at same odds, destroys crop (net zero).Not a GT tool. Also removes weeds manually.
Reinforced SpadeCropsNH itemSame as Spade but seed return on mature right-click harvest is guaranteed: floor(Resistance/10) seeds plus a chance at one more from the remainder. Up to 4 at Resistance 31.Strictly better than Spade for seed farming once Resistance climbs past ~10. Also removes weeds.
Crop LensCropsNH itemAnalyzes a growing crop in-world (no seed bag needed)Use this to check crop type and stats without harvesting. Useful during breeding to identify mutations early.
Plant CureCropsNH itemCures a sick (green) cropRight-click a sick crop to restore it. Essential if you have valuable high-stat parents that went sick.

Tier Reference

⚑ TL;DR
Higher tier = longer to mature, needs more nutrients to not get sick. Tiers 1–4 are easy anywhere. Tiers 5–7 need full water, fertilizer, and ideally a liked biome. Tiers 8+ practically require the Industrial Farm β€” set it up with biome upgrade units for the crop's preferred biome tags to maximize output.
TierNutrient needGrowth duration (tierΓ—600, except Bonsai family = flat 1200)Example crops
T110600 ptsWheat, Potato, all 7 Bonsai variants*, BrownMushroom
T2201200 ptsCarrot, Melon, Pumpkin, SugarCane, Vine, Dandelion, Poppy
T3301800 ptsCocoa, Cactus, Zomplant, Cotton, FloweringVine
T4402400 ptsStickyCane, Canola, Rubyne, Sapphirum, Glowheat, Spidernip
T5503000 ptsNether Wart, Hemp, Tine, Nickelback, Corpseplant, IronOreBerry
T6603600 ptsFerrofern, Coppon, Galvania, Corium, Slimeplant, EggPlant
T7704200 ptsArgentia, Lazulia, Creeperweed, Meatrose, ThaumiumOreBerry
T8804800 ptsWithereed, Auronia, Tearstalks, Liveroot
T9905400 ptsMicadia, Titania, GodOfThunder
T101006000 ptsEnderbloom, Steeleafranks β€” practically requires Industrial Farm
T111106600 ptsPlatina
T121207200 ptsDiareed, Pyrolusium, Reactoria, StarWart β€” Industrial Farm strongly recommended
T131307800 ptsSpaceFlower, MagicalNightshade
T161609600 ptsPrimordialBerry β€” highest tier in the database

*Bonsai growth duration is hardcoded to a flat 1200 regardless of tier β€” they're all tier 1 but take as long as a tier-2 crop would by the standard formula.

Tier 5+ checklist
β˜‘ Full water storage (Crop Manager)
β˜‘ Full fertilizer storage
β˜‘ Sky access (+2 nutrients)
β˜‘ At least 1 liked biome tag matched (+14 minimum)
β˜‘ Check the Production Calculator β€” if it shows SICK, move the farm

Leveling Every Crop β€” Computed Farm Plan

⚑ TL;DR
Stat-up itself doesn't care about biome at all β€” fertilizer and repetition do the work. Biome only matters for keeping a crop's growth rate above zero so it reaches breeding maturity in the first place. The plan below was computed by scoring every real GTNH biome's tags against every crop's liked tags, and the breeding order below was checked against the actual breed-path source rather than assumed.
  • Maloberry is the fastest crop that bridges both pool clusters β€” tier 2, only 200 growth points (about a quarter of Potato's wait), sitting in both EDIBLE and YELLOW, the same two pools Potato uses to reach the rest of the food cluster and the flower cluster. Mod requirements aren't a real concern here β€” Natura, Biomes O' Plenty, and Twilight Forest are all standard, mandatory parts of GTNH.
  • Breeding that one crop against a second copy of itself can land on a different crop entirely β€” same-species pairs still roll the pool-mutation breed path, not just the self-clone path. Whatever drops inherits the parents' stats already maxed.
  • This needs two separate physical setups, not one. The food-cluster crops need Farmland; Dandelion/Poppy need Dirt or Grass. Swapping the soil under a living crop to something it can't grow on triggers a real, destructive "invalid soil" handler β€” there's no way to fish both pools from a single plot.
  • Best single farm biome: Canyon (DRY, HILLS, HOT, MOUNTAIN, SANDY, SPARSE) β€” covers 93 of 176 crops with liked-biome data, 45 at the full +28 bonus.
  • Best two-biome combo: Canyon + Fungi Forest β€” 152 of 176 covered, because their tags don't overlap at all and cover two completely different crop families.
  • Add Crag for the DEAD/SPOOKY/WASTELAND mob-crop cluster, and FrozenOcean for the COLD/SNOWY/OCEAN stragglers. FloweringVine and Plumbilia share no tag with any of these four β€” they'll rely on the humidity floor or a fifth dedicated stop.

Potato isn't actually the fastest option β€” and "starter" means more than the five base crops

Wheat, Carrot, Potato, Dandelion, and Poppy are directly plantable because each one registers a real-world item as an alternate seed β€” Wheat Seeds, a Carrot, a Potato, and so on. That same mechanic exists on 85 other crops in the database, most of them gated behind a specific mod (Natura, Biomes O' Plenty, Twilight Forest) rather than vanilla Minecraft. Several of them grow far faster than any of the original five, and some bridge pools more usefully too. Treat the five base crops as a baseline, not the full set of starting options. Note (updated v2.0.91): Water Artichoke (Witchery) now also has an alternate seed β€” if you have Witchery artichokes growing nearby, you can plant them directly.

Among every alternate-seed crop, Torchberry (Twilight Forest) has the shortest growth duration in the entire database at 150 points β€” about 14.6 seconds to 80% maturity under a solid nutrient setup, versus Potato's ~75 seconds. It's also the most restrictive: it only grows at light level 10 or below, and its only pool (BERRY) doesn't touch EDIBLE or FLOWER at all, so it's a fast dead end rather than a bridge to the rest of the tree.

A cluster of tier-2, 200-growth-duration berries β€” Strawberry, Blueberry, Blackberry, Raspberry, Huckleberry, Maloberry, and BoP Berry β€” are all roughly four times faster than Potato (about 19.4 seconds to 80%) and all sit in EDIBLE, so any of them can fish the same 39-member pool Potato does. Maloberry (Natura) is the standout: it's the only one of these that's also in YELLOW, the same bridge pool Potato uses to reach Dandelion β€” meaning Maloberry alone covers everything Potato covers, at roughly a quarter of the wait. BoP Berry (Biomes O' Plenty) takes a different bridge instead, sitting in RED alongside Poppy directly, reaching the flower cluster from the other end.

All of these β€” Torchberry, Maloberry, BoP Berry, and the rest of the berry cluster β€” also have a real deterministic breeding recipe (e.g. Maloberry from OrangeTulip + Blueberry), which doesn't matter here since the alternate-seed path skips breeding entirely: any of these can be planted straight from the real in-world item with no breeding step at all. BoP Berry's source item is confirmed directly in source as a Biomes O' Plenty food drop, and generic Natura/Twilight Forest documentation describes their berry bushes as common, naturally-generating Overworld features β€” but GTNH heavily customizes world generation (Realistic World Gen, restricted biome lists), so whether any specific bush spawns at the rate or frequency you'd expect isn't something this guide can confirm from the decompiled crop code alone. If you can find one of these growing wild, planting it directly is faster than growing a Potato from scratch β€” if not, breeding the deterministic recipe or starting from Potato both still work.

The actual mechanic: same-species breeding still rolls for mutations

It's tempting to assume two copies of the same crop can only ever clone each other. They can't β€” MutationPool.isMatch() counts each parent slot against pool membership without removing duplicates first, so a list of two identical parents still registers two valid hits against any pool that crop belongs to. The 50/50 coin flip between spreading and the breed path happens regardless of whether the two parents are the same species; landing on the breed path with two copies of the same crop still checks every pool it belongs to for a pool-mutation result exactly the way two different crops would. Whatever comes out inherits the parents' stats, already maxed, with no separate stat-up step required.

Why this needs two farms, not one

The catch is soil. Maloberry, Potato, Carrot, and Wheat all need Farmland. Dandelion and Poppy need Dirt or Grass. A mutation result gets rejected outright if the soil under the cross-crop stick doesn't match what that specific result needs β€” so a Farmland setup can roll Carrot or Wheat all day but will simply waste every crop tick that would've landed on Dandelion. Swapping the soil itself isn't a workaround either: the moment the block under an already-planted crop changes to something invalid for it, the game runs a dedicated invalid-soil handler on that crop, rather than just leaving it idle. Plan for two separate cross-crop setups:

  1. Farmland setup: max one Maloberry via the cross/clone path (single parent, fertilizer present), then pair it with a second maxed, fertilized Maloberry on the breed path. Fish EDIBLE and YELLOW here for Carrot, Wheat, and anything else those pools contain β€” all come out already maxed.
  2. Dirt/Grass setup: once a maxed Dandelion drops from the Farmland setup, move (or re-grow) it onto Dirt or Grass, then pair it with a second maxed, fertilized Dandelion. Fish FLOWER (29 members) here for Poppy.

Everything else that happens to drop from EDIBLE (36 other members), YELLOW (7 other members), or FLOWER (27 other members) along the way comes out maxed too, as a free side effect of running either loop β€” there's no need to chase those individually.

How the biome locations were picked

Every crop's liked-biome tags were checked against every real GTNH biome's actual tag list (not vanilla Forge defaults β€” GTNH runs mostly BoP/RWG biomes, and most vanilla Overworld biomes aren't even generated). For each biome, a coverage score was computed: min(2, matchedTags) Γ— 14, summed across all 179 crops. Canyon won outright among single biomes. For a second location, the top 30 biomes were paired against each other, scoring each crop by whichever side of the border gave it the better bonus β€” Canyon + Fungi Forest won because their tag sets don't overlap at all, so together they cover two completely different crop families instead of doubling up on the same one.

LocationTagsCrops best served here*At full +28
CanyonDRY, HILLS, HOT, MOUNTAIN, SANDY, SPARSE9045
Fungi ForestWET, LUSH, MAGICAL, MUSHROOM, FOREST, SWAMP6128
CragDRY, SPOOKY, DEAD, MOUNTAIN, WASTELAND128
FrozenOceanCOLD, OCEAN, SNOWY136

*"Best served here" means this location gives that crop a better bonus than any of the other three β€” many crops get a smaller, incidental bonus at more than one location (e.g. a DRY-liking crop picks up +14 at both Canyon and Crag), so these four columns don't sum to a simple total. Counting any crop that gets any bonus at all, Canyon alone covers 93 of 176, and Canyon + Fungi Forest together cover 152 of 176. Canyon's MOUNTAIN tag also overlaps Sacred Springs, Highland, and Rainforest if you'd rather substitute one of those for Fungi Forest. Run any candidate biome name through the Production Calculator to confirm its real tags and rainfall before committing a farm to it.

Past the starters

A graph search over every deterministic recipe in the database found only 13 of 179 crops reachable through pure deterministic chains β€” the other 166 require at least one pool-mutation step. Stone Lily (reached from Vine + Pumpkin, both downstream of the food cluster) is the deterministic root of nearly the entire metal and stone-crop branch β€” Ferrofern, Coppon, Tine, every Ore Berry, and every other Lily variant all trace back to it directly. Max Stone Lily once it appears, and the rest of that branch starts from a maxed baseline. Past that, there's no single fixed sequence β€” pick whatever's reachable from your current maxed crops' pools, breed toward it, max it, and move outward. The Mutation Calculator's "Find Path to Target" mode shows the real route to any specific crop you're still missing.