Skip to content
deonjonker123 edited this page Jun 13, 2026 · 1 revision

Soils are controlled by item tags. Using tags in your recipe soils array means you never need to update recipes when new soil blocks are added to a tag.

Adding Soils via Datapacks

This page covers two things: adding items to existing soil tags, and creating entirely new soil tags through a datapack.


Adding Items to Existing Soil Tags

To add a new item to an existing soil tag, create a tag file in your datapack at:

data/agritechtwo/tags/item/<tag_name>.json

Example — adding a custom block to farmland_soils:

{
  "replace": false,
  "values": [
    "mod_id:your_custom_farmland"
  ]
}

You can optionally assign a growth modifier by adding an entry to:

data/agritechtwo/data_maps/item/soil_modifiers.json
{
  "values": {
    "mod_id:your_custom_farmland": {
      "growth_modifier": 1.8
    }
  }
}

If no datamap entry is provided, the growth modifier defaults to 1.0. Values above 1.0 speed up growth, values below slow it down. For reference, vanilla farmland uses 0.5 and insanium farmland uses 1.75.


Existing Soil Tags

The following tags are available to add items to:

Tag Description
#agritechtwo:farmland_soils Standard farmland variants. Use for most crops.
#agritechtwo:dirt_soils Dirt, grass, and similar blocks.
#agritechtwo:tree_soils Valid soils for tree saplings.
#agritechtwo:sand_soils Sand and similar blocks.
#agritechtwo:soul_sand_soils Soul sand variants.
#agritechtwo:moss_soils Moss blocks.
#agritechtwo:water_soils Water-based soils (eg: minecraft:water bucket).
#agritechtwo:mushroom_soils Soils valid for mushroom growth.
#agritechtwo:nether_soils Nether-specific soils (nyliums).
#agritechtwo:jungle_soils Jungle-specific soils (logs and woods).
#agritechtwo:stone_soils Stone and cobblestone variants.
#agritechtwo:end_soils End-dimension soils (end stones).
#agritechtwo:ma_tier1_soils through #agritechevolved:ma_tier5_soils Mystical Agriculture farmland tiers.

Creating New Soil Tags

You can define as many custom soil tags as you like in a datapack.

1. Define the tag

data/agritechtwo/tags/item/my_custom_soils.json
{
  "replace": false,
  "values": [
    "mod_id:soil_a",
    "mod_id:soil_b"
  ]
}

You can create as many tag files as you need. Each tag can hold as many items as you want.

2. Reference the tag in a recipe

Your tag must be referenced in at least one crop or sapling recipe for the planter to accept items from it as valid soils.

{
  "type": "agritechtwo:crop",
  "seed": "mod_id:your_seed",
  "soils": [
    "#agritechtwo:my_custom_soils"
  ],
  "drops": [
    {
      "item": "mod_id:your_crop",
      "count": 1,
      "chance": 1.0
    }
  ]
}

3. Assign growth modifiers (optional)

If you want specific soils to grow crops faster or slower, add entries to the datamap. Any soil without a datamap entry will default to a 1.0 modifier.

data/agritechtwo/data_maps/item/soil_modifiers.json
{
  "values": {
    "yourmod:block_a": {
      "growth_modifier": 0.75
    },
    "yourmod:block_b": {
      "growth_modifier": 1.25
    }
  }
}

Once your tag and recipe are in place, the planter will accept the soils, apply the correct growth modifier (or 1.0 by default), and display the modifier in item tooltips automatically.

Clone this wiki locally