
精致标签
一个简单的模组,将精制背包和传奇标签整合在一起以提供便利;只需点击一个标签即可从背包中访问你的背包,同样方式返回你的物品栏。
查看大图精致标签 (Sophisticated Tab)
一键访问你携带的每一个精致背包——现在支持拖拽排序、右键隐藏,以及按世界保存的设置界面。 精致标签是一个小型的客户端兼容性附加组件,它为传奇标签添加了导航标签,以适配精致背包。携带一个背包,就有一个标签。在主物品栏、副手栏和 Curios 背栏中携带多个背包,你也会得到对应的标签——每个标签都会渲染实际的背包物品,让你一眼就能区分;每个标签点击后都会打开其对应的背包;你还可以决定哪些标签显示以及它们的顺序。
Minecraft 1.20.1 · Forge 47+ · Java 17 免费、开源,MIT 许可。
它的实际功能
该模组为现有的传奇标签栏添加了标签:
- 每个背包一个标签 — 在你的玩家物品栏顶部会显示最多八个标签,每个标签对应你携带的一个背包。每个标签都会渲染该背包的真实
ItemStack图标(染过色、重命名过、升级过的背包看起来都会不同),点击它会打开那个特定的背包,而不是随便打开第一个。当某个背包槽位中没有背包时,对应的标签会从标签栏中消失。背包的发现机制使用了精致背包自身的PlayerInventoryProvider,因此 Curios、Cosmetic Armor、主物品栏、副手栏和胸甲插槽都会被自动识别。 - 激活标签高亮 — 与你当前正在查看的背包匹配的标签会保持其悬停/暗色状态,以便你分辨哪个是打开的。匹配机制使用每个背包 NBT 中存储的 UUID,因此即使在槽位移动、染色、重命名或更换同等级背包时,它也能保持稳定。
- 返回物品栏标签 — 出现在精致背包界面的顶部。点击一下,即可回到你的玩家物品栏。无需再关闭再打开。
- 拖拽重排 — 左键单击并按住任意背包标签,然后水平拖拽到新位置。一个半透明的背包图标虚影会跟随你的鼠标,一个小型白色指示器会标记放置位置。松开鼠标即可确认。此顺序会在游戏重启后保持。
- 右键点击菜单 — 右键单击任意背包标签会弹出一个小型菜单,包含打开背包、左移、右移和隐藏此背包选项。隐藏操作会立即使该标签从标签栏中消失。
- 设置标签(齿轮图标) — 标签栏上的最后一个标签会打开一个设置界面,列出你携带的所有背包,每个背包都有一个可见性开关,此外还有模组之前见过但当前不在你物品栏中的任意 UUID。底部按钮包括:重置顺序、重置隐藏、清理未使用。同时还有一个按键绑定(选项 → 控制 → Sophisticated Tab → 打开标签设置,默认未绑定),让你可以在游戏中不通过物品栏直接打开此界面。
- 按世界/服务器保存偏好 — 标签顺序和隐藏背包的状态会按照单人游戏世界(包括局域网世界)和多人游戏服务器分别保存,文件位于
config/sophisticatedtab/tab_preferences.json。背包的身份由其 NBT 中存储的内容 UUID 决定,因此你的选择在重命名、染色、移动槽位,甚至将背包放入箱子数天后再捡起来后依然有效。
标签的边框是一个自定义的 52×22 PNG 图片,随此附加组件一同提供,采用 Minecraft 风格的浮雕按钮外观,使其能与传奇标签栏的其他部分自然融合。真实的背包物品会通过原版物品渲染方式绘制在边框之上,因此资源包、自定义物品渲染器和着色处理器都可以正常工作,无需特殊处理。资源包作者可以通过覆盖 sophisticatedtab:textures/gui/backpack_tab.png 来重新设计标签边框的样式。设置用的齿轮标签复用了相同的边框,并在其上叠加了一个原版的 comparator 物品作为其标志。
为什么需要这个模组
如果你同时安装了传奇标签和精致背包,但没有这个附加组件,背包是不会获得标签的。传奇标签内置了对 Backpacked 和 Traveler's Backpack 的支持,但不支持精致背包。精致标签正是为了填补这个空白。
而且,如果你携带多个背包——不同等级、不同颜色,一个在 Curios 栏,一个在主物品栏——一个单一的通用标签无法告诉你哪个是哪个。精致标签为每个背包都提供了一个标签,并且按钮上绘制了实际的背包物品,让你可以一键找到并打开正确的那个。
如果你携带的背包非常多——挖掘、食物、建筑、杂物、管理员专用备用——标签栏可能会变得杂乱。拖拽重排、右键隐藏和按世界保存的设置界面就是为了确保标签栏能反映你的优先级,而不是精致背包恰好遍历到的顺序。隐藏的背包永远不会被删除:它们仍会在你的物品栏中,并且可以通过精致背包的 B 键绑定打开。只是标签被隐藏了。
如果你只安装了精致背包,那么这个模组不会添加任何东西——精致背包已经内置了创造模式标签和可配置的按键绑定。这个附加组件的意义在于,让精致背包像其他背包模组一样,接入传奇标签的导航栏,然后提供管理它的控制选项。
截图
占位符——发布前添加截图:
- 物品栏界面,顶部显示多个背包标签,右侧有齿轮设置标签。
- 拖拽中——一个标签正在被拖拽,半透明虚影跟随鼠标,两个相邻标签之间有放置指示器。
- 右键点击菜单在背包标签上打开。
- 设置界面,显示携带的背包及其可见/隐藏开关。
需求
这两个上游模组都被声明为硬依赖(mandatory=true)。如果缺少任何一个,模组将拒绝加载并显示清晰的错误信息,而不是在启动时崩溃。
安装
- 安装 Minecraft Forge for 1.20.1。
- 将以下 jar 文件放入你的
.minecraft/mods/文件夹:legendarytabs-…jarsophisticatedcore-…jarsophisticatedbackpacks-…jarsophisticatedtab-…jar(本模组)
- 启动游戏。打开你的物品栏——背包标签就在顶部。
适用于单人游戏、局域网游戏和专用服务器。该模组本身是仅客户端的:专用服务器可以接受该 jar 文件,但它没有服务端的负载。实际的“打开我的背包”数据包由精致背包负责。
模组兼容性
- Curios 和 Cosmetic Armor Reworked — 完全支持,因为背包查找使用了精致背包自身的
PlayerInventoryProvider,它已经集成了这两者。 - 其他传奇标签的标签 — 和平共存。背包标签使用优先级
20–27(每个背包槽位一个),与其他背包风格标签(Backpacked、Traveler's Backpack)的约定一致。返回物品栏标签使用优先级10。齿轮设置标签使用优先级100,这样它总能位于其他标签的右侧而不会发生冲突。 - 右键点击捕捉 — 右键点击菜单以高优先级拦截
ScreenEvent.MouseButtonPressed.Pre,并且仅当点击落在我们的背包标签上时才取消该事件。来自其他附加组件的传奇标签会保持其默认的点击行为——你对 Backpacked 或 Traveler's Backpack 标签的右键点击不会受影响。 - 其他背包模组 — 精致标签的作用范围仅限于精致背包。它不会触及其他模组的背包,如 Backpacked、Traveler's Backpack 或 Quark;传奇标签为这些模组提供了独立的内置标签。
- 资源包— 背包物品图标继承自精致背包(或你的资源包)为每个背包定义的模型和纹理,因为标签使用了原版物品渲染。标签边框本身是
sophisticatedtab:textures/gui/backpack_tab.png,可以被任何资源包覆盖。返回物品栏标签仍然复用传奇标签的图集,因此它会遵循 LT 的资源包覆盖。 - 按键绑定分类 — 在 选项 → 控制 下添加一个条目:Sophisticated Tab → 打开标签设置(默认未绑定)。不会与其他按键产生开箱即用的冲突。
给整合包作者
- 无需整合包侧配置。 没有需要分发或调整的 Forge TOML 配置文件。该模组在首次启动时会自动创建
config/sophisticatedtab/tab_preferences.json,用于持久保存每个玩家在每个世界或服务器上的标签顺序和隐藏背包状态。如果你删除该文件(或它意外损坏),模组会将损坏的文件重命名为tab_preferences.json.broken.<timestamp>并重新开始——玩家不会因此无法访问背包,只会丢失本地的偏好状态。 - 无 Mixin、无访问转换器、无反射。 完全基于传奇标签和精致背包的公开 API 进行集成。能够承受不破坏公共钩子的上游补丁更新。唯一需要跨模组字段访问的地方(LT 的公共
TabButton.tabBase)被包裹在 try/catch 中——如果未来的 LT 版本将该字段设为私有,拖放和右键菜单功能会退化为一个记录警告日志的操作,而设置界面仍然可以工作。 - 小体积 jar 文件。 约 64 KB。一组小巧专注的类,一个语言文件,一张 PNG 图片。易于审查,易于分发。
- 客户端和服务端使用同一个 jar 文件。 在服务端它能干净地加载,但什么都不做——没有网络代码,没有注册,没有状态。
@Mod入口点在非Dist.CLIENT环境下会短路退出,因此仅客户端类永远不会在专用服务器上链接。 - 无新的服务端数据包。 打开背包仍然使用精致背包自身的
BackpackOpenMessage。标签顺序和隐藏状态永远不会离开客户端。
已知注意事项
- 八个标签上限。 该模组预先注册了八个背包标签槽位池。如果你同时携带超过八个可见背包,第 9 个及之后的背包将不会获得标签——它们仍然可以通过精致背包的默认
B键绑定打开。右键隐藏和设置界面正是为此设计的:把你很少打开的背包收起来,这样显示的八个标签就代表了你实际使用的八个。 - 标签列表只在界面打开时刷新。 如果你的物品栏界面已经打开,而你此时捡起了一个新背包,你需要先关闭并重新打开物品栏才能看到它的标签。(传奇标签在每次界面初始化时缓存其启用的标签列表。)在同一个打开的界面中,拖放重排可以立即生效;隐藏和取消隐藏操作会等到下次打开物品栏时应用。
- 无 UUID 的背包。 从未被打开过的背包可能暂时缺少其 NBT 内容 UUID。这些背包仍然会获得一个标签和一个真实图标,但在 UUID 被分配之前,它们无法被持久地隐藏或重排(设置界面会给它们标记一个小的
*)。打开一次该背包后,它们就会加入可配置的池中。 - 精致背包已经提供了一个快捷键(默认为
B)来打开第一个可触及的背包。这个模组为那些不记快捷键的玩家提供了一个可发现的、鼠标驱动的替代方案——此外,它还让你可以选择打开哪个背包、以哪种顺序、并隐藏哪些背包。
许可与链接
- MIT 许可。
- GitHub 源代码
- 问题追踪器
正在加载版本记录…




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