BetterStructures 内容包
BetterStructures 现在将官方内容作为托管包处理,而不是纯手动导入工作流程。
主要命令
| 命令 | 用途 |
|---|---|
/bs initialize | 首次设置流程 |
/bs setup | 浏览和管理包状态 |
/bs downloadall | 下载插件更新(如有)以及所有可用内容,然后重新加载 |
/bs downloadallcontent | 仅下载所有可用内容(不更新插件) |
/bs updatecontent | 更新过期内容(别名:/bs updateallcontent) |
/bs forcereinstallcontent <package|all> | 即使已安装的版本已经是最新的也重新下载内容 —— 用于修复损坏或被部分删除的内容包 |
/bs recommendedplugins | 列出与 BetterStructures 配合良好的配套插件 |
/nightbreaklogin <token> | 共享 Nightbreak 令牌注册 |
下载和更新命令使用 BetterStructures 内置的 MagmaCore 共享 Nightbreak 系统检查令牌、检查访问权限并下载文件。随后,BetterStructures 通过自身的重载流程导入内容。
包类型
每个包都会声明一个 contentPackageType,设置菜单会为每种类型提供一个筛选项:
contentPackageType | 设置菜单筛选项 | 文件落入 |
|---|---|---|
STRUCTURE(默认) | Structure Packs | plugins/BetterStructures/schematics/<folderNameV2> |
MODULAR | Module Packs | plugins/BetterStructures/modules/<folderNameV2> |
使用 /bs setup 来筛选和检查包,而不是依赖旧的静态列表。
包配置字段
每个包都由 plugins/BetterStructures/content_packages 中的一个配置文件描述。你很少需要手动编辑它们 —— 它们随插件一起分发,也是插件跟踪包状态的方式 —— 但各字段如下:
| 键 | 默认值 | 描述 |
|---|---|---|
isEnabled | true | 由设置菜单修改的内容包安装标记。为 false 时,该包文件夹内的任何内容都不会加载,详见下文。 |
name | — | 设置菜单中显示的名称 |
description | — | 设置菜单中显示的描述行 |
downloadLink | — | 内容包没有 nightbreakSlug 时显示的手动下载链接;托管下载使用 slug |
version | 0 | 本地内容版本,用于与远程版本比较以判断该包是否过期 |
folderNameV2 | — | 该包文件所在的子文件夹,根据类型位于 schematics 或 modules 之下 |
contentPackageType | STRUCTURE | STRUCTURE 或 MODULAR |
nightbreakSlug | — | 用于访问检查、下载以及作为 /bs forcereinstallcontent 选择器的 Nightbreak 标识符 |
从设置菜单安装或卸载包时,只会修改该包的 isEnabled,然后触发重载。它不会编辑包内的原理图或模块配置。卸载会保留磁盘上的文件。
当某个包的 isEnabled: false 时,原理图和模块加载器会跳过它的整个文件夹(schematics/<folderNameV2> 或 modules/<folderNameV2>),包括子文件夹。这同时适用于 STRUCTURE 和 MODULAR 包。在已启用的包内,每个原理图和模块配置仍有各自的 isEnabled。
包内容
BetterStructures 包是一个 zip 文件,其 pack.meta 声明了 betterstructures。放在 plugins/BetterStructures/imports 中、没有 pack.meta 的 zip 也按同样方式处理。包的顶层文件夹会按名称解压:
| 包中的文件夹 | 目标位置 |
|---|---|
content_packages、schematics、modules、module_generators、generators、treasures、spawn_pools、components | plugins/BetterStructures 中的同名文件夹 |
custombosses、customitems、customtreasurechests、powers、enchantments | plugins/EliteMobs 中的同名文件夹 |
models 或 modelengine | FreeMinecraftModels 的 models 文件夹;如果只安装了 ModelEngine,则为 ModelEngine 的 blueprints |
scripts | plugins/FreeMinecraftModels/scripts |
freeminecraftmodels、elitemobs、betterstructures | 对应插件数据文件夹的根目录,并保留其中的目录结构,例如 freeminecraftmodels/enchantments |
worldcontainer | 服务器的世界容器 |
如果顶层文件夹不在此表中,导入器会拒绝整个包。共享的导入规则请参阅 手动导入与游戏内管理。
当包添加了 EliteMobs 内容时,BetterStructures 会在导入后重载 EliteMobs。当其他插件的包把文件导入到 BetterStructures 文件夹时,BetterStructures 会在自身启动完成后执行一次内容重载。
包状态
根据包和你的令牌状态,BetterStructures 可以区分:
- 已安装的内容
- 已下载但未启用的内容
- 过期的内容
- 需要 Nightbreak 访问权限的内容
菜单将路径存在的包视为已下载,再结合该包的 isEnabled 标记判断是否已安装。这只是状态指示,并非文件完整性检查:空文件夹或损坏的文件夹也可能显示为已安装。使用 /bs forcereinstallcontent <package|all> 修复文件。all 会选择当前被识别为已下载、已安装或过期的包;如果整个包文件夹都已丢失,请直接指定 slug。
手动导入备选方案
手动导入仍然使用:
plugins/BetterStructures/imports
保持包的 zip 文件完整,然后在需要时重新加载 BetterStructures。手动导入仍然受支持,但不再是主要的文档化工作流程。