CropXp

CropXp

Random experience drops when you harvest crops โ€” fully compatible with LevelZ.

10 796 downloads 9 followers

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

<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. ๐ŸŒพ

No gallery available for this project.

Version Minecraft Loader Download

2.0.0 (Fabric 1.20.1)

2.0.0+fabric-1.20.1

1.20.1
fabric
Download

2.0.0 (Fabric 1.19.2)

2.0.0+fabric-1.19.2

1.19.2
fabric
Download

2.0.0 (Fabric 1.21.1)

2.0.0+fabric-1.21.1

1.21.1
fabric
Download

1.3.0 (Fabric 1.21.1)

1.3.0+fabric-1.21.1

1.21.1
fabric
Download

1.3.0 (Fabric 1.20.1)

1.3.0+fabric-1.20.1

1.20.1
fabric
Download

1.3.0 (Fabric 1.19.2)

1.3.0+fabric-1.19.2

1.19.2
fabric
Download

CropXp 1.2.0

1.2.0

1.20.1
fabric
Download

CropXp 1.1.0

1.1.0

1.20.1
fabric
Download

CropXp 1.0.0

1.0.0

1.20.1
fabric
Download