Packed Packs

Packed Packs

将资源包和数据包打包到配置文件中,支持多选、拖放以及扩展的鼠标和键盘控制。

📦 整合包

将资源包和数据包整合到配置文件中,支持多选、拖放以及扩展的鼠标和键盘控制。

packed_packs_demo_compressed

✨ 特性

  • 保存和加载自定义配置文件。
  • 同时选择多个整合包。
  • 在列之间拖放选择。
  • 上下文菜单。
  • 附加文件夹。
  • 文件夹整合包。
  • 按标题搜索。
  • 过滤不兼容的整合包。
  • 按字母顺序或最后更新排序。
  • 鼠标和键盘控制。
  • 配置。
  • 开发者模式。
  • Java API
  • 与特定模组的显式兼容性。
  • 历史记录(撤销和重做)。

📂 附加文件夹

  • 添加额外的文件夹用于发现整合包。
  • 在 config/packed_packs.json 中配置,在 resourcepacks 或 datapacks 下的 additionalFolders 数组中添加路径。
  • 如果该数组不存在,请手动创建,或打开并关闭整合包界面以更新配置。
  • 路径可以是绝对路径,也可以是相对于游戏目录的路径。
  • 正确添加的文件夹会作为 打开整合包文件夹 下的一个上下文菜单选项出现。
  • 需要重启游戏才能生效。

📂📦 文件夹整合包

  • 根整合包目录中包含整合包的任何文件夹,如果没有 pack.mcmeta 文件,将被视为文件夹整合包。
  • 文件夹整合包的行为类似于常规整合包,可以在行和列之间移动,以同时切换多个整合包。
  • 它们可以被打开以查看和重新排序其内容。顺序保存在文件夹根目录下的 packed_packs.folderpack.json 文件中。
  • 在文件夹根目录添加 pack.png 文件以设置自定义图标。

🖱️ 鼠标控制

  • 打开上下文菜单 — 右键单击
  • 选择范围 — 按住 Shift 并单击
  • 添加/移除选择 — 按住 Ctrl 并单击
  • 快速转移单个条目 — 双击
  • 撤销 — 单击后退侧键
  • 重做 — 单击前进侧键

⌨️ 键盘控制

  • 导航条目 — ↑ | ↓
  • 移出条目导航 — Tab
  • 转移选择 — Space | Enter
  • 选择范围 — Shift + ↑ / ↓
  • 全选 — Ctrl + A
  • 移动选择 — Ctrl / Alt + ↑ / ↓
  • 撤销 — Ctrl + Z
  • 重做 — Ctrl + Shift + Z | Ctrl + Y
  • 打开文件夹整合包 — Enter
  • 关闭文件夹整合包 — Escape
  • 删除文件 — Delete
  • 重命名文件 — Ctrl + R | F2(如果未绑定到截图)
  • 打开文件 — Ctrl + Enter
  • 在文件管理器中显示 — Alt + Shift + R
  • 切换配置文件侧边栏 — Ctrl + `
  • 在默认和无配置文件之间切换 — F1
  • 刷新整合包 — F5
  • 聚焦搜索栏 — 输入任意字符

⚙️ 配置

  • 关闭时自动应用资源包。
  • 替换默认的资源包和数据包界面。
  • 移除不兼容整合包上的红色背景。
  • 重新打开界面时记住上次查看的配置文件。

🚀 开发者模式

  • 切换开发者模式 — `Ctrl` + `Shift` + `I` | `F12`
  • 在开发者模式下,上下文菜单中将出现其他选项。
  • 偏好设置:切换某些小部件的可见性。
  • 锁定配置文件:锁定的配置文件无法删除、重命名或修改。
  • 覆盖整合包属性:
    • 覆盖是按配置文件配置的,并且仅适用于该配置文件,除非设置为默认。
    • 覆盖整合包的 required 属性。也允许禁用必需整合包。
    • 覆盖整合包的 position 属性。也允许移动固定整合包。
    • 隐藏整合包。
  • 默认配置文件:
    • 默认配置文件中的覆盖将全局启用于所有配置文件,甚至在没有配置文件的情况下,包括原始界面。
    • 默认配置文件下启用的整合包会自动标记为兼容。
    • 默认配置文件将在以下情况下自动加载:
      • 资源包:当 `options.txt` 缺失时,或在较新版本中,当 `config/packed_packs/__version.json` 缺失时。
        • 从添加 `_version.json` 文件之前更新的用户可能仅在 `options.txt` 缺失时加载默认配置文件。这可以在默认配置文件的右键单击上下文菜单中配置。
      • 数据包:创建新世界时。
  • 整合包别名:为整合包 ID 添加别名
    • 旨在帮助整合包开发者在不影响用户配置的整合包选择和顺序的情况下,在需要更新时迁移资源/数据包。
    • 仅当整合包被选中但不存在时使用。匹配从别名映射的顶部开始,并解析到第一个匹配项,请参阅 config.meta.json 文件。
    • 支持正则表达式(必须以 regex: 为前缀),如果操作正确,文本颜色将在 编辑别名 对话框中更改。
    • 精确匹配总是优先于正则表达式匹配,无论它们在别名映射中的位置如何(例如,整合包 ID file/test-v1.2 将始终匹配 "file/test-v1.2": "file/test-v1.4",而不是 "regex:file\\/test-v\\d*": "file/test-v2")。
    • 别名永远不会自动清除,即使它指向的整合包不再存在。它们只能通过游戏内 GUI 或配置文件手动移除。
    • 通常不建议在数据包上使用,因为它可能会破坏世界。请充分测试。

♨️ Java API

Java API 作为可选依赖项设计,允许模组扩展功能或添加与整合包的兼容性。这包括订阅各种事件和注册自定义偏好设置,以在界面的特定位置添加可配置的小部件。

您可以在 测试模组 中找到示例实现,以及 **主** 源代码集中的 兼容性 包中。

您还可以从源代码查看 javadocs。

访问 wiki 页面 了解更多详情。

🔗 兼容性

为以下模组添加了显式兼容性:

  • Resourcify
  • Respackopts
  • VTDownloader
  • 实体纹理特性
  • Polytone

如果上述模组变得不兼容,请提交问题。确保验证所使用的模组版本是否适用于目标 Minecraft 版本,以及问题是否仅在安装整合包时出现。

注意: 上述模组的兼容性是在 Java API 创建之前添加的。其他模组最好使用 Java API 以获得更好的长期兼容性。如果上述模组发生重大破坏性更改,则可能需要放弃兼容性。

已知不兼容

  • 异步整合包扫描。
    • 无法打开整合包界面或导致严重崩溃。使用整合包时您不需要此模组,因为整合包界面已经异步扫描整合包。