From 15b4a40b6da1f5be676a0adf12c3a120fa0aebce Mon Sep 17 00:00:00 2001 From: lyizai <3945107889@qq.com> Date: Tue, 18 Aug 2026 13:47:20 +0800 Subject: [PATCH] =?UTF-8?q?v1.1.7:=20=E4=BF=AE=E5=A4=8D=E7=8E=A9=E5=AE=B6?= =?UTF-8?q?=E4=B8=8D=E7=A7=BB=E5=8A=A8=E9=97=AE=E9=A2=98=EF=BC=88=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E5=AF=BB=E8=B7=AF=E5=89=8D=E7=9B=B8=E9=82=BB=E9=A2=86?= =?UTF-8?q?=E5=9C=9F=E6=A0=A1=E9=AA=8C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.1.5 新增的「目标与己方领土接壤校验」在第三方领土地图刷新后,own 集合与规划器判定不一致,导致有效目标被误判跳过,玩家原地不动。已移除运行时的重复邻居验证(规划器已保证目标与己方领土相邻),仅保留「未被其它邦国占领」判断,恢复 1.1.2 及更早版本的行为。 构建:修正 build.gradle 使 baritone 嵌套打包进 META-INF/jars(1.1.6 缺失)。 --- .gitignore | 3 ++ README.md | 4 +- build.gradle | 14 +++++++ gradle.properties | 2 +- .../controller/ExpansionController.java | 39 +++---------------- src/main/resources/fabric.mod.json | 2 +- 6 files changed, 27 insertions(+), 37 deletions(-) diff --git a/.gitignore b/.gitignore index 39e5400..6c6597d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,9 @@ .gradle/ build/ +# Secrets +.env + # IDE .idea/ *.iml diff --git a/README.md b/README.md index 26b70d8..b2486ea 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ ## 安装 1. 安装 Fabric Loader 0.16.14+ 和 Fabric API -2. 将 `autostore-1.1.6.jar` 放入 `.minecraft/mods/` 目录 +2. 将 `autostore-1.1.7.jar` 放入 `.minecraft/mods/` 目录 3. 启动游戏,按 `Ctrl+R` 打开 GUI ## 构建 @@ -26,4 +26,4 @@ ./build_mod.sh ``` -输出文件:`autostore-1.1.6.jar` +输出文件:`autostore-1.1.7.jar` diff --git a/build.gradle b/build.gradle index 0cf33ea..10638f0 100644 --- a/build.gradle +++ b/build.gradle @@ -10,6 +10,11 @@ base { archivesName = project.archives_base_name } +// 用于把 Baritone 原样打包进模组 jar 的资源(不放默认依赖里,避免 Gradle 误解析) +configurations { + nestedJar +} + dependencies { // Minecraft minecraft "com.mojang:minecraft:${project.minecraft_version}" @@ -21,6 +26,9 @@ dependencies { // Baritone API (local jar, compile only) modImplementation files("libs/baritone-api-fabric-1.13.1.jar") + + // 标记需要嵌套打包的 jar + nestedJar files("libs/baritone-api-fabric-1.13.1.jar") } processResources { @@ -30,6 +38,12 @@ processResources { filesMatching("fabric.mod.json") { expand "version": project.version } + + // 将 Baritone 嵌套打包进 META-INF/jars,匹配 fabric.mod.json 的 jars 声明, + // 使玩家无需单独安装 baritone 依赖即可运行 + from(configurations.nestedJar) { + into "META-INF/jars" + } } tasks.withType(JavaCompile).configureEach { diff --git a/gradle.properties b/gradle.properties index 1d05432..9b30684 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,7 +7,7 @@ yarn_mappings=1.21.4+build.8 loader_version=0.19.3 # Mod Properties -mod_version=1.1.6 +mod_version=1.1.7 maven_group=autostore archives_base_name=autostore diff --git a/src/main/java/autostore/client/controller/ExpansionController.java b/src/main/java/autostore/client/controller/ExpansionController.java index 283803e..74ed2f5 100644 --- a/src/main/java/autostore/client/controller/ExpansionController.java +++ b/src/main/java/autostore/client/controller/ExpansionController.java @@ -387,45 +387,18 @@ implements SubtitleChatMonitor.Listener { /** * 判断当前目标是否仍然有效: - * 未被任何邦国占领,且与己方领土(含本次会话新占领)至少一个区块接壤。 - * 使用实时地图数据校验,避免寻路到与领土不接壤的孤立区块。 + * 未被任何邦国占领即可——规划器已保证目标与己方领土相邻, + * 运行时无需重复验证邻居关系,避免地图刷新后 own 集合不一致导致误判跳过。 + * + *
注意:己方领土数据暂时不可用时保守视为有效(可能性极小,仅刷新竞态时发生),
+ * 避免所有目标被误跳过导致玩家原地不动。
*/
private boolean isTargetStillValid() {
if (this.target == null) {
return false;
}
TerritoryModel m = this.dataService.model();
- if (m.allClaimedChunks().contains(this.target)) {
- return false;
- }
- HashSet