- Loaders
- Fabric
- Downloads on Modrinth
- 10.8K
- Followers on Modrinth
- 9
- versions
- 9
- Updated
- June 9, 2026Jun 9
- Published
- in 2025
At a glance
Install on the server only; players don't need it
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
- ♻️
/reloadapplies 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 }
}
}| Setting | Default | Meaning |
|---|---|---|
general.enabled | true | Master switch for vanilla XP drops. |
general.dropInCreative | false | If true, XP also drops while in Creative mode. |
general.defaults.min / max | 1 / 2 | Vanilla XP amount; a whole number is rolled evenly between min and max. |
general.defaults.chance | 0.5 | Chance per harvest to drop vanilla XP (0.0–1.0). 0 = never, 1 = always. |
levelz.enabled | true | Switch for LevelZ XP (only matters when LevelZ is installed). |
levelz.defaults.min / max | 1 / 1 | LevelZ XP amount range. |
levelz.defaults.chance | 0.25 | Chance 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.
| Field | Type | Required | Description |
|---|---|---|---|
block | string | ✅ | Block id, e.g. minecraft:carrots. |
conditions | object | — | Block-state values that must all match for XP to drop, e.g. { "age": 7 }. Omit to match any state. |
vanilla | object | — | Vanilla XP override { min, max, chance }. Any field omitted falls back to the global default. |
levelz | object | — | LevelZ XP override { min, max, chance }. |
requiresCorrectTool | boolean | — | If true, XP only drops when the block is broken with the correct tool. |
enabled | boolean | — | 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