跳到主要内容

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 applypluginupdate 或启用 nightbreak.applyPluginUpdatesWithoutRestart 设置,则可以更早应用。
/bs applypluginupdate无需重启服务器即可应用已下载的插件更新
/bs reload重新加载 BetterStructures 的配置与内容,并导入待处理的内容
/bs version显示插件版本

关于 /bs reload​

/bs reload 不再禁用并重新启用插件。它现在执行的是一次就地内容重载:先在服务器主线程上重新读取 config.yml 和 ValidWorlds.yml,然后在工作线程上重建宝藏、生成器、模块生成器、生成池、原理图、模块以及内容包配置。命令、监听器和 NMS 适配器都保持已注册状态。

值得了解的影响:

  • 重载会取消正在进行的预生成和模块生成,并让仍在排队或正在进行的结构与地牢粘贴就地停止。设置菜单和首次设置菜单在重载期间也不可用。
  • 在重载期间,/bs place、/bs lootify、/bs pregenerate 和 /bs generateModules 会被拒绝,并提示内容正在重载。新区块扫描和待处理的地牢扫描会保留到重载成功后再执行。如果排队中的区块被卸载,扫描会等待它再次加载。
  • 如果在一次重载进行期间再次执行 /bs reload,你的请求会被排队,随后会再运行一次完整重载,这样你在重载过程中修改的文件仍然会被读取到。
  • 如果重载失败,BetterStructures 会有意禁用自身,而不是带着只加载了一半的内容注册表继续运行。请检查控制台查明原因,修复后重启服务器。

关于 /bs forcereinstallcontent​

普通下载会跳过本地版本已经与远程版本一致的包,这使得在磁盘上的文件损坏或被部分删除时它们毫无用处。forcereinstallcontent 会绕过该版本检查,把所选的包重新推送一遍相同的认证下载、导入和重载流程。

  • all 会选中 BetterStructures 当前认为已下载、已安装或已过期的每一个包。如果没有任何匹配项,该命令会拒绝执行并要求你直接给出一个 slug —— 当某个包的文件完全丢失时,这正是你需要的做法。
  • 指定单个 slug 只会重装那一个包。
  • 未知的 slug 会被拒绝,并附带一条提示你使用 Tab 补全的消息。

关于 /bs applypluginupdate​

/bs applypluginupdate 会在不重启的情况下换入一个已下载、正在服务器更新文件夹中等待的 BetterStructures 更新。它会禁用 BetterStructures 以及所有依赖它的 MagmaGuy 插件,替换 jar,然后重新加载并启用它们。随之重载的插件会在聊天中列出。如果新的 jar 无法启用,会重新加载之前的 jar,更新则保持暂存状态,留待下次重启。

当没有暂存的更新、暂存的 jar 无效或版本不比正在运行的版本新,或者有其他作者的插件依赖 BetterStructures 时,该命令会拒绝执行。这种情况下请重启服务器。插件重载时,正在进行的 Boss 战、竞技场和地牢实例都会结束。

如需自动应用已下载的更新,请在 config.yml 中设置 nightbreak.applyPluginUpdatesWithoutRestart(参见 配置)。

下载/更新、推荐插件和插件更新命令由内置于 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切换某些管理员警告

使用这些实用命令时,请注意以下限制:

  • /bs place 的消息只表示尝试了放置,并不确认结构已经放置成功。
  • 请在游戏内使用 /bs lootify,并把物品拿在主手。数量和权重参数必须是整数。请使用 1 <= minAmount <= maxAmount <= 64 和正权重;命令不会拒绝所有无效范围。保存条目后会开始内容重载。
  • /bs pregenerate 接受零或更多方块的半径,并向上取整到完整区块。applyWorldBorder 为 TRUE 时,完成后会设置直径为 2 × radiusInBlocks 的正方形世界边界,即使生成形状是 CIRCLE。取消不会设置边界,也不会撤销已生成的区块。如果某个区块加载失败,预生成会停止,记录失败的区块,并保持世界边界不变。
  • /bs teleport 需要已加载的世界和整数坐标,不支持相对坐标。

权限​

权限描述默认
betterstructures.setup访问 /bs setup、/bs recommendedplugins、/bs downloadallcontent 和 /bs updatecontentOP
betterstructures.initialize访问 /bs initializeOP
betterstructures.generatemodules访问 /bs generateModulesOP
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 applypluginupdate 和 /bs forcereinstallcontent。默认由 OP 持有。OP
betterstructures.*/bs silent 也需要此权限;该命令修改全服务器的警告设置。OP
betterstructures.warn当 warnAdminsAboutNewBuildings 为 true 时,接收可点击的“新建筑已生成”和“新地牢开始生成”消息。该权限未在 plugin.yml 中声明,因此 Bukkit 默认将其授予 OP。OP

betterstructures.setup 涵盖内容浏览/管理命令,betterstructures.initialize 涵盖首次设置,betterstructures.generatemodules 涵盖地牢生成。插件与内容合并的 /bs downloadall、仅插件的 /bs downloadpluginupdate 和 /bs applypluginupdate,以及面向修复的 /bs forcereinstallcontent 都受管理员通配符 betterstructures.* 门控。.slowly 和 .instantly 变体仍在 plugin.yml 中声明,但目前没有命令检查它们。

授予 betterstructures.*、betterstructures.setup、betterstructures.initialize 或 betterstructures.generatemodules 中的任一权限即可访问根命令。各子命令仍会检查各自的权限,因此只负责设置的管理员不需要通配符权限。

betterstructures.* 还控制首次设置提醒:当 config.yml 中的 setupDone 为 false 时,持有此权限的玩家每次加入十秒后都会收到指向 /bs initialize 的消息。