CropXp

CropXp

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

by
8.6K Downloads
fabricadventure
Rent Server with this Mod

About this Mod

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 }
  }
}
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.01.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

<namespace> can be anything (use your pack's name); cropxp/crops is the
fixed folder CropXp scans. Put the pack in a world's datapacks/ 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. 🌾

Available Versions

2.0.0 (Fabric 1.20.1)release
MC 1.20.1fabric
June 9, 2026
2.0.0 (Fabric 1.19.2)release
MC 1.19.2fabric
June 9, 2026
2.0.0 (Fabric 1.21.1)release
MC 1.21.1fabric
June 9, 2026
1.3.0 (Fabric 1.21.1)release
MC 1.21.1fabric
August 26, 2025
1.3.0 (Fabric 1.20.1)release
MC 1.20.1fabric
August 26, 2025

How to Install CropXp on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set fabric Loader

In the panel under "Egg", select the fabric loader and matching Minecraft version (1.21.1).

3

Install Mod

Open the mod browser in the dashboard and search for "CropXp". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

fabric

Minecraft Versions

1.21.1, 1.20.1, 1.19.2

Server-side

Required

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

CropXp server crashes on startup – what to do?

Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.1). You can switch loaders with one click in the panel.

Is CropXp compatible with fabric?

CropXp officially supports fabric for Minecraft 1.21.1, 1.20.1, 1.19.2. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with CropXp – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if CropXp consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install CropXp with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
MIT License
Server-side
Required

Supported Versions

1.21.11.20.11.19.2