BetterStructures 命令
使用 /betterstructures 或 /bs。
设置与内容
| 命令 | 用途 |
|---|---|
/bs | 主帮助和状态命令 |
/bs initialize | 首次设置流程(打开首次设置菜单) |
/bs setup | 打开设置/内容菜单 |
/bs recommendedplugins | 显示与 BetterStructures 配合良好的配套插件 |
/bs downloadall | 下载插件更新(如有)以及所有可用内容,然后重新加载 |
/bs downloadallcontent | 仅下载所有可用内容包(不更新插件) |
/bs updatecontent | 下载过期内容的更新(别名:/bs updateallcontent) |
/bs forcereinstallcontent <package|all> | 即使已安装的版本已经是最新的,也通过正常的认证下载流程重新下载内容。Tab 补全会提供 all 以及每一个 Nightbreak 包的 slug。 |
/bs downloadpluginupdate | 下载待处理的插件更新(需要重启才能应用) |
/bs reload | 重新加载 BetterStructures 的配置与内容,并导入待处理的内容 |
/bs version | 显示插件版本 |
关于 /bs reload
/bs reload 不再禁用并重新启用插件。它现在执行的是一次就地内容重载:先在服务器主线程上重新读取 config.yml 和 ValidWorlds.yml,然后在工作线程上重建宝藏、生成器、模块生成器、生成池、原理图、模块以及内容包配置。命令、监听器和 NMS 适配器都保持已注册状态。
值得了解的影响:
- 在重载进行期间,
/bs place、/bs lootify、/bs pregenerate和/bs generateModules会被拒绝并提示 "content is reloading",同时新生成的区块会被跳过而不是被扫描。 - 如果在一次重载进行期间再次执行
/bs reload,你的请求会被排队,随后会再运行一次完整重载,这样你在重载过程中修改的文件仍然会被读取到。 - 如果重载失败,BetterStructures 会有意禁用自身,而不是带着只加载了一半的内容注册表继续运行。请检查控制台查明原因,修复后重启服务器。
关于 /bs forcereinstallcontent
普通下载会跳过本地版本已经与远程版本一致的包,这使得在磁盘上的文件损坏或被部分删除时它们毫无用处。forcereinstallcontent 会绕过该版本检查,把所选的包重新推送一遍相同的认证下载、导入和重载流程。
all会选中 BetterStructures 当前认为已下载、已安装或已过期的每一个包。如果没有任何匹配项,该命令会拒绝执行并要求你直接给出一个 slug —— 当某个包的文件完全丢失时,这正是你需要的做法。- 指定单个 slug 只会重装那一个包。
- 未知的 slug 会被拒绝,并附带一条提示你使用 Tab 补全的消息。
下载/更新、推荐插件和插件更新命令由内置于 BetterStructures 的共享 MagmaCore Nightbreak 系统提供。同一设置菜单中还会显示 Plugin Update(插件更新)项、Recommended Plugins(推荐插件)项以及 Automatic Updates(自动更新)开关(参见 设置)。
实用工具和管理命令
| 命令 | 用途 |
|---|---|
/bs place <schematic> <type> | 手动放置结构。有效类型:SURFACE、UNDERGROUND_SHALLOW、UNDERGROUND_DEEP、SKY、LIQUID_SURFACE |
/bs lootify <generator> <rarity> <minAmount> <maxAmount> <weight> | 将手持物品添加到宝藏表中。generator 必须是有效的宝藏配置,rarity 必须存在于该配置中,minAmount 必须至少为 1,maxAmount 必须最多为 64,且你必须手持物品。 |
/bs pregenerate <centerType> <shape> <radiusInBlocks> <applyWorldBorder> | 在启用 BetterStructures 的情况下预生成区块。世界取自玩家当前所在世界。centerType:HERE、WORLD_CENTER、WORLD_SPAWN。shape:SQUARE、CIRCLE。applyWorldBorder:TRUE/FALSE。 |
/bs cancelPregenerate | 取消玩家当前世界中正在进行的预生成(别名:/bs cancelpregenerate) |
/bs generateModules <generatorFile> | 从模块生成器文件生成模块化内容 |
/bs teleport <world> <x> <y> <z> | 传送到指定位置(别名:/bs tp) |
/bs silent | 切换某些管理员警告 |
权限
| 权限 | 描述 | 默认 |
|---|---|---|
betterstructures.setup | 访问 /bs setup、/bs recommendedplugins、/bs downloadallcontent 和 /bs updatecontent | OP |
betterstructures.initialize | 访问 /bs initialize | OP |
betterstructures.generatemodules | 访问 /bs generateModules | OP |
betterstructures.generatemodules.slowly | 在 plugin.yml 中注册,但当前源代码中没有被任何命令使用。可能是遗留项。 | OP |
betterstructures.generatemodules.instantly | 在 plugin.yml 中注册,但当前源代码中没有被任何命令使用。可能是遗留项。 | OP |
betterstructures.* | 实用工具和管理命令的通配符(place、pregenerate、cancelPregenerate、reload、teleport、version、lootify、/bs 帮助),以及管理内容命令 /bs downloadall、/bs downloadpluginupdate 和 /bs forcereinstallcontent。默认由 OP 持有。 | OP |
| (无) | /bs silent 在源代码中没有权限门控 —— 任何发送者都可以运行它。 | — |
betterstructures.setup 涵盖内容浏览/管理命令,betterstructures.initialize 涵盖首次设置,betterstructures.generatemodules 涵盖地牢生成。插件与内容合并的 /bs downloadall、仅插件的 /bs downloadpluginupdate,以及面向修复的 /bs forcereinstallcontent 都受管理员通配符 betterstructures.* 门控。.slowly 和 .instantly 变体仍在 plugin.yml 中声明,但目前没有命令检查它们。
betterstructures.* 还控制着首次设置提醒:持有该权限的玩家在 config.yml 中的 setupDone 被设为 true 之前,会收到一条指向 /bs initialize 的一次性加入消息。