此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
AutoStore — Minecraft 自动扩地模组
一个 Fabric 客户端模组,用于在支持 /u claimmode 的领地插件服务器上自动扩张领土。
功能
- 从远程
markers.json拉取各国领土边界 - 四种扩地策略:方形外扩、区域扩地、玩家周围、绕国一圈
- 区域扩地采用严格 S 形扫描:起始边取矩形四条边中离王城直线距离最近的一条,由内而外推进,不会先跑到外侧绕圈;行/列内标准蛇形往返,即使待开垦区块是不规则多边形也按 S 形一路扫过;保证每个新占领区块都与己方领土接壤(仅四个正方向,不把其他邦国领土计入接壤)
- 运行时接壤校验:寻路/等待阶段每帧校验目标是否仍与己方领土接壤,地图刷新导致边界变化时立即跳过,避免走到不接壤区块;寻路/重试前同样先校验接壤
- 自动寻路(Baritone)前往目标区块;监听 Baritone 路径事件,目标不可达(CALC_FAILED,如被悬崖/高山/水体隔断)时重试、耗尽后先往边上走两步再试,仍失败才切换目标;寻路超时则重新寻路(不立即回城),连续寻路超时累计超过 1 分钟自动发送
/u return回城传送,传送完成后从最高优先级区块重新开始扩地 - 高度偏好寻路:寻路启发式成本加入高度项,y 越大优先级越高、y 越小施惩罚,引导寻路优先往高处走(适合山区/高原目标);可通过配置
altitudePreference/altitudeWeight调整 - 现实时间限制:仅 11:00-22:00(本地现实时间)允许开拓;不在该时段点击开始会登记为「等待」,进入时段后自动启动,运行中到点自动停止;等待期间可手动取消
- 目标有效性校验:目标若已被其他邦国占领则立即跳过
- 刷新地图时与最新
markers.json核对已占领区块,丢弃地图未确认的超期假占领,避免高地扩地残留空洞 - 飞地(疏漏区块)检测:按 dynmap 奇偶(even-odd)填充规则解析领土多边形,正确识别国中由边界围出的内圈空腔;内置地图用红色标出己方飞地,自动扩地时优先填补这些缺口
- 自动进食(饥饿时自动吃背包食物)
- 实时地图 GUI(通过
Ctrl+R打开) - 监听聊天/字幕消息判断开垦结果
- 日志导出:GUI 右上角“导出日志”按钮,或
/autostore log命令,记录寻路、坐标、状态、路径事件等
安装
- 安装 Fabric Loader 0.16.14+ 和 Fabric API
- 将
autostore-1.2.5.jar放入.minecraft/mods/目录 - 启动游戏,按
Ctrl+R打开 GUI
baritone 已内置于模组 jar,无需额外安装。
构建
# 依赖:JDK 21+
./gradlew build
输出文件:build/libs/autostore-1.2.5.jar
命令
| 命令 | 说明 |
|---|---|
/autostore gui |
打开 GUI(或按 Ctrl+R) |
/autostore start [数量] |
开始扩地,-1 为持续 |
/autostore stop |
停止扩地 |
/autostore status |
查看状态 |
/autostore refresh |
刷新地图 |
/autostore auto |
自动识别邦国 |
/autostore state <名> |
设置邦国 |
/autostore strategy <1-4> |
设置策略 |
/autostore rings <层数> |
设置圈数上限 |
/autostore log |
导出日志到 config 目录 autostore-debug.log |
版本记录
| 版本 | 说明 |
|---|---|
| v1.2.5 | 新增高度偏好寻路:启发式成本加入高度项,y 越大优先级越高、y 越小施惩罚,引导寻路优先往高处走(altitudePreference 默认开、altitudeWeight 默认 0.1);寻路/重试前先校验目标区块是否仍与己方领土接壤;寻路超时不再直接传送——重试耗尽后先「往边上走两步」自救(最多 3 轮),多轮无效才按连续超时阈值回城或切换目标 |
| v1.2.4 | 新增连续寻路超时累计超过 1 分钟自动发送 /u return 回城传送,传送完成后从最高优先级区块重新开始扩地(传送等待 12 秒,覆盖 10 秒传送延迟并留余量);寻路重试耗尽时先不切换目标,改为「往边上走两步」(横向移动约 2.5 格,被挡则换另一侧,两侧均被挡才放弃)后再重试原目标,仍失败才切换目标或回城 |
| v1.2.3 | 不在开拓时段点击开始改为登记等待:进入 11:00-22:00 后自动启动,等待期间可手动取消;同步 README/安装/构建的 jar 版本引用至 1.2.3 |
| v1.2.2 | 修复开启「放置」时搭路原地抽搐、放不出方块(配套 allowParkourPlace、归零放方块代价、允许跳跃搭路);根治寻路对可达目标秒报「不可达」:删除自定义 ChunkGoal(含高度 isInGoal 硬约束),改用 Baritone 原生 GoalXZ 到区块中心;CALC_FAILED 改为先重试再切目标 |
| v1.2.1 | 修复刷新地图时目标被误标为已占领(时间戳+no-cache 击穿网络缓存、假占领宽限期缩短为 60s、通用成功消息增加玩家位置校验);修复国中飞地无法显示:按 dynmap 奇偶(even-odd)填充规则解析领土多边形,内圈孔洞不再被并集填充掩盖(实测可识别 7 处飞地);优化内存与卡顿(渲染视口过滤、飞地后台预计算、接壤校验零复制、重复响应跳过解析、ChunkPos 驻留复用);区域扩地重写为严格 S 形、由内而外(起始边离王城直线距离最近) |
| v1.2.0 | 新增飞地(疏漏区块)检测:内置地图用红色标出己方飞地,自动扩地时优先填补,确保领土闭合不留缺口 |
| v1.1.9 | 修复区域扩地接壤判断误把其他邦国领土计入;增加运行时接壤校验;监听寻路失败及时跳过不可达目标;寻路超时改为重新寻路/跳过而非回城;新增日志导出;新增现实时间限制(11:00-22:00) |
| v1.1.8 | 回退寻路逻辑至 1.1.3,修复玩家不移动;修复目标区块中心点不可达导致的错位;新增寻路超时 /u return 回城自救 |
| v1.1.7 | 移除寻路前的相邻领土校验,修复玩家不移动;修正 baritone 打包 |
| v1.1.6 | 版本号与构建系统调整 |
联系方式
项目主页:https://git.bgjq.top/Lyizai/AutoStore
更新时间:2026-08-21(v1.2.5)
赞助支持
如果你觉得这个模组对你有帮助,欢迎赞助支持一下创作者 ❤️
你的支持是持续开发的动力!
