投影容器填充机

投影容器填充机

自动填充Litematica原理图容器

Litematica 容器填充器

一个客户端 Litematica 扩展,用于自动填充原理图容器、高亮容器状态、替换所需物品,并提供实用的容器工具。

它从 Litematica 原理图中读取容器内容,并帮助填充匹配的真实世界容器,例如箱子、木桶、潜影盒、合成器、熔炉、漏斗、投掷器等。它专为大型存储系统、物品分类器、合成站、地图画装箱、自动合成设置以及密集容器堆而设计。

主要功能

原理图容器填充

  • 根据 Litematica 原理图中存储的容器 NBT 和槽位布局填充真实容器。
  • 支持一键填充:查看目标容器并按填充热键。
  • 支持工作状态:持续扫描附近容器、排队有效任务并自动填充。
  • 支持合成器槽位锁定。如果缺少材料,该模组仍然优先处理所需的槽位锁定,而不是什么都不做。
  • 将双箱视为一个连接的容器。
  • 支持 Carpet largeBarrels,但必须在配置中手动启用。
  • 可配置填充半径、操作延迟、安全延迟和状态保护。

容器状态高亮

模组可以直接在世界中渲染容器状态:

  • 未填充
  • 部分填充
  • 已满足
  • 过度填充
  • 物品错误
  • 未知数据
  • 未放置的容器
  • 手动完成
  • 手动需要填充

当前渲染器使用半透明主体、顶部面板和动画 3D 任务标记,而不是旧式线框。当前正在填充的容器、排队的容器和缺少材料的事件也可以显示单独的动画标记。

高亮颜色、不透明度、任务标记、动画 FPS 限制、渲染半径和每个状态的开关均可配置。X 射线高亮默认禁用,默认高亮渲染半径为 0

物品替换

物品替换会影响实际填充行为,而不仅仅是材料列表显示。

  • 支持全局替换规则。
  • 支持每个原理图的替换规则。
  • 每个原理图的规则优先于全局规则。
  • 提供可视化替换选择器。
  • 支持精确物品数据,包括自定义名称、附魔和数据组件。
  • 手动规则使用 source_item_id->target_item_id,例如 minecraft:stone->minecraft:cobblestone
  • 支持自定义名称匹配,例如 minecraft:paper#slot1->minecraft:iron_ingot
  • 将物品替换为 minecraft:air 会使填充器忽略该物品。

材料列表集成

Litematica 材料列表获得额外的容器感知控件:

  • 仅显示建筑方块。
  • 仅显示原理图容器内所需的物品。
  • 同时显示方块和容器物品。
  • 直接从材料列表打开物品替换选择器。
  • 显示替换物品的替换标记和工具提示。
  • 从您正在查看的容器中收集缺失的材料列表物品。

物品栏和潜影盒物流

  • 从玩家物品栏中的潜影盒中提取所需物品。
  • 支持 QuickShulker。
  • 为其他类似快速潜影盒的模组提供模拟右键点击模式,具体取决于这些模组是否监听兼容的 GUI 操作。
  • 支持 TakeItOut 服务端协议;并不总是需要客户端 TakeItOut 模组。
  • 如果不同颜色的潜影盒内容匹配,则可以将它们视为兼容。
  • 有序物品存储取代了旧的自动物品栏空间释放逻辑:当需要空间时,物品会优先返回到源潜影盒或匹配的潜影盒中。
  • 提供慢速点击数据包模式,适用于插件繁重或反作弊更严格的服务器。

容器工具

该模组包含几个独立于原理图填充的查看容器工具:

  • 清空容器:清空所查看的容器。输出可以丢弃、移动到物品栏,或先移动到物品栏再丢弃。
  • 填满:用物品栏中的明确物品填满所查看的容器。适用于临时合成站。
  • 同步容器:读取模板容器,然后将其他目标容器同步为相同的布局。
  • 容器打包:将目标容器中的物品打包到物品栏中的潜影盒中。
  • 收集材料:从目标容器中收集缺失的 Litematica 材料列表物品。

工具支持上一个/下一个工具切换、关闭所有工具、按住重复、同容器冷却时间以及可选的工具 HUD。

容器过滤器

限制哪些容器受原理图填充和工具影响:

  • 禁用、白名单和黑名单模式。
  • 将过滤器应用于原理图填充、容器工具或两者。
  • 可视化容器选择器。
  • 通配符规则,例如 minecraft:*_shulker_box
  • 尝试通过方块实体、物品栏接口和常见的类似容器的方块 ID 来检测模组容器。

手动容器标记

如果由于原理图数据、服务器插件或临时工作流需求而无法正确判断容器,您可以手动循环其状态:

  • 自动
  • 手动完成:填充将跳过此容器
  • 手动需要填充:容器保持高亮并参与填充

手动标记也可以用于当前原理图范围之外的容器。

使用方法

默认配置热键:L + C

默认一键填充热键:V

对于连续填充,请在配置中启用工作状态,如果需要请绑定热键,并根据您的环境调整填充半径和操作延迟。

依赖项

必需:

  • Fabric Loader
  • Fabric API
  • MaLiLib
  • Litematica

可选:

  • Mod Menu:配置屏幕访问。
  • QuickShulker:快速物品栏潜影盒打开和提取。
  • Servux 或兼容数据源:无需打开容器即可获取真实容器数据。
  • MiniHUD:模组可能会读取其容器预览缓存。
  • TakeItOut 服务端协议:服务端潜影盒提取支持。

注意事项和警告

服务器风险: 自动容器操作可能会被服务器插件或反作弊系统视为异常点击、自动分类或自动填充。如有需要,请增加操作延迟或启用慢速点击数据包模式。

清空原理图中为空的容器: 如果启用,模组可能会移除原理图中为空但真实世界中存在的容器中的物品。这对于清除熔炉灰烬可能很有用,但也可能导致机器损坏。启用前请检查您的原理图和范围。

Carpet 大型木桶: 仅当服务器确实启用了 Carpet largeBarrels 时才启用此选项。否则,可能会发生槽位偏移和错误的状态检查。

渲染编辑器布局: 在小窗口、自定义 GUI 缩放、不常见的分辨率或不寻常的宽高比下,渲染编辑器可能会错位或难以点击。编辑这些设置时请使用更大的窗口或默认 GUI 缩放。

许可证和第三方项目

本项目根据 LGPL-3.0-only 许可。

本项目依赖、集成或引用了 Litematica、MaLiLib、Fabric API、Mod Menu、QuickShulker、TakeItOut、Servux、MiniHUD、SchematicPreview、litematica-printer、itemscroller 和 tweakermore 等项目。除非在源文件中明确说明,否则本项目不捆绑、复制或重新分发其源代码、资源或二进制文件。项目名称和描述仅用于解释依赖关系、兼容性或设计参考。