宝箱怪物搜索

宝箱怪物搜索

按G键,选取一个物品,你附近所有实际存放该物品的箱子、木桶或潜影盒都会亮起绿光——即使隔着墙也能看到。

每个基地最后都会面临这样的问题:三十多个箱子,没有一个有标签,而备用的铁锭肯定就在其中某一个里面。

按下 G 键,选择物品,你附近所有真正存放该物品的容器都会发出脉动的绿色光芒——穿透墙壁、穿透地板,从基地的另一端也能看到。无需标志、无需整理系统、无需一个个打开盖子翻找。

三步操作

1. 按下 G。 会打开一个物品选择器,包含游戏内的所有物品,布局与创造模式菜单一致。

2. 输入以缩小范围。 过滤功能同时匹配你看到的名称(diamond sw)和你可能输入的文件标识(diamond_sword),所以无论你以哪种方式联想物品,它都能被找到。

3. 点击物品。 匹配的容器会发光 30 秒,同步脉动以吸引你的注意,然后在最后三秒内逐渐淡出。操作栏会告诉你找到了多少个容器——当没有匹配项时,它会明确告知,而不是让你面对毫无变化的房间发呆。

搜索半径可在同一界面通过滑块调节:8 至 64 格,默认 16 格,并且会在不同游戏会话之间保持你的设置。再次搜索会取代之前的高亮标记;当你离开世界时高亮会清除,切换维度后它们也会保持隐藏。

搜索范围

任何能容纳物品的方块——箱子、陷阱箱、木桶、潜影盒、漏斗、发射器、投掷器、熔炉。该功能基于方块实体而非硬编码列表工作,因此其他模组添加的存储方块也能被覆盖,而双方模组无需互相感知。

有两类方块会被有意跳过:

  • 未开启的结构战利品。 你从未打开过的地牢、神庙或沉船宝箱还没有实际内容——战利品表会在玩家首次打开时生成,而读取槽位正是触发生成的行为。该模组不会触碰这些箱子,以免提前揭露内容。
  • 末影箱,它存储的是每个玩家各自的物品栏,而非该方块处的实际物品。

大型箱子是两个方块实体,但属于一个整体家具,因此会以一个横跨两半的单独矩形显示——中间没有接缝——并在总数中计为一个容器,即使匹配的物品堆物理上只位于其中一半。

匹配基于物品类型,并忽略 NBT 标签:搜索附魔书会得到所有附魔书,而非某一特定附魔。

多人游戏

原版游戏不会告知客户端未开启的箱子内部内容,因此扫描必须在服务器端进行。一个 jar 文件,双端通用。

环境 是否可用?
单人游戏 是——你的游戏会运行自己的集成服务器
你主持的局域网世界 是
安装了该模组的服务器 是
未安装该模组的服务器 选择器会打开并提示;搜索不会产生任何效果

该模组力求在他人硬件上保持良好表现。扫描会遍历每个已加载区块已有的方块实体地图,而非逐方块迭代,因此性能开销与附近容器数量相关,而非半径大小。此外,服务器会限制半径,最多返回最近的 512 个容器,每个玩家每半秒仅允许一次搜索,并且绝不强制加载区块——任何未加载区域都不会被搜索。

设置

config/chestsearch.json:

键 默认值 范围
radius 16 8–64 格;与滑块写入的数值相同
highlightSeconds 30 5–120

热键可在“选项 → 控制”中重新绑定,位于 Chest Monster Search 分类下。

环境要求

  • Minecraft 26.2
  • Fabric Loader 0.19.3 或更高版本
  • Fabric API
  • Java 25

尚未实现

潜影盒内如果再嵌套放在箱子里的物品无法被找到——扫描不会递归进入嵌套容器。这将是下一个开发计划。

许可证

MIT。