升级经验

升级经验

收获作物时随机掉落经验——与LevelZ完全兼容。

冒险

CropXp 为耕种玩法添加奖励:收获成熟作物时,有几率掉落一些经验球。哪些作物算数、多少经验、掉落几率,全部由你配置。

✨ 特色

  • 🌾 收获作物获得经验,可配置数量与几率
  • 🎚️ 游戏内设置界面(通过 Mod Menu + Cloth Config)
  • 📦 使用数据包文件添加、移除或调整任何作物——非常适合整合包和服务器
  • 📈 可选 LevelZ 支持——安装 LevelZ 后也会给予 LevelZ 耕种经验
  • ♻️ /reload 立即生效;创造模式默认为关闭

📦 兼容性

Fabric 1.19.2、1.20.1、1.21.1

必需: Fabric API 可选: Mod Menu + Cloth Config(游戏内设置)、LevelZ(LevelZ 经验)

⚙️ 配置

通过 Mod Menu → CropXp 在游戏内编辑设置,或直接编辑 config/cropxp.json。以下是每株未覆盖设置的作物所使用的全局默认值。从 1.x 配置升级会自动进行。

{
  "general": {
    "enabled": true,
    "dropInCreative": false,
    "defaults": { "min": 1, "max": 2, "chance": 0.5 }
  },
  "levelz": {
    "enabled": true,
    "defaults": { "min": 1, "max": 1, "chance": 0.25 }
  }
}
设置项 默认值 说明
general.enabled true 原版经验掉落的总开关。
general.dropInCreative false 若为 true,在创造模式下也会掉落经验。
general.defaults.min / max 1 / 2 原版经验数量;在 min 和 max 之间均匀取整数值。
general.defaults.chance 0.5 每次收获掉落原版经验的几率(0.0–1.0)。0 = 从不,1 = 总是。
levelz.enabled true LevelZ 经验开关(仅在安装 LevelZ 时生效)。
levelz.defaults.min / max 1 / 1 LevelZ 经验数量范围。
levelz.defaults.chance 0.25 每次收获掉落 LevelZ 经验的几率。与原版经验独立判定。

🌱 自定义作物(数据包)

每种被识别的作物都是一个 JSON 文件,因此你可以添加、调整或禁用任何作物——包括模组作物——而无需改动模组本身。将文件放入数据包的以下路径:

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

<namespace> 可以是任意内容(使用你数据包的名称);cropxp/crops 是 CropXp 扫描的固定文件夹。将数据包放入世界的 datapacks/ 文件夹,或随模组一起打包。编辑后运行 /reload——配置界面中的已识别作物标签页会列出所有当前加载的内容。

字段 类型 必填 描述
block string ✅ 方块 ID,例如 minecraft:carrots。
conditions object — 方块状态值,必须全部匹配才会掉落经验,例如 { "age": 7 }。省略则匹配任何状态。
vanilla object — 原版经验覆盖 { min, max, chance }。省略的字段回退到全局默认值。
levelz object — LevelZ 经验覆盖 { min, max, chance }。
requiresCorrectTool boolean — 若为 true,仅在方块被正确工具破坏时掉落经验。
enabled boolean — 设为 false 可关闭某作物(例如禁用内置作物)。

条件使用方块自身的状态属性——例如 age(小麦为 0–7,地狱疣为 0–3),或 half(lower / upper)。只有匹配所有列出条件的方块状态才会获得经验,因此未成熟的作物会被跳过。

示例

成熟胡萝卜,自定义经验:

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

完全成熟的地狱疣,覆盖原版和 LevelZ 经验:

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

关闭一个内置作物:

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

同样的模式适用于模组作物——使用模组方块 ID 及其在 conditions 中的生长属性即可。

🧺 内置作物

小麦、胡萝卜、马铃薯、甜菜根、地狱疣、可可豆、西瓜和南瓜茎(包括已结实的茎状态),以及瓶子草(如果该方块存在)。

西瓜/南瓜方块和火把花被有意排除——它们会再生长或可被重新放置,这可能造成无限经验。


最初为我的个人整合包开发,现分享给所有人。🌾