- 版权类型
- 原创
- 插件中文名称
- 星辰作物仓库
- 插件英文名称
- DreamFarm
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Folia
- Purpur
- 语言支持
- 多语言
- 前置组件
- vault
- 适配版本(Java)
- 最新版本
- 26.x
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
PS: 我对DreamFarm插件进行了重构,原来写的代码bug有点多
目前支持的农作物:
| 甘蔗 |
| 仙人掌 |
| 甜浆果 |
| 小麦 |
| 胡萝卜 |
| 马铃薯 |
| 甜菜根 |
| 地狱疣(下界疣) |
DreamFarm
> 成熟即入仓,仓库无上限,一键换钱 —— 一款为农业服打造的自动收集 / 虚拟仓库 / 一键出售插件。
为什么选 DreamFarm
| 成熟作物自动入仓,不用满地捡掉落物 | |
| 一人一份独立仓库,不占背包、不占箱子 | |
| 点一下卖光,收入 = 单价 × 数量,无隐性税率 | |
| 🛡 防刷设计 | 骨粉催熟的作物不入仓、未成熟作物不收,堵死速刷 |
| YAML / SQLite / MySQL / Redis 随时切换,改配置即时生效 | |
| 改完配置保存,2 秒内自动生效,不用重启也不用敲命令 | |
| 1.12 – 26.x 单包通用,材质由 XSeries 自动归一化 | |
| 自动识别 Folia 并切换到区域调度,不靠兼容层硬撑 |
核心功能
1. 自动收集
| 破坏成熟作物时产物直接进入虚拟仓库,原版掉落被抑制 |
| 未成熟不收集,并弹出 Title 提示 `作物尚未成熟`,玩家不会误以为插件坏了 |
| 骨粉催熟的作物不入仓,照常掉落给玩家 —— 断掉「骨粉 → 瞬间成熟 → 卖钱」的循环 |
2. 三种采集机制自动区分(对应作物配置的 `harvest-type`):
| 类型 | 适用作物 | 行为 |
| ageable(默认) | 小麦、胡萝卜、马铃薯、甜菜根、下界疣、可可果 | 成熟才收 |
| stacking | 甘蔗、仙人掌、竹子 | 打掉任意一节,整列一起入仓 |
| right-click | 甜浆果 | 成熟后 右键采摘 即入仓,不破坏果丛 |
收获反馈做了聚合:ActionBar 与音效每 0.5 秒合并发送,高频收割也不卡
虚拟仓库
1. 每名玩家一份独立仓库,容量无上限2. 单向流动:只能自动流入,取用与出售必须玩家主动操作,杜绝当作无限背包
3. 分页浏览,仓库再大也不卡界面
| 操作 | 取出量 |
| 左键 | 一组(64个) |
| 右键 | 1个 |
| Shift + 左键 | 全部全部(受背包空位限制,取不完不会丢,根据背包空位自动识别数量) |
一键出售
1. 每种作物独立每日限额,`daily-limit: 0` 表示不限2. 到达重置时间自动清零,支持 **`HH:mm:ss` 时间** 与 **cron 表达式** 两种写法
3. 收入直接经 Vault 入账,价格 = 单价 × 数量
4. 出售顺序为「扣减 → 落盘 → 发钱」,异常时完整回滚
界面
1. **原生 Bukkit Inventory 实现**,不依赖任何第三方 GUI 库2. 界面识别靠 `InventoryHolder` 判定,不看标题,不会与其他插件串线
3. 标题、材质、lore、槽位全部 YAML 可配,出售按钮位置**自动跟随**作物卡片(`槽位 + 9`)
4. 支持 `model-data`(1.14+)与资源包自定义贴图
5. 文本支持占位符:`{crop_name}` `{amount}` `{daily_sold}` `{daily_limit}` `{can_sell}` `{total_value}` `{status}`
---
命令与权限
命令
| 命令 | 说明 | 权限 |
| /df | 打开主界面(/df farm、/df 任意参数 同样打开) | dreamfarm.use |
| /df reload | 重载配置与玩家数据;存储配置变化时热切换后端 | OP 或 `dreamfarm.admin` |
| /df crops <作物> <数量> [玩家 | 向虚拟仓库发放作物 | OP 或 `dreamfarm.admin` |
作物名支持配置键(`WHEAT`)、英文别名(`wheat` / `carrots`)、中文名(`小麦`),未命中会列出全部可用值。
权限节点
安装
1. 安装前置:**Vault** + 经济插件(如 EssentialsX)2. 将 `DreamFarm-1.0.0.jar` 放入 `plugins/`
3. 重启服务器