传奇物品栏

传奇物品栏

永久修复模组包中的库存杂乱问题。

告别槽位管理。永远。


Legendary Inventory 将槽位系统改为基于重量的系统。槽位空间不再是限制。

以前,玩家必须通过 36 个固定槽位(带护甲为 41 个)来管理自己的物品栏。 这个数字与现代玩法并不相符。Minecraft 多年来添加了许多新物品,而模组让物品栏无法以高效快捷的方式管理。

这就是背包和存储类模组如此受欢迎的原因。

Legendary Inventory 一劳永逸地解决了这个问题。通过其全新的动态扩展槽位系统,让你可以收集超过 36 组物品,现在你依赖的是集成到菜单中的重量条。

重量条演示

它是如何工作的?

通常,在处理物品栏时,模组作者不得不将 GUI 替换为一个复制版本,从而破坏菜单与其潜在附加组件(其他模组的按钮、按键绑定等)之间的所有连接。

Legendary Inventory 则不同。它挂接到现有菜单上,检测物品栏行,并在其之上应用动态系统。这种方法使该模组默认即可与任何物品栏配合使用(原版和模组)。它还会裁剪槽位纹理以始终匹配视觉效果,这也使得资源包默认即可正常工作。

行数并非无限,因为物品栏中的每个条目都意味着更多要读取的数据,但其默认扩展物品栏增加了 +50 行,从 3 行(27 个槽位)增加到 53 行(477 个槽位)。一切都是可配置的。

扩展物品栏演示

这个模组是增强还是削弱?

都不是。该模组通过集成到你 UI 中的重量系统自动平衡。无限的行数是对物品栏的直接增强,但受重量条限制,这起到了削弱的作用。引入"pods",即你游戏中每个物品的计量单位。

默认情况下,玩家拥有 1000 pods 可用。每个物品都有以 pods 为单位的重量。最轻的为 1 pod,而较重的物品(铁砧、铁块等)自身就可能占据你重量条的相当一部分。为什么是 1000 pods?以下是其设计方式:

  • 原版 Minecraft = 36 槽位 * 64 物品 = 2304 物品。 这意味着在原版 Minecraft 中你最多可以拥有 2304 个物品。
  • Legendary Inventory = 1000 pods。 这意味着你可以拥有 1000 根羽毛,或 25 个铁块,或 5 个铁砧,或 40 个胸甲。

为什么这不是削弱?

  1. 在标准玩法中,玩家很少携带 36 组满满的物品,除非他们在收集建筑材料。因为日常冒险涉及的是多样性而非最大堆叠数量,基于重量的系统比传统槽位限制提供了更实用的效用。
  2. 重量数值现在是一个属性。这意味着它可以通过我们散布在 Minecraft 地牢箱子中的重量石板来提升。(其 API 也对模组作者和整合包作者开放,让他们添加自己提升最大重量值的方式)
  3. 你可以超过 100% 的容量,但超过的每一步都会让你付出代价:
    • 100%:你开始减速,每拾取一个物品都会让你更慢。
    • 120%:重量条变为沉重颜色,你的跳跃变短。
    • 150%:你无法再疾跑。
    • 200%:你被固定住,无法跳跃,也无法从地面拾取任何东西。

所有四个阈值都是可配置的。

重量条为王!

重量条

随时在你的物品栏中查看你的重量条,或通过按 TAB 键在你的玩家 UI 中查看(会暂时替换你的经验条) 随时将鼠标悬停在你的重量条上查看你的状态。你的容量会告诉你一切所需信息。

重量条状态

这死亡时如何运作?墓碑模组兼容吗?

死亡兼容

视情况而定。对于原版死亡,你会将原版行中的物品掉落到地上,而扩展行中的所有物品将被放入"袋子"中,这是一个新物品,当你收集它时会归还你其余的物品。袋子是一种为优化而采取的措施。整个模组的创建都考虑到了性能,因此物品栏不会无缘无故地 tick,服务器也不会每秒请求你的整个物品栏。关键在于仅在相关时更改数据。

对于使用墓碑模组的死亡,一切都按照墓碑模组的条件运作。物品会回到护甲、武器、快捷栏的对应槽位中,物品栏会将动态行合并在一起,不会丢失任何东西。其行为符合预期。

那背包模组呢?它们现在没用了?

背包兼容

不。就此而言,它们实际上与 Legendary Inventory 配合时更加强大。该模组对背包物品栏有特殊功能。放入背包中的所有物品都没有重量,它们像常规 Minecraft 一样使用槽位。这会激励玩家使用背包来运输其中的重物、收集建筑方块等……对应的代价是,背包、潜影盒和容器类物品默认具有更重的重量(潜影盒为 400)。

添加模组时以及移除模组时,我现有的世界会怎样?

添加模组只会给你新的物品栏系统。你的旧物品栏会直接与之融合。 没有危险。 移除模组将移除你扩展行中存在的所有物品。在这样做之前,请将你的物品栏放入箱子中。

杂项

  • 物品栏有一个搜索栏,可快速找到你的物品。
  • 可以切换滚动条来查看你的物品栏
  • 排序按钮可将物品合并在一起 + 按重量排序
  • 超载会阻止你使用坐骑(载具仍然可用)
  • 满重量时无法使用传送石
  • 与 Trash slot、JEI、Mouse Tweaks 的额外兼容
  • 重量是数据驱动的。使用 config 中的 weights.json(游戏内可用命令 /inventory set...)

对于模组作者和整合包作者

API 是一个单一的静态入口点,com.krampus.legendaryinventory.api.LegendaryInventoryApi,以及同一包中的两个接口。将该模组添加为 compileOnly 依赖;无需其他操作。

  • 读取数值:getItemWeight(stack)、getStackWeight(stack)、getCarriedWeight(player)、getCapacity(player)。
  • 更改容量:携带容量是一个原版风格的玩家属性(legendaryinventory:carry_capacity,由 getCapacityAttribute() 暴露),因此装备、药水和附魔可以像任何其他属性一样对其应用属性修饰符。对于像重量石板那样的永久增加,使用 addCapacityBonus(player, amount) / setCapacityBonus(player, bonus);该加成会随玩家存储。
  • 更改重量:实现 IWeightProvider 并使用 registerWeightProvider(...) 注册它,以动态地称量物品(通过 NBT、内容物,随你需要),或调用 setDefaultWeight(itemId, pods) 来覆盖单个物品。无需代码,整合包作者可以编辑生成的 weights.json 中的逐物品重量以及基于标签的层级。
  • 访问扩展行:getExtendedInventory(player) 返回一个 IExtendedInventory,这是一个标准的 IItemHandlerModifiable,因此任何已经支持物品处理器的内容都可以与之配合使用。
  • 菜单控制:excludeMenuFromAugment(menuClass) 使菜单远离该系统,allowAugmentedSlotClass(slotClass) 让自定义槽位类型被检测为物品栏行,isAugmented(menu) 告诉你菜单是否获得了这些行。

免责声明:

Legendary Inventory 是一个抢先体验模组。请报告你能找到的任何 bug。处理该模组时请务必创建备份。