BetterFood 兼容性
运行时目标
当前仓库目标:
- 插件版本:
1.5.0 - Bukkit
api-version:1.21.4 - Spigot API 构建目标:
26.2-R0.1-SNAPSHOT - Java:
21
命令
插件使用:
/betterfood/bf
面向玩家的子命令专注于切换:
- 自动进食(
toggleEating,或不带参数直接执行/betterfood) - 操作栏上的食用反馈消息(
toggleMessage)
管理员子命令(需要 betterfood.admin)提供了共享的 Nightbreak 工具:
setup—— 打开游戏内设置菜单recommendedplugins—— 显示与 BetterFood 搭配良好的插件。BetterFood 目前在共享推荐目录中没有任何条目,因此该命令会打开一个空菜单,并告知你当前没有额外的推荐(控制台发送者会以聊天文本收到同样的提示)downloadpluginupdate/downloadall—— 如果有可用更新,则下载插件更新downloadallcontent—— 提示 BetterFood 没有内容包
Tab 补全会按权限以及已输入的内容进行过滤:toggleEating 和 toggleMessage 只会提示给拥有 betterfood.user 的发送者,而 downloadpluginupdate、downloadallcontent、setup 和 recommendedplugins 只会提示给拥有 betterfood.admin 的发送者。虽然 downloadall 别名同样被接受,但有意不作为补全建议。两个玩家开关仅限玩家使用 —— 显式的 toggleEating / toggleMessage 子命令会以 "BetterFood settings can only be changed in-game." 拒绝非玩家发送者,而不带参数的 /betterfood 命令则会引导控制台发送者改用更新命令。没有 betterfood.user 的玩家会被告知其无权更改 BetterFood 设置。无法识别的子命令,或者传入超过一个参数,都会打印用法提示行;而这条用法提示行本身也是按权限区分的:管理员看到完整列表,其他人只看到两个开关。
共享的 MagmaCore 命令
由于内置了共享的 MagmaCore 工具,BetterFood 还会在加载时注册以下命令 —— 但仅限于尚无其他插件占用它们的情况,所以在已经运行了另一个 MagmaGuy 插件的服务器上,最先加载的插件将拥有这些命令,而 BetterFood 会记录它跳过了注册:
/nightbreak plugins—— 浏览插件目录,在游戏内以菜单形式呈现,在控制台则以聊天列表形式呈现(nightbreak.plugins,默认op)。不带参数的/nightbreak只会打印用法提示行。/nightbreaklogin <token>和/nightbreaklogout—— 连接和断开共享的 Nightbreak 账户令牌(nightbreak.login,默认op)/logify—— 将当前服务器日志上传到 mclo.gs(logify.*,默认op)/betterfoodchangelog [dismiss|disable]—— 显示未读的 BetterFood 版本说明。该命令按插件加上了命名空间,因此不会发生冲突;如果/betterfoodchangelog出于某种原因已被占用,它会回退为betterfood:betterfoodchangelog之类的标签。
更新日志命令仅限管理员且仅限游戏内使用:对于没有管理员权限的发送者(或控制台),它会回复 "This command is only available to plugin administrators in-game."。如果玩家是 op,或者拥有 betterfood.admin 或 betterfood.*,就会被视为管理员。管理员在加入服务器后不久也会收到未读版本说明的提醒,除非他们执行过 /betterfoodchangelog disable。已读/已忽略状态会按玩家存储在 plugins/BetterFood/nightbreak-changelogs.yml 中。
共享流程请参阅 Nightbreak 令牌、Nightbreak 设置 和 更新日志通知。
权限
betterfood.user(默认true)—— 控制自动进食监听器以及玩家开关。betterfood.admin(默认op)—— 控制插件更新下载、设置菜单和推荐插件命令。它同时也算作更新日志命令的管理员权限。nightbreak.plugins、nightbreak.login和logify.*(均默认op)—— 由内置的 MagmaCore 工具为上述共享命令注册,并未在 BetterFood 的plugin.yml中声明。
其他集成
- 已启用 bStats 统计(插件 id 为
4557)—— 如果想退出,可通过 bStats 配置在全局范围内禁用。 - BetterFood 现已附带共享的 MagmaCore 工具。它会生成一个带有
nightbreak.autoDownloadPluginUpdates开关(默认false)的config.yml—— 这也是 BetterFood 自身写入config.yml的唯一键 —— 并在启动数分钟后检查nightbreak.io是否有更新版本(该延迟按插件错开,以免多个 MagmaGuy 插件同时对外请求),之后大约每小时检查一次。只有结果发生变化时才会记录日志,因此控制台不会每小时被刷屏。BetterFood 不传递任何 SpigotMC 资源 ID,其目录条目中也没有,因此没有 SpigotMC 版本回退。 - 在有待处理更新时加入服务器的管理员,会在登录几秒后收到一条带有下载页面链接的聊天提示。只要已安装版本落后,每次加入都会发送。
- 账户令牌保存在插件文件夹之外的共享文件
plugins/MagmaCore/nightbreak.yml中,因此只需链接一次即可覆盖服务器上的每个 MagmaGuy 插件。 - 没有外部插件依赖;食物逻辑仅监听原版的
FoodLevelChangeEvent。