旅行包

旅行包

一个可靠的背包模组,支持可配置大小和快捷键。

装备

关于一个可靠的背包模组,可配置大小并支持快捷方式。

TravelBag

TravelBag 是一个免费且可靠的 Fabric 背包模组,具有可配置的大小、可选的 LuckPerms 支持、智能的基于文件的存储,以及一个用于快速访问的内置快捷物品。

它的设计目标是在真实服务器上也能让人放心使用:

  • 每位玩家都有自己存储的 TravelBag
  • 存储格式在内部始终保留 6 行的空间
  • 降级权限或配置大小不会删除隐藏的物品
  • 备份会安全地创建,不会生成嵌套的备份文件
  • 每个玩家文件会自动轮换最近 2 个备份
  • 物品数据使用注册表感知的编解码器进行序列化,因此附魔和其他组件会保持完整
  • 不安全的背包数据会被锁定,而不是被静默覆盖
  • 无需客户端模组

✨ 功能

  • 可配置的 TravelBag 大小,从 1 到 6 行
  • 可选的 LuckPerms 集成,用于大小和功能权限
  • 当玩家物品栏已满时可选自动拾取
  • 用于快速访问 TravelBag 的可选快捷头颅物品
  • 可配置的 TravelBag 快捷头颅物品。
  • 按 UUID 存储的每位玩家 TravelBag 文件
  • 支持自动备份并轮换
  • 支持物品过滤器
  • 潜影盒限制开关
  • 配置重载命令
  • Mod Menu 集成
  • 可选的 Cloth Config 支持,用于游戏内配置界面

⚙️ 配置亮点

TravelBag 使用简单的属性配置文件:config/travelbag/travelbag.properties

重要选项包括:

  • 所有者视图和非所有者视图的标题
  • 死亡掉落行为
  • keepInventory 交互
  • 默认大小
  • LuckPerms 开关
  • 冷却时间
  • 快捷物品开关
  • 快捷物品首选槽位
  • 打开音效开关
  • 打开音效 id
  • 自动拾取设置
  • 潜影盒限制
  • 物品过滤器
  • 允许的游戏模式
  • 别名

🔄 命令

  • /travelbag - 打开你自己的 TravelBag
  • /travelbag help - 显示可用的 TravelBag 命令
  • /travelbag clean - 清空你自己 TravelBag 中的所有物品
  • /travelbag clean <player> - 清空另一位玩家 TravelBag 中的所有物品
  • /travelbag sort - 压缩并整理你自己的 TravelBag
  • /travelbag <player> - 打开另一位玩家的 TravelBag
  • /travelbag backup - 为所有 TravelBag 数据文件创建备份
  • /travelbag restore <player> <latest|previous> - 预览已锁定 TravelBag 的有效备份
  • /travelbag restore <player> <latest|previous> confirm - 在 60 秒内恢复已预览的备份
  • /travelbag reload - 重新加载配置文件

别名可配置,默认为:

  • /bp
  • /backpack

🤷🏻‍♂️ 存储的工作方式

TravelBag 将玩家数据存储在 Fabric 配置目录中:config/travelbag/players/

每位玩家都会根据其 UUID 获得一个单独的文件。TravelBag 在内部始终存储最多 6 行,即使玩家当前只能访问更少的行数。

这意味着:

  • 当玩家被降级时,隐藏的行会被保留
  • 重新升级大小或权限后,这些物品会再次显示
  • 在可能的情况下,压缩可以将可堆叠物品向上移动到可见行
  • 物品序列化使用注册表感知的编解码器,以保留附魔和其他现代物品组件
  • 如果 TravelBag 无法安全解码某个背包文件,该背包会被锁定,以防止意外覆盖或物品丢失

备份写入为:

  • <uuid>.dat
  • <uuid>.backup.1.dat - 最新备份
  • <uuid>.backup.2.dat - 上一个备份

来自旧版 TravelBag 的旧式 <uuid>.backup.dat 文件在没有轮换的最新备份存在时,仍会作为最新的恢复候选保留可用。

备份会在以下情况下创建:

  • 服务器启动时
  • /travelbag reload 时
  • /travelbag backup 时
  • 每 10 分钟自动创建,但仅当自上次备份以来 TravelBag 数据发生了变化时

如果某个背包文件无法被安全解码,TravelBag 还会在拒绝为该背包进一步保存之前,创建一个带时间戳的失败快照。

已锁定的背包只能由拥有 travelbag.restore 或总括权限 travelbag.admin 的管理员恢复。目标玩家必须离线,并且所有查看者都必须关闭该背包。TravelBag 会在确认前验证选定的备份,快照当前数据文件,以原子方式替换它,验证恢复后的数据,并在验证失败时自动回滚。


🎒 快捷物品

TravelBag 可以给玩家一个快捷头颅物品,用于快速打开他们的背包。

该快捷物品:

  • 可以在全局启用或禁用
  • 支持可配置的头颅纹理
  • 可以在玩家的物品栏和快捷栏中自由移动
  • 不能放入 TravelBag 内
  • 不能放入箱子或末影箱内
  • 不能正常丢弃
  • 如果意外出现重复物品,会自动规范化

显示的快捷物品名称使用玩家名称,例如:

  • Alex's TravelBag
  • James' TravelBag

🚗 自动拾取

如果启用,当玩家物品栏已满时,TravelBag 可以收集附近的物品实体。

安全规则:

  • 被过滤的物品永远不会从地面移除
  • 被阻止的潜影盒永远不会从地面移除
  • 只有当物品能够被安全存储时才会被收集
  • 打开的 TravelBag 界面会与自动拾取的变化保持同步

📊 权限

当启用 LuckPerms 支持时,TravelBag 使用以下节点:

  • travelbag.use
  • travelbag.fullpickup
  • travelbag.size.1
  • travelbag.size.2
  • travelbag.size.3
  • travelbag.size.4
  • travelbag.size.5
  • travelbag.size.6
  • travelbag.clean
  • travelbag.clean.other
  • travelbag.sort
  • travelbag.others
  • travelbag.others.edit
  • travelbag.keepOnDeath
  • travelbag.noCooldown
  • travelbag.ignoreBlacklist
  • travelbag.backup
  • travelbag.restore
  • travelbag.reload
  • travelbag.bypass.gamemode
  • travelbag.admin

travelbag.admin 充当 TravelBag 管理功能的总括管理员权限。

当禁用 LuckPerms 支持时,TravelBag 会遵循配置中的回退值。仅管理员可执行的操作会回退到原版 OP / gamemaster 等级。


🏜️ 测试服务器

欢迎加入我的 Minecraft 服务器来测试我的模组:play.swordfishbe.eu


💡 鸣谢/创意

Fabric 模组创意基于 GeorgH93 的 Minepacks。