
宝箱追踪器
为容器中的按钮或指定快捷键添加一个新GUI界面。打开GUI时,你将看到空无一物或你世界中所有容器中拥有的所有物品。该模组若启用,会自动检查物品。
查看大图描述
ChestTracker —— 仍在开发中
无需打开任何一个箱子就能找到你的东西。
ChestTracker 会在一个可配置的半径内索引你世界中的每一个容器——包括未加载的区块——并允许你搜索它们。它是 Chest Tracker 的主动替代品,后者只会在你实际打开容器后才会记住它们。
Fabric —— Minecraft 1.21.11 与 26.2
支持的版本
1.21.11 及更新版本。当前的两个目标版本都处于 Minecraft 未混淆的时代,因此从其(26.1、未来的 26.3)添加另一个版本只需在 settings.gradle.kts 中添加一行条目,外加一个 versions//gradle.properties 文件。
1.21.11 以下的版本不受支持,且改动不小。Fabric Loom 1.17 将即使是 1.21.8 也报告为非混淆环境,并拒绝使用 officialMojangMappings() 和 createRemapConfigurations(),因此它根本无法构建这些版本。支持这些版本意味着需要第二个 Stonecutter 构建脚本,固定使用较旧的 Loom(约 1.14),并使用 Mojang 映射和重新映射配置——这是一条需要维护的并行构建路径,而非简单的版本升级。
它做什么
- 索引整个世界,而非你的渲染距离。后台扫描器直接从磁盘读取区域文件,因此也能找到未加载区块中的容器。半径可配置。
- 只读取更改过的内容。每个区域文件都会记录其大小和时间戳,因此对世界的第二次扫描几乎不读取任何内容——因退出而中断的扫描会从停止处继续,而不是重新开始。
- 区分自然生成的箱子与玩家建造的箱子。村庄、神庙和要塞中的战利品箱子会与玩家放置的任何东西分开分类,你可以按任一方式过滤。
- 搜索嵌套存储。木桶里潜影盒中的钻石依然会显示出来,物品面板会告诉你总共有多少被密封在某个容器内。
- 每种容器类型都可单独开关:箱子、木桶、潜影盒、末影箱、漏斗、投掷器、发射器、熔炉、酿造台、合成器等等。
- 移除的容器会消失。打碎一个箱子——或让苦力怕代劳——它会立即从索引中消失。模组未运行期间被破坏的任何东西将在下次扫描时清理。
使用方法
两个按键,都位于控制设置中的 ChestTracker 标题下:
默认:`
作用:打开搜索界面
默认:Z
作用:搜索你光标所指的物品,无需打开任何东西
在非 QWERTY 键盘上,第二个键位于美式布局中 Z 所在的位置——例如,在 QWERTZ 键盘上是标记为 Y 的键。这就是 Minecraft 处理每个键绑定的方式;如果你更想按印有 Z 的键,可以重新绑定。
在搜索界面中,物品以箱子形状的网格显示,数量最多的排在前面。
- 左键点击一个物品以高亮显示装有该物品的每个容器,并关闭界面。
- 右键点击一个物品可查看位置列表,按距离最近排序,并显示距离。
- 将鼠标悬停在物品上按住 shift 可查看详细信息面板:总数、容器数量、密封在潜影盒内的数量,以及最近容器的距离。
- 底部的按钮可切换维度——仅适用于实际存放有物品的维度,以及你的末影箱(若不为空时)。
- 搜索栏下方会出现一个进度条,表示世界仍正在被读取。
在任何容器界面中,右上角有一个小放大镜图标。左键点击打开搜索界面;右键拖动可移动它,并会记住你放置的位置。
一旦找到某物,ChestTracker 会在世界中标记它:在每个容器上显示一个方框,从它升起一串上升的标记,以便你跨基地找到它,最近的一个会用第二种颜色标出。超出渲染距离的容器会绘制在地平线上,而不是完全不显示。当你到达并打开箱子时,装有物品的槽位会闪烁——如果它在潜影盒内,则潜影盒会闪烁,等你打开后再闪烁其中的物品。
以上所有内容均可通过 Mod Menu 配置,包括标记颜色。
适用环境
单人游戏 / LAN 主机
容器位置:是
内容:是
未加载区块:是
装有 ChestTracker 的服务器
容器位置:是
内容:是,受权限控制
未加载区块:是
服务器端未安装模组的原版服务器
容器位置:暂无
内容:暂无
未加载区块:否
Minecraft 从不向客户端发送容器内容,只发送方块位置。单单这一协议事实就决定了每种设置下可能实现的功能。
单人游戏能获得全部功能,因为在那里客户端就是服务器。
在原版服务器上,模组目前不索引任何内容。它会检测到服务器没有安装该模组并提示——“这里尚无索引。”——而不是显得像出错了一样,但目前它也只能做到这些。从已加载区块映射容器位置,并记住你在其中看到的内容,将是一个尚不存在的客户端索引。
客户端和服务器必须运行相同版本。两者通过版本化协议通信,并在版本不匹配时拒绝对方,而不是默默地错误解读彼此。
服务器管理员
默认情况下,服务器上的每个人都可以搜索——安装该模组本身就是决定玩家应该能够使用它。使用 /chesttracker access <层级>(立即生效,无需重启)或 permissionTier 配置键来限制:
ALL(默认)
谁可以搜索:所有人
他们能看到什么:一切
OWNED
谁可以搜索:所有人
他们能看到什么:仅限他们自己放置的容器(管理员仍可看到一切)
OP
谁可以搜索:仅限管理员
他们能看到什么:一切
选择时值得了解:完整的索引实际上相当于方块透视——它会显示每个未开启的生成箱子的位置,以及他人基地中的东西。
该层级适用于通过连接到达的每位玩家,包括 LAN 访客。在自己世界中游玩的主机玩家永不受限——他们的界面直接读取世界数据。
连接到未安装模组的服务器的客户端会自动回退;双方都无需配置。
服务器端本身也有用——/chesttracker find <物品> 可从未安装模组的原版客户端使用。
指令
/chesttracker scanworld
读取自上次扫描以来更改过的区域文件
/chesttracker scanworld override
丢弃索引并重新读取整个世界
/chesttracker scanworld cancel
停止正在进行的扫描;已读取的内容会被保留
/chesttracker stats
容器数量、来源、扫描进度
/chesttracker find <物品>
在聊天中显示物品位置
/chesttracker access [层级]
显示或设置谁可以搜索
当索引看起来错误而不仅仅是不完整时,请使用 override:普通扫描会更正和添加,但绝不会移除它未遇到的内容。在扫描完成前,搜索会一直为空。
索引保存在世界文件夹下的 <世界>/data/chest-tracker/ 中,旁边有一个纯文本记录,说明哪些区域文件已被读取。删除该记录会使下一次扫描重新读取所有内容;删除该文件夹则会从头开始。
安装
将适用于你的 Minecraft 版本的 jar 文件放入 mods/ 文件夹。需要 Fabric API;Mod Menu 是可选的,仅用于添加设置界面。
模组 ID 是 chest-tracker,特意不同于原模组的 chesttracker——两者会冲突,而 Fabric 会通过静默加载其中一个来解决重复 ID 问题。如果你要从自称为 chestindex 的构建版本升级,请删除该 jar:因为 ID 不同,两者会同时加载。
构建
通过 Stonecutter 从单一源代码树构建两个 Minecraft 版本。
./gradlew ":1.21.11:build" - versions/1.21.11/build/libs/
./gradlew ":26.2:build" - versions/26.2/build/libs/
./gradlew build - 两者
Gradle 本身必须在 JDK 25 或更新版本上运行。Loom 会验证 Gradle 的 JVM,而不仅仅是编译工具链,因此在较旧的 JVM 上构建 26.2 目标会失败并提示:
Minecraft 26.2 requires Java 25 but Gradle is using
构建前请将 JAVA_HOME 指向 JDK 25+:
export JAVA_HOME=$(/usr/libexec/java_home -v 26)
macOS;任何 JDK >= 25 均可。
每个目标的编译工具链(1.21.11 使用 21,26.2 使用 25)由 Gradle 自动配置,每个目标会生成对应级别的字节码。将所有内容编译为 21 会更简洁,但这会使目标无法使用为 25 构建的依赖——Gradle 的变体匹配会直接拒绝它。
标记 v* 的提交会构建两个目标并发布到 GitHub Releases。
许可证
MIT
免责声明:此模组使用 AI 制作
正在加载版本记录…



正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。