Clone
26
Home
lyizai 于 2026-08-21 17:06:55 +08:00 修改了此页面
此文件含有模棱两可的 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 命令,记录寻路、坐标、状态、路径事件等

安装

  1. 安装 Fabric Loader 0.16.14+ 和 Fabric API
  2. 将 autostore-1.2.5.jar 放入 .minecraft/mods/ 目录
  3. 启动游戏,按 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)

赞助支持

如果你觉得这个模组对你有帮助,欢迎赞助支持一下创作者 ❤️

赞助码

你的支持是持续开发的动力!