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