SignBoard 告示牌
将不限数量的文本行附加到标志和活动实体,并在单击它们时运行命令!
点此下载插件详细介绍
SignBoard是一款Spigot/Paper/Bukkit插件,允许你将无限量的文本附加到告示牌或生物实体上(包括盔甲架、村民、怪物和Citizens2 NPC!)。它还支持在玩家查看告示牌/实体时给予书籍,并在玩家查看/离开/点击告示牌或攻击/杀死实体时执行命令。SignBoard还支持多语言显示,可以根据玩家的语言或职业显示不同的内容。
ℹ️ 简介
厌倦了告示牌上拥挤的空间?现在,你可以使用 SignBoard 来展示无限量的文本!你甚至可以将文本附加到生物实体上!而且,你还可以为告示牌和实体附加命令,以便在不同的时间运行!
使用 SignBoard,你可以创建文本“面板”,并将这些面板附加到告示牌或生物实体。每个面板最多可以容纳 15 行文本(每个面板总共 600 个字符)。你还可以将多个面板组合成一个“集合”,并将该集合用作单个文本主体。
当玩家查看告示牌或实体时,排行榜区域会用于向他们展示面板上的文本。它非常适合在游戏中交流任何内容。管理员可以向玩家提供说明,玩家可以向访客展示有关其建筑的详细信息,RPG 游戏可以在队伍进入房间时提供详细的背景故事……没有限制。
与将面板附加到告示牌的方式非常相似,SignBoard 允许你将面板或集合附加到生物实体!例如,你可以将面板或集合附加到村民或 NPC,每当玩家查看 NPC 时,就会显示文本。(盔甲架也可以用作生物实体)。
当向玩家展示一组面板时,一次只会显示一个面板。玩家可以通过右键或左键单击告示牌/实体来在面板之间来回切换。这样,一个集合就像书中的页面一样。
你还可以将命令附加到告示牌和实体,并控制这些命令的运行时间。命令可以在玩家查看告示牌/实体、离开告示牌/实体、单击告示牌或攻击/杀死实体时运行。
作为额外的好处,SignBoard 还允许你编辑告示牌上的文本,而无需破坏告示牌并从头开始编写所有内容 - 只需查看你创建的告示牌并使用命令 /sb sign lineX text(见下文)。
✔️ 版本支持
SignBoard v1.6.3 及更高版本支持从 1.13.3 到 1.19.3 的所有 Bukkit/Spigot/Paper 版本。SignBoard v1.6.2 支持从 1.8.7 到 1.16.1 的所有 Bukkit/Spigot/Paper 版本。
(Signboard 有自己的集合变量,并支持 Placeholder API)
🌐 多语言支持
从 1.6.6 版本开始,SignBoard 支持其界面(菜单和消息)的不同语言。这允许用户选择自己的语言偏好并以该语言使用插件。现在它有英语(美国)、葡萄牙语(巴西)和西班牙语(哥伦比亚)选项,但你可以将区域设置文件翻译成其他语言 - 只需与我们分享,我们就会将其包含在 SignBoard 的未来版本中!
查看 /sb locale 命令。
新面板的默认文本也已移至区域设置文件。因此,现在创建一个新面板时,每个玩家都会以他们(选择的)首选语言看到其默认文本。
实际上。每个面板上的每一行都会被处理以进行翻译。因此,如果你要在区域设置文件中添加一行,内容为“This is a board line”:“Esta é uma linha de placa”,则每个包含“This is a board line”的面板都会根据每个玩家的首选区域设置显示来自相应区域设置文件的翻译版本。
⚙️ 安装
只需将 jar 文件放入插件文件夹并重新启动服务器。
🛠️ 基本用法
SignBoard 的工作方式是让你创建“面板”,然后将这些“面板”附加到一个或多个告示牌或实体 - 动物、村民、怪物、盔甲架、NPC 甚至真实玩家(只有 OP 才能将面板附加到玩家)。
你可以使用 /sb set 命令将面板分组到集合中。然后,一个集合的行为类似于单个文本主体,并且它包含的各种面板将按顺序显示,玩家可以右键或左键单击来切换面板。
你可以使用 /sb sign attach 和 /sb sign detach 命令来附加或从告示牌移除面板或集合。
使用命令 /sb entity attach 和 /sb entity detach 从生物实体附加和分离面板或集合。
面板的内容显示在记分卡区域中,因此每个面板最多可以有 15 行,每行 40 个字符。
你可以使用 Minecraft 中常用的所有文本颜色和格式标记(&0 = 黑色;&1 = 深蓝色;&2 = 深绿色;&3 = 深青色;&4 = 深红色;&5 = 深紫色;&6 = 金色;&7 = 灰色;&8 = 深灰色;&9 = 蓝色;&a = 绿色;&b = 青色;&c = 红色;&d = 浅紫色;&e = 黄色;&f = 白色;&k = 魔法;&l = 粗体;&m = 删除线;&n = 下划线;&o = 斜体;&r = 重置)。
🚀 入门
- 想出一个新面板的名称。
- 使用命令
/sb board new [boardname]创建一个面板。 - 放置一个告示牌,看着告示牌并使用命令
/sb sign attach [boardname]将面板附加到它。 - 如果要将面板附加到生物实体,看着它并使用命令
/sb entity attach [boardname]。 - 看着告示牌或实体 - SignBoard 将显示新面板的默认内容。
- 使用命令
/sb board [boardname] lineX [text]编辑面板(你不需要看着告示牌/实体)。 - 使用
/sb set命令将多个面板分组到集合中。然后使用/sb sign attach和/sb entity attach将集合附加到告示牌或实体。当你看着告示牌/实体时,将显示集合中的第一个面板;通过右键或左键单击告示牌/实体来循环浏览其他面板。
💡 提示和注意事项
- 现有的排行榜会受到尊重,并且会在玩家离开告示牌或实体时重新加载。
- 你只能编辑你可以破坏的告示牌。当你尝试使用告示牌时,SignBoard 会测试你是否能够破坏和替换它,然后才允许你使用它。你也可以使用
/sb sign lineX text编辑告示牌。 - 空行 - 在告示牌和面板中,你可以将当前行替换为空行;只需将行的内容设置为 &r,它就会变为空白。
- 你只能更改你创建的面板,但是没有什么可以阻止你在告示牌上使用现有的面板名称(例如 [boardname]),即使该面板是由其他玩家创建的。
- 要对告示牌使用附加/分离命令,你必须能够破坏告示牌。要对实体使用附加/分离命令,你必须拥有所讨论的面板。除非你是 OP,在这种情况下你可以做任何事情。
✏️ 编辑面板的内容
当你创建一个新面板时,它带有默认内容。你可以通过三种不同的方式编辑任何面板上的行:
/sb board [boardname] lineX [content]- 直接更改行 X 的内容。/sb board [boardname] lineX-Y [content]- 更改行 X 到 Y 的内容(例如 1-3 或 3-1 - 顺序很重要)。/sb board [boardname] linepushX [content]- 更改从 lineX 开始的行的内容,并将任何现有行向下推。
[content] 可以是任何文本,在最后两个命令中,它甚至可以跨越多行 - 只要你使用 \n 来指示换行符。
例如,内容文本 4\n text 3\n text 2 包含两个换行符,因此它包含三行的文本。如果你使用命令
/sb board [boardname] line4-3 text 4\n text 3\n text 2
你将使用“text 4”替换第 4 行的内容,并使用“text 3”替换第 3 行的内容;“text 2”将被忽略,因为你只指定了要更新的两行(4-3)。
同样,如果你使用命令
/sb board [boardname] linepush4 text 4\n text 3
你将使用“text 4”替换第 4 行的内容,使用“text 3”替换第 3 行的内容,并且旧的第 4, 3, 2, 1 行的内容将被“向下推”,因为插入了新内容,导致第 2 行以第 4 行的旧内容结束,第 1 行以第 3 行的旧内容结束。
需要记住的几件事:
- 标题行是 line16。
- 每行只能容纳 40 个字符;超出此范围的任何内容都将被截断。
- 没有两行可以具有相同的内容,因此如果你希望两行看起来相同,请在其中插入不可见的 &r 字符,以使它们彼此不同。
✨ 使用面板集显示多个面板
从 1.3.2 版本开始,SignBoard 允许你在玩家查看告示牌或生物实体时向他们显示多个面板。这是通过将多个面板分组到一个集合中来实现的。
使用 /sb set 命令创建、删除和列出现有集合。以与附加/分离面板相同的方式使用 /sb sign 和 /sb entity 的附加和分离命令附加和分离告示牌和实体的集合。
附加集合后,当玩家查看告示牌/实体时,将显示集合中的第一个面板。然后,玩家可以通过左键和右键单击来循环浏览不同的面板。集合可以包含任意数量的面板。
关于附加了集合的实体的几点说明:
- 右键单击:当一个集合附加到一个实体时,实体上的第一次右键单击会被 SignBoard 接管。但是,在实体上第二次右键单击(在半秒内)将被正常处理。例如,如果你将一个集合附加到一个村民,则在村民上单击一次右键将循环到集合中的上一个面板,并且不会显示村民交易 GUI。但是,如果你双击右键单击村民,则第一次右键单击将循环面板,第二次右键单击将打开交易 GUI。
- 左键单击:当一个集合附加到一个实体时,你必须(左键)单击该实体才能循环浏览面板;单击实体通常意味着你正在攻击并可能损坏该实体。因此,当实体附加了一个集合时,SignBoard 会拦截单击并取消损坏。
"/sb entity onattack"命令仍然有效,但实体不会受到任何损坏。
📚 发放书籍
当玩家查看告示牌或实体时,你可以选择在屏幕上显示面板文本或将文本作为书籍提供给玩家 - 或者两者都提供,或者两者都不提供。命令 /sb sign show_board 和 /sb entity show_board 切换在屏幕上显示面板的文本。如果你更愿意给玩家一本带有文本的书籍,则命令 /sb sign give_book 和 /sb entity give_book 切换该功能。你也可以使用这些命令既在屏幕上显示面板,又提供书籍,或者既不显示面板也不提供书籍。
使用 /sb sign status 和 /sb entity status 检查所有已定义选项的状态。
从 1.6.12 版本开始,命令 /sb board give_as_book [boardname] [playername] 可用于立即将某个面板的内容作为书籍提供给玩家。例如,可以在告示牌或实体的“run”命令中使用此命令,以便仅在单击告示牌或实体时才发放相应的书籍,而不是在玩家查看时才发放。
📖 格式化书籍
SignBoard 会自动转换你的面板文本,以将其放置在书籍中(当启用 show_book 时)。由于书籍和记分卡上的行大小差异很大,并且书籍有分页符,SignBoard 会尝试整齐地断行和分页,但可能需要进行一些微调。
以下是一些可以帮助你的提示:
- 仅包含 &r 的面板行将在书中显示为空白行。
- 在面板上的任何位置使用 \n 来断开当前书籍行。\n 在面板在屏幕上显示时将被忽略。
- 当 SignBoard 断开长行时,它会尝试在完整的单词边界处进行断行,并将尝试插入适当的空格。但是你可能需要在面板上管理某些行末尾或开头的空格。
- 如果 SignBoard 找到由单个字符重复多次组成的面板行(例如“================”),则它不会将该行断成两本书籍行,而是会缩短它以使其适合单本书籍行。
⚔️ 在告示牌点击或实体攻击或杀死时运行命令
就像你将面板附加到告示牌和实体一样,你也可以附加将在特定时间运行的命令。这些可以是管理员可以在游戏中发出的任何命令。命令将以玩家的名义发出,并且就像玩家具有管理员权限一样。这些命令接受变量替换,就像任何 SignBoard 命令一样。
命令被指定为一个序列,用竖线分隔,例如 <cmd1> | <cmd2> | ... | <cmdn>。
从 1.3.3 版本开始,你还可以在序列中插入延迟,语法为 [Tu],其中 T 是一个大于 0 的整数,u 是一个时间单位:'s'、'm' 或 'h'。例如,序列 [5s] | <cmd1> | [2m] | <cmd2> 在执行时,将在运行 <cmd1> 之前等待 5 秒,然后在运行 <cmd2> 之前额外等待 2 分钟。谨慎使用延迟;即使玩家不再查看告示牌/实体,甚至离开了服务器,延迟命令也会执行。
某些命令只能从服务器控制台运行。从 1.6.13 版本开始,你可以在命令前加上 _rfc_ 以告诉 SignBoard 从服务器控制台运行该命令。如下所示:/sb sign before _rfc_ tell Ebaldino hi。
以下 SignBoard 命令控制着发生什么以及何时发生:
/sb sign before和/sb entity before- 允许你指定一个命令列表,以便在每次玩家查看告示牌或实体时运行,就在显示面板文本之前。(如果 show_board 选项关闭,命令仍然运行)。/sb sign after和/sb entity after- 允许你指定一个命令列表,以便在每次玩家离开告示牌或实体时运行,就在隐藏面板文本之后。(如果 show_board 选项关闭,命令仍然运行)。/sb sign onclick- 允许你指定一个命令列表,以便在玩家单击告示牌时运行。/sb sign onrightclick- 允许你指定一个命令列表,以便在玩家右键单击告示牌时运行。/sb sign onshiftclick和/sb sign onrightshiftclick- 允许你指定一个命令列表,以便在玩家分别按住 Shift 键单击或右键单击告示牌时运行。/sb entity onattack- 允许你指定一个命令列表,以便在每次实体受到攻击时运行。/sb entity onkill- 允许你指定一个命令列表,以便在实体被杀死时运行。
使用 /sb sign status 和 /sb entity status 检查所有已定义选项的状态。
📦 变量
在你的面板中的任何位置使用以下任何变量。确保包含“{”和“}”。
当面板显示给玩家时,变量将被替换为它们的实时值。
- {ServerDate} = 当前日期。
- {ServerTime} = 当前时间。
- {PlayersNow} = 服务器上的玩家数量。
- {PlayersMax} = 服务器上的最大玩家数量。
- {PName} = 玩家的姓名。
- {PDisplayName} = 玩家的显示名称。
- {PHealth} = 玩家的生命值。
- {PCoords} = 玩家的当前位置。
- {PMobKills} = 玩家杀死的怪物数量。
- {PKills} = 玩家杀死的玩家数量。
- {PDeaths} = 玩家死亡的次数。
- {PTimeAlive} = 玩家上次死亡以来的时间。
- {PMoney} = 玩家的钱(需要 Vault)。
🔌 Placeholder API
Placeholder API 支持从 Signboard 1.1.8 版本开始。这允许你使用来自许多其他插件的变量(“占位符”),以及大量的“本机”Placeholder API 变量。
要使用 Placeholder API,请下载插件,将其放入插件文件夹并重新启动服务器。在游戏中,发出命令 /papi ecloud list all 并查找你想要的占位符组。然后单击它并接受下载命令。然后你要做的就是像变量一样在你的面板上使用占位符,并用“%”括起来(%placeholder%)。
Placeholder API 本机变量及其组在此处列出:Placeholder API 本机变量列表
✨ FeatherBoard 兼容性
从 1.4.9 版本开始,SignBoard 使用 FeatherBoard API 进行开箱即用的兼容性。特别感谢 jamisen10 让我注意到 FB API。
在 1.4.8 版本之前,SignBoard 实施了一种基于命令的 FeatherBoard 兼容性解决方法。它检测到 FB 的存在,然后在向用户显示面板之前发出 "/fb off -s"(为该用户关闭 FB),并在用户移开时发出 "/fb on -s"(重新打开 FB)。
如果你有另一个记分卡插件阻止 SignBoard 正确显示其面板,并且该插件具有如上所述的“off”和“on”命令,则可以使用 config.yml 中的“cmd_before”和“cmd_after”选项来实施与 FeatherBoard 相同的“off/on”机制。或者你可以使用面板命令对单个面板执行相同的操作。特别感谢 gmalone 帮助我解决了这个解决方案!
✨ 分类
分类允许你向不同的玩家群体传达不同的内容。
这是一个非常强大的功能,可以让你做一些有趣的事情,例如:
- 以玩家的首选语言显示内容。这不是一个翻译功能 - 你仍然需要以不同的语言创建内容,但是你可以将单个面板附加到告示牌或实体,并让 SignBoard 根据正在查看它的玩家选择要显示的正确版本的面板。
- 为不同的角色类别显示特定的面板。当巫师查看地牢房间中的告示牌时,他们将看到你为巫师准备的面板;当战士查看同一告示牌时,他们将看到战士的面板,依此类推。
- 为不同的玩家等级显示特定的面板。当黄金玩家查看仓库中的告示牌时,他们将看到你为黄金玩家准备的面板;当白金玩家查看同一告示牌时,他们将看到白金玩家的面板……
它不仅仅适用于语言或类别!分类也适用于你可以想到的任何其他玩家群体!
它是如何工作的?这取决于你是否在服务器上使用权限:
1. 如果你使用权限,则使用分类
- 每个现有的权限,例如 lang.ptbr,都被视为一个类别。
- 要创建属于某个类别的面板,只需创建(使用 /sb board new、copy 或 rename)面板,并在新面板的末尾添加 ^(类别分隔符)加上类别的名称。因此,如果原始面板是 signboard,则新面板将被称为 signboard^lang.ptbr。
就是这样。每当具有 lang.ptbr 权限的玩家查看附加了 signboard 面板的告示牌/实体时,将显示 signboard^lang.ptbr 面板。
只需将所有当前存在的面板视为属于一个空白的“默认”类别即可。你可以创建任何你喜欢的新类别。
重要提示:请记住,OP 玩家具有所有权限,因此他们将始终看到类别面板,就好像他们已被授予该权限一样。为了设置和测试此功能,最好使用未被 OP 的玩家。
2. 如果你不使用权限,则使用分类
如果不使用权限,则需要创建类别,将其分配给玩家,然后创建类别面板。
- 使用 /sb cat new [categoryname] 创建一个新类别。例如:/sb category lang.ptbr
- 使用 /sb cat assignplr [categoryname] [playername] 将类别分配给玩家
- 通过创建面板(使用 /sb board new、copy 或 rename)并在新面板的末尾添加 ^(类别分隔符)加上类别的名称来创建类别面板。因此,如果原始面板是 signboard,并且类别是 lang.ptbr,则新面板将被称为 signboard^lang.ptbr。
就是这样。每当具有 lang.ptbr 类别的玩家查看附加了 signboard 面板的告示牌/实体时,将显示 signboard^lang.ptbr 面板。
只需将所有当前存在的面板视为属于一个空白的“默认”类别即可。你可以创建任何你喜欢的新类别。
分类 - 附加(非常有用的)信息:
- 请记住,每个权限都被视为一个类别。
- 请记住,OP 玩家具有所有权限,因此他们将始终看到类别面板,就好像他们已被授予该权限一样。为了设置和测试此功能,最好使用未被 OP 的玩家。
- 当你将面板附加到告示牌或实体时,SignBoard 将始终附加“根”面板,而不是包含类别规范的面板(即,signboard 面板,而不是 signboard^lang.ptbr 面板)。
- “^”字符默认情况下是类别分隔符。如果此字符出现在面板名称上,则其后的所有内容都将被视为类别名称。可以在 config.yml 中更改此默认字符 - 请确保选择一个你从未在预先存在的面板名称中使用过的字符。并尽量保持你的类别名称简短。
- 你可以拥有属于多个类别的面板;例如 welcomeTavern1^ptbr^fighters、welcomeTavern1^enus^fighters、welcomeTavern1^ptbr^wizards 等。
- 你可以通过两种不同的方式将玩家分配给多个类别:(a) 多次使用 /sb category assignplr [categoryname] [playername];(b) 使用 /sb playercat [playername] assign [categoryname1] [categoryname2] ... [categorynameN]。或者只是授予他们相应的权限。
- 如果玩家查看属于多个类别的面板,则玩家必须被分配到所有这些类别(或权限)才能显示正确的面板。否则,他们将显示默认面板。尽量减少具有多个类别的面板数量,否则这将很难管理。
- 重要提示:在创建属于多个类别的面板时,请注意不要重复类别类型。也就是说,可以拥有 welcomeTavern1^ptbr^wizards(语言 + 类别),但不可以拥有 welcomeTavern1^ptbr^esco(语言 + 语言)- 这将使 SignBoard 尝试将玩家与 ^ptbr 和 ^esco 都匹配,换句话说,一个应该同时显示葡萄牙语和西班牙语的玩家。如果你愿意,没有什么可以阻止你这样做,但我们强烈建议你不要这样做,因为事情会很快变得令人困惑。
⌨️ 命令
根命令别名
SignBoard 的标准根命令是 /sb。由于其他插件也可能使用 /sb,SignBoard 支持四个命令别名。但是,仅仅拥有别名并不能阻止 SignBoard 在你每次尝试使用其他插件时都做出响应。因此,SignBoard 允许你选择它将响应哪些根命令别名。
SignBoard 可以响应以下五个根命令中的任何一个:/sb /signboard /sbd /sbrd /signbd。
config.yml 中的 active_aliases 参数控制实际使用哪些别名。例如,以下配置行将使 SignBoard 接受所有 5 个根命令:
active_aliases: sb signboard sbd sbrd signbd
默认情况下,只有三个选项处于活动状态(sb sbd signboard),但是你可以根据需要混合和匹配,以确保与服务器中的其他插件兼容。列表中的第一个选项将是在 SignBoard 的所有帮助文本中显示的选项(通常为“/sb”)。
玩家命令
信息命令:
/sb help- 显示插件描述和命令。/sb howto- SignBoard 的分步说明。/sb variables- 列出所有可用的变量以及如何使用它们。
面板命令:
/sb board new [boardname]- 创建一个新面板以用于告示牌。/sb board list- 列出你的所有面板 - 以及它们的附件。/sb board list [boardname]- 列出特定面板的内容。/sb board clear [boardname]- 清除面板的内容。/sb board copy [boardname] [newname]- 将面板“boardname”复制到“newname”。/sb board delete [boardname]- 删除名为“boardname”的面板。/sb board rename [boardname] [newname]- 将面板“boardname”重命名为“newname”。/sb board [boardname] lineX text- 编辑面板上的第 X 行,将其替换为“text”。/sb board [boardname] lineX-Y text- 将第 X 行到第 Y 行的内容替换为文本中的行(使用 \n 指示换行符)。/sb board [boardname] linepushX text- 将“text”中的任何行(用 \n 分隔)插入到面板中,从第 X 行开始并将现有内容向下推。/sb board give_as_book [boardname] [playername]- 将面板的文本作为书籍提供给指定的玩家。
集合命令:
/sb set new [setname] = [board1] [board2] ... [board n]- 创建一个新的面板集合。/sb set delete [setname]- 删除名为“setname”的集合。/sb set list- 列出你的所有集合。/sb set list [setname]- 列出构成特定集合的面板。
告示牌命令:
/sb sign lineX text- 编辑你正在查看的告示牌,将第“X”行 (1-4) 替换为“text”。/sb sign attach [boardname]- 将面板附加到告示牌。/sb sign detach [boardname]- 从告示牌分离任何面板。/sb sign status- 显示告示牌选项的当前状态。/sb sign show_board- 切换附加到告示牌的屏幕上的面板。/sb sign give_book- 是否应将面板文本作为书籍提供(切换)。/sb sign before <cmd|cmd>- 当玩家查看告示牌时要运行的命令列表。/sb sign after <cmd|cmd>- 当玩家离开告示牌时要运行的命令列表。/sb sign onclick <cmd|cmd>- 当玩家单击告示牌时要运行的命令列表。/sb sign onshiftclick <cmd|cmd>- 当玩家按住 Shift 键单击告示牌时要运行的命令列表。/sb sign onrightclick <cmd|cmd>- 当玩家右键单击告示牌时要运行的命令列表。/sb sign onrightshiftclick <cmd|cmd>- 当玩家按住 Shift 键右键单击告示牌时要运行的命令列表。
实体命令:
/sb entity attach [boardname]- 将面板附加到(非玩家)生物实体。/sb entity detach [boardname]- 从生物实体分离任何面板。/sb entity status- 显示实体选项的当前状态。/sb entity show_board- 切换附加到实体的屏幕上的面板。/sb entity give_book- 是否应将面板文本作为书籍提供(切换)。/sb entity nametag [ignore|hide|show]- 确定当玩家显示面板时,附加了面板的实体的名称标签是否可见。/sb entity before <cmd|cmd>- 当玩家查看实体时要运行的命令列表。/sb entity after <cmd|cmd>- 当玩家离开实体时要运行的命令列表。/sb entity onattack <cmd|cmd>- 当玩家攻击实体时要运行的命令列表。/sb entity onkill <cmd|cmd>- 当玩家杀死实体时要运行的命令列表。
区域设置命令(适用于玩家):
/isp locale list- 显示插件界面可用的语言。/isp locale set <lang>- 将用户的首选语言设置为 <lang>。/isp locale clear– 清除用户的区域设置偏好(恢复为默认设置)。
类别命令(仅限 OP):
/sb cat new [categoryname]- 创建新类别。/sb cat delete [categoryname]- 删除类别。/sb cat assigncat [playername] [categoryname1] [categoryname2] ... [categorynameN]- 将多个类别分配给玩家。/sb cat assignplr [categoryname] [playername1] [playername2] ... [playernameN]- 将多个玩家分配给类别。/sb cat unassign [categoryname] [playername]- 从类别中取消分配玩家。/sb cat list- 列出现有类别(非权限)。/sb cat status [categoryname]- 显示类别的状态。/sb cat [playername]- 显示玩家的类别(非权限)。
管理员命令
/sb board list all- 列出所有玩家的面板名称/sb set list all- 列出所有玩家的所有集合/sb reload- 重新加载 config.yml 设置/sb version <nbr>- 显示运行的 SignBoard 版本或显示版本的更改历史记录(即 /sb version 1.6.5)/sb cleanup- 清理 signs.yml 和 attachments.yml 中在 SignBoard 未运行时在游戏中删除的任何告示牌。除非你确定 yml 文件中有“死”告示牌,否则不要使用此命令。备份你的 signs.yml 和 attachments.yml,并确保在运行此命令之前加载了所有世界。
管理员区域设置命令
/isp locale listplayers- 显示所有玩家的区域设置首选项。/isp locale list <lang>- 显示语言 <lang> 的所有翻译字符串。
🔄 自动更新
默认情况下,SignBoard 将在服务器重新启动或重新加载时自动下载并安装新更新。
你可以通过更改 config.yml 中的 updates: 选项来控制此功能。
updates: 的有效值为:
auto(自动下载并安装新版本);check(仅检查是否有新版本可用);off(完全关闭更新)。
更新检查消息将始终显示在控制台上。
更新后,OP 会收到一条一次性消息,告诉他们有关新版本的信息。他们可以使用命令 /sb version <nbr> 检查版本历史记录。
⚙️ 自动更新 config.yml
无需更新 config.yml 中的首选设置!!
下载并安装新版本后,SignBoard 将自动更新 config.yml 文件,并保留你的自定义设置。
⚙️ config.yml 中的设置
以下是 config.yml 中的默认设置:
#-----:-------------------------------------------------------------------------------------------------------------------------
# SignBoard config.yml
# If auto update is active for SignBoard, the config.yml file will be automatically updated as well
# When config.yml is updated, all changes you made to the VALUES of the settings will be PRESERVED and copied over to the new config.yml
# ... however, any changes you made to the COMMENTS in this file will be overwritten by the default comment.
#-----:-------------------------------------------------------------------------------------------------------------------------
# Auto updates:
# Possible values for updates:
# auto (downloads and installs new versions automatically);
# check (only checks if a new version is available);
# off (turns off updates completely).
updates: auto
# Config.yml version - if this is lower than the actual SignBoard version (use /sb version), it means you probably should do a manual merge of config.new and config.yml. Also, you should manually get the new locale files from the jar and manually merge those as well. Really, it's A LOT EASIER to