Inventory Tabs 4

Inventory Tabs 4

允许通过标签页切换至世界内其他界面(方块、实体等)。这是对CakeWhip的InventoryTabs的第四代重写。

游戏机制

截图 在附近的屏幕(如箱子、工作台,甚至实体)之间切换的标签页。
这是对 Inventory Tabs 的第四代重写,原作者为 CakeWhip,由 Andrew6rant 继续维护。
在 Forge 上需要 Connector 和 FFAPI。对于创造模式,试试 Sidekick!

Inventory Tabs 是一个客户端模组,在屏幕上显示代表附近方块和实体的标签页。

按 tab 键向前切换屏幕,按 shift+tab 键向后切换,或者直接点击标签!

特性

  • 无需离开当前屏幕即可在工作台、存储容器和你的物品栏之间切换。
  • 开箱即用地支持许多模组方块——如果出现问题,还可进行配置。
  • 存储标签可以使用告示牌、物品展示框或(在有服务器时)铁砧重命名来标记,便于整理。
  • 只要你的物品栏未满,光标上持有的物品堆叠会延续到下一个屏幕。
潜影盒交响曲
  • 容器屏幕会与其他屏幕对齐,而不是低 1 像素。
  • 与 EMI 同屏显示时适配良好,即使 GUI 缩放非常高——使用 Left (Compressed) 效果。
EMI VGA 预览

反作弊与公平性

Inventory Tabs 不对服务器管理或反作弊提供任何保证或防御——标签提供不公平的优势,并且在多人游戏中看起来对外界明显可疑。
值得注意的是,该模组为了方便起见,允许一些通常不可能的操作,例如:

  • 骑乘马或箱子船时可以访问完整的玩家物品栏。
  • 无需从载具上下来即可访问潜行交互的容器。

整合包配置

Inventory Tabs 4 从零开始设计,对整合包更加友好。
它通过 config/inventory_tabs.toml 配置,其中包含提供额外上下文的注释——例如每个标签提供者的作用。

默认情况下,加载进世界时会记录用于为你的整合包设置模组的有用信息。切换 configLogging 可禁用此功能。

如果标签出现在不合适的屏幕上,可以将该屏幕加入黑名单:

[screenOverrides]
	"fwaystones:waystone" = false

如果为不合适的方块创建了标签,你可以手动禁用其标签提供者:

[blockProviderOverrides]
	"cool_mod:incompatible_block" = ""
	"really_cool_mod:*" = ""

或者手动覆盖为相关的提供者:

[blockProviderOverrides]
	"#cool_mod:crafting_stations" = "inventory_tabs:block_unique"
	"cool_mod:single_chest" = "inventory_tabs:block_simple"
	"cool_mod:*_cabinet" = "inventory_tabs:block_simple_storage"
	"cool_mod:doubleable_chest" = "inventory_tabs:block_chest"

确保测试你的配置!这些选项_并非_设计为防崩溃。

覆盖也适用于实体和物品,分别通过 [entityProviderOverrides] 和 [itemProviderOverrides]。

如果匹配到了太多不合适的方块,你可能希望完全禁用某个提供者的默认匹配逻辑:

[registryProviderDefaults]
	"inventory_tabs:block_simple" = false

block_simple 提供者使用黑名单而不是白名单,因此会产生大量误报标签。它默认启用,以帮助寻找合适/不合适的标签。

有关完整整合包的示例,请查看 Tinkerer's Quilt Modded 中的配置。


模组架构

屏幕上的每个可见标签都是一个 Tab,负责渲染自身、知道如何被打开,以及何时应从标签列表中移除(例如超出范围时)。

这些标签由 标签管理器 持有,它实际上就是“标签屏幕”。它在常规屏幕方法的基础上添加了自己的渲染、刻更新和鼠标点击处理。它还负责检查是否应添加新标签。

标签通过注册的 标签提供者 添加。像 载具物品栏 这样的基础提供者检查简单条件并添加特殊标签。更高级的 注册表提供者 被设计为分配一组特定的 方块、实体类型 或 物品(在重载时冻结),然后每刻搜索玩家周围的这些目标。利用这些泛型,创建了更简单的具体提供者(末影箱、唯一方块)。

附加组件

repositories {
	maven { url "https://repo.sleeping.town/" }
}
dependencies {
   modImplementation "folk.sisby:inventory-tabs:1.2.0"
}

Inventory Tabs 4 的附加组件可以添加新的标签类型和标签提供者,为当前提供者添加高级匹配逻辑,为它们的屏幕提供自定义标签布局(包括反向标签),并指示特定标签何时应标记为打开。

有关实际示例,请查看 Portable Crafting!


结语

所有模组都建立在许多其他人的工作之上——我们是这个模组的第四代维护者!
这个版本是部分重写,继承了 CakeWhip、LiamMCW 和 Andrew6rant 的工作。

此模组包含在 Tinkerer's Quilt 中——我们的关于重新发现原版游戏的整合包。

我们乐于接受更好的实现方式。如果你看到奇怪的地方并有想法,请告诉我们!


Tinkerer's: Quilt - Smithing - Origins - Statures - HUD
Loveletters: Tabs - Atlas - Portable Crafting - Drogstyle
其他: Switchy - Crunchy - Starcaller