Skip to content

CropXp

Random experience drops when you harvest crops — fully compatible with LevelZ.

Fabric
Loaders
Fabric
Downloads on Modrinth
10.8K
Followers on Modrinth
9
versions
9
Updated
June 9, 2026Jun 9
Published
in 2025

At a glance

Runs on Fabric
For Minecraft 1.20.1, 1.21.1 …
Server only — players don't need to install it
Latest version — 2.0.0+fabric-1.20.1 from June 9, 2026
Requires Fabric API
License MIT — free
Where it's needed
In gamenot neededOn serverrequired

Install on the server only; players don't need it

Game versions1.19.2, 1.20.1, 1.21.1

CropXp rewards farming: harvest a mature crop and there's a chance it drops a few experience orbs. Which crops count, how much XP, and the drop chance are all yours to configure.

✨ Highlights

  • 🌾 XP for harvesting crops, with configurable amount and chance
  • 🎚️ In-game settings screen (via Mod Menu + Cloth Config)
  • 📦 Add, remove, or retune any crop with data pack files — great for modpacks and servers
  • 📈 Optional LevelZ support — also grants LevelZ farming XP when LevelZ is installed
  • ♻️ /reload applies changes instantly; Creative mode is opt-in

📦 Compatibility

Fabric 1.19.2, 1.20.1, 1.21.1

Required: Fabric API Optional: Mod Menu + Cloth Config (in-game settings), LevelZ (LevelZ XP)

⚙️ Configuration

Edit the settings in-game via Mod Menu → CropXp, or edit config/cropxp.json directly. These are the global defaults used by every crop that doesn't override them. Upgrading from a 1.x config is automatic.

{
  "general": {
    "enabled": true,
    "dropInCreative": false,
    "defaults": { "min": 1, "max": 2, "chance": 0.5 }
  },
  "levelz": {
    "enabled": true,
    "defaults": { "min": 1, "max": 1, "chance": 0.25 }
  }
}
SettingDefaultMeaning
general.enabledtrueMaster switch for vanilla XP drops.
general.dropInCreativefalseIf true, XP also drops while in Creative mode.
general.defaults.min / max1 / 2Vanilla XP amount; a whole number is rolled evenly between min and max.
general.defaults.chance0.5Chance per harvest to drop vanilla XP (0.0–1.0). 0 = never, 1 = always.
levelz.enabledtrueSwitch for LevelZ XP (only matters when LevelZ is installed).
levelz.defaults.min / max1 / 1LevelZ XP amount range.
levelz.defaults.chance0.25Chance per harvest to drop LevelZ XP. Rolled independently of vanilla XP.

🌱 Custom crops (data packs)

Every recognized crop is a JSON file, so you can add, retune, or disable any crop — including modded ones — without changing the mod. Place files in a data pack at:

data/<namespace>/cropxp/crops/<name>.json

`can be anything (use your pack's name);cropxp/cropsis the fixed folder CropXp scans. Put the pack in a world'sdatapacks/folder or ship it inside a mod. Run/reload` after editing — the Recognized Crops tab in the config screen lists everything currently loaded.

FieldTypeRequiredDescription
blockstring✅Block id, e.g. minecraft:carrots.
conditionsobject—Block-state values that must all match for XP to drop, e.g. { "age": 7 }. Omit to match any state.
vanillaobject—Vanilla XP override { min, max, chance }. Any field omitted falls back to the global default.
levelzobject—LevelZ XP override { min, max, chance }.
requiresCorrectToolboolean—If true, XP only drops when the block is broken with the correct tool.
enabledboolean—Set false to turn a crop off (e.g. to disable a built-in one).

Conditions use the block's own state properties — for example age (0–7 for wheat, 0–3 for nether wart), or half (lower / upper). Only states that match every listed condition grant XP, so unripe crops are skipped.

Examples

Mature carrots with custom XP:

{
  "block": "minecraft:carrots",
  "conditions": { "age": 7 },
  "vanilla": { "min": 1, "max": 3, "chance": 0.6 }
}

Fully-grown nether wart, overriding both vanilla and LevelZ XP:

{
  "block": "minecraft:nether_wart",
  "conditions": { "age": 3 },
  "vanilla": { "min": 2, "max": 4, "chance": 1.0 },
  "levelz":  { "min": 1, "max": 2, "chance": 0.5 }
}

Turn off a built-in crop:

{ "block": "minecraft:cocoa", "enabled": false }

The same pattern works for modded crops — use the modded block id and its own growth property in conditions.

🧺 Built-in crops

Wheat, carrots, potatoes, beetroots, nether wart, cocoa, melon & pumpkin stems (including the attached-stem state), and pitcher crop (where that block exists).

Melon/pumpkin blocks and torchflower are excluded on purpose — they regrow or can be re-placed, which would allow infinite XP.


Originally built for my own modpack, now shared for everyone. 🌾

FAQ

How to install CropXp?

Install Fabric for your Minecraft version, download CropXp for the same version and loader, put the file into the mods folder and launch the game with the loader profile.

Which Minecraft versions does CropXp support?

CropXp has builds for Minecraft 1.19.2, 1.20.1, 1.21.1.

Is CropXp needed on the server?

Server only — players don't need to install it

License and source
MIT Licensefree to use and share with credit to the author
Original — Modrinth↗Files unchanged, verified with SHA-512Is this your mod? For rights holders

The site uses cookies: the necessary ones for sign-in and the theme, plus the Yandex Metrica and LiveInternet visit counters — they show us how the site is used. We have no advertising cookies. More