一个高性能的 Minecraft Paper 插件,用于自动收割农场作物。
本项目灵感来源于 Auto-Harvest Data Pack。原版数据包的效率较低,因此我开发了这个事件驱动的插件版本,极大地降低了性能消耗。
- 🚀 高性能:基于事件驱动架构,性能远优于原版数据包
- 🔧 简单易用:只需放置含水箱子和物品展示框即可
- ✨ 附魔支持:支持 Fortune、经验修补、耐久附魔
- 🌍 多语言:支持中文、英文、繁体中文、日语
- 💾 数据持久化:重启后自动恢复系统状态
- ⚙️ 高度可配置:支持自定义收割范围、速度等参数
- 小麦
- 胡萝卜
- 土豆
- 甜菜根
- 甜浆果
- 放置一个含水箱子(箱子下方有水)
- 在箱子旁边放置一个物品展示框
- 将一把锄头放入物品展示框中
- 插件会自动扫描并标记周围 4 格范围内的所有耕地
当作物成熟时,会自动收割并放入箱子中!
| 命令 | 别名 | 描述 | 权限 |
|---|---|---|---|
/autoharvest detect |
/ah detect |
手动检测并标记所有自动收割系统 | autoharvest.detect |
/autoharvest reload |
/ah reload |
重新加载配置文件 | autoharvest.reload |
/autoharvest clear |
/ah clear |
清除所有标记的自动收割系统 | autoharvest.clear |
/autoharvest status |
/ah status |
查看当前状态 | autoharvest.status |
/autoharvest help |
/ah help |
显示帮助信息 | autoharvest.use |
配置文件位于 plugins/AutoHarvest/config.yml
# 收割范围(箱子周围的水平距离)
harvest-range: 4
# 支持的作物类型
supported-crops:
- WHEAT
- CARROTS
- POTATOES
- BEETROOTS
- SWEET_BERRY_BUSH
# 是否启用 Fortune 附魔效果
enable-fortune: true
# 是否启用箱子空间检测
check-chest-space: true
# 最大收割速度(每 tick)
max-harvest-per-tick: 10
# 是否启用经验修补附魔
enable-mending: true
# 是否启用耐久附魔
enable-unbreaking: true详细配置说明请查看配置文件中的注释。
AutoHarvest- 主插件类ConfigManager- 配置管理MessageManager- 多语言消息管理DataManager- 数据存储(箱子-耕地映射)HarvestManager- 收割逻辑FarmlandScanner- 耕地扫描(BFS 算法)BlockListener- 事件监听器CropType- 作物类型枚举
- 区块索引:按区块组织数据,减少查询范围
- 距离优先分配:耕地被最近的箱子占用,避免重复扫描
- 延迟检查:使用延迟任务确保方块状态更新
- 定时保存:异步保存数据,避免阻塞主线程
- 空间检测:收割前检查箱子空间,避免无效操作
- 下载最新版本的
AutoHarvest-x.x.x.jar - 将文件放入服务器的
plugins文件夹 - 重启服务器或使用
/reload命令 - 根据需要编辑
plugins/AutoHarvest/config.yml
- Java 21
- Gradle 8.5+
- Paper API 1.21.8+
- Adventure API
# 克隆仓库
git clone https://github.com/xmb505/Auto_Harvest.git
cd Auto_Harvest
# 构建
./gradlew build
# 编译后的文件位于 build/libs/本项目采用 MIT 许可证。详见 LICENSE 文件。
xmb505
灵感来源于 Auto-Harvest Data Pack
欢迎提交 Issue 和 Pull Request!