AnimatedScoreboard 是一款高度可定制、无闪烁的记分板插件。它支持超过 1500 种变量,并包含自定义标签与特效。本插件完全免费,支持 1.8 至 1.21.11 的 Spigot 服务端。
核心特性
- 无闪烁与低延迟:即使使用包含复杂动画的记分板,也能保持流畅。
- 广泛兼容性:与 NameTagEdit 等名牌/Tab列表插件,以及 mcMMO 等临时使用侧边栏的插件完全兼容。
- 强大的变量支持:通过 PlaceholderAPI 支持超过 1500 种变量,可动态修改分数(右侧红色数字)。
- 自定义标签与事件触发器:提供多种文本特效标签,并支持为所有事件配置触发器。
- 多记分板管理:每个世界可配置无限个记分板,并支持基于权限(如 LuckPerms, GroupManager, zPermissions)自动切换。
- 版本特性支持:
- 1.13+:取消行长度限制(1.12及以下限制为32字符,含颜色代码)。
- 1.16+:支持完整RGB颜色格式(使用
&#hexcolor)。 - 1.20.3+:可隐藏侧边栏的红色分数。
- 便捷命令与API:提供开关、重载、列表、切换等命令,以及用于替换和编辑特定行的API。
配置文件说明
配置文件允许你为每个世界设置记分板,并配置全局记分板。
主要配置 (config.yml)
# 按世界设置记分板 <世界名>:<文件名>
worlds:
global:
- adminboard
- globalscoreboard
world:
- adminboard
- defaultscoreboard
world_the_end:
- endscoreboard
world_nether:
- netherscoreboard
# 权限配置:只有拥有 animatedscoreboard.test 权限的玩家会看到 adminboard
permissions:
adminboard: animatedscoreboard.test
# 启用 PlaceholderAPI
placeholderapi: true
# 启用更新检查
check_updates: true
# 调试模式
debug_mode: false
# 启用事件触发器
enable-triggers: false
# 玩家数据存储方式:YAML 或 SQLITE
player-storage: SQLITE
# 若在 1.13+ 服务端上允许 1.12- 客户端连接(通过 ProtocolSupport/ViaBackwards),请启用此项以确保记分板在所有客户端正确显示
force-legacy: false
# 尝试解析变量内的颜色代码
hex-in-placeholders: true记分板文件配置
每个记分板文件定义标题和各行内容。主要设置项包括:
- text: 显示的文本列表,支持变量和颜色代码。
- random: 是否为随机显示(
true)或顺序轮播(false)。 - interval: 更新间隔(单位:刻,20刻=1秒)。
- score: 该行对应的分数(右侧红色数字),可使用变量如
score: "%placeholder%"。
示例配置片段:
scores:
hidden: true # 1.20.3+ 可隐藏分数
display:
title:
text:
- "&lA"
- "&lAn"
- "&lAnimated Scoreboard"
random: false
interval: 2
line-1:
text:
- "&a&lWelcome %player_name%"
random: false
interval: 5
score: 98文本效果标签
插件提供多种内嵌标签以实现动态效果
<update ticks=x stay=y>文本</update>ticks: 更新频率。stay: 该文本持续显示的时间。<stay ticks=x>文本</stay>ticks: 文本停留时间(20刻=1秒)。<repeat times=x>文本</repeat>times: 文本重复次数,可使用变量如times="%placeholder%"。<scroll space=x width=y update=z>文本</scroll>space: 行间空格数(默认1)。width: 每次更新显示的字符数(默认16)。update: 切换到下一帧的频率。<health full=x half=y empty=z update=w>❤</health>full: 满心的颜色(默认&4)。half: 半心的颜色(默认&c)。empty: 空心的颜色(默认&f)。update: 生命值刷新频率(默认5)。<gradient start=&#ff0000 end=�ff>文本</gradient>start: 起始十六进制颜色。end: 结束十六进制颜色。将在字符间创建渐变效果。
事件触发器
事件触发器允许在特定事件(如破坏方块)发生时,临时显示对应的记分板。
- 要使用此功能,需在
config.yml中将enable-triggers设为true。 - 你可以为所有插件中的任何事件添加无限数量的触发器。
可选依赖
- PlaceholderAPI(强烈推荐):确保下载正确的变量包,例如:
/papi ecloud download Player。 - MVdWPlaceholderAPI(较少推荐):仅在与该开发者的其他插件同时使用时才有效。
常见问题
- 兼容性:与 NameTagEdit、Tablist 等所有其他记分板插件兼容。
- 变量不生效:请确保已安装 PlaceholderAPI 并下载了正确的变量包。
- 隐藏右侧红色数字:
- 若客户端和服务端均为 1.20.3+,默认隐藏。可在记分板配置中设置
hidden: false来显示。 - 旧版本无法从服务端移除,但 1.17+ 客户端可使用材质包移除。
- 1.13+ 服务器中,1.12- 客户端看到的记分板被截断:在
config.yml中启用force-legacy: true,但行长度将限制为32字符。 - 调整记分板文字大小:插件无法更改字体大小。请减少记分板文本内容或在客户端调整GUI缩放(选项 -> 视频设置 -> GUI缩放)。
- 连接错误:
Internal Exception: java.lang.NullPointerException:此错误通常由过时的 [Animated Tab] 插件引起,更新该插件即可解决。
命令列表
/animatedscoreboard或/asb:主命令,显示帮助。/asb help:显示所有命令及其参数和别名。/asb reload:重载所有配置文件并应用新的记分板。/asb toggle [on | off] [玩家]:为自己或指定玩家开关记分板显示。/asb list:列出所有已加载和激活的记分板。/asb switch <记分板名> [玩家]:将自己或指定玩家的记分板切换到指定的记分板。
权限节点
animatedscoreboard.admin:允许使用/asb reload。animatedscoreboard.help:允许使用/asb help。animatedscoreboard.info:允许使用/asb info。animatedscoreboard.toggle:允许使用/asb toggle。animatedscoreboard.toggle.other:允许切换他人的记分板显示。animatedscoreboard.list:允许使用/asb list。animatedscoreboard.switch:允许使用/asb switch。animatedscoreboard.switch.other:允许切换他人的记分板。animatedscoreboard.*:授予本插件所有权限。
反馈与支持
如有漏洞、建议或问题,请通过 Spigot 私信联系作者。若因论坛发帖数不足无法发起私信,请在作者的个人资料页留言。
- 请注意:请不要在评论区提交漏洞报告或建议。
- 本插件使用 bStats 收集匿名统计信息。
AnimatedScoreboard 是一款功能强大的 Minecraft 计分板插件,支持动画、多格式配置和多种外部插件集成,让服务器计分板展示更加灵活和个性化。
插件钩子 (Hooks)
AnimatedScoreboard 可以与以下插件集成,但这些插件都不是运行所必需的。插件钩子分为两类:
占位符钩子
这些插件允许 AnimatedScoreboard 在计分板上使用占位符(例如 %player_name%)。
权限钩子
这些插件钩子允许 AnimatedScoreboard 在玩家的权限发生变化时,自动为其切换计分板。
- LuckPerms
- GroupManager
- zPermissions
ASB 的 PlaceholderAPI 占位符
如果服务器安装了 PlaceholderAPI,AnimatedScoreboard 将向其注册自己的占位符。
最新版本的 ASB 包含两个占位符
%animatedscoreboard_enabled%:返回该玩家的计分板是否已启用。%animatedscoreboard_scoreboard%:返回该玩家当前显示的计分板名称。
这些占位符直接内置于 ASB 中,无需下载额外的 PlaceholderAPI 扩展包。
配置返回值
两个占位符的返回值都可以在 placeholders.yml 文件中进行配置。您可以设置:
- 当计分板启用、禁用或没有活动计分板时返回的字符串。
- 为每个已启用的计分板设置一个友好的显示名称。
配置文件示例 (YAML)
scoreboard:
names:
# 当玩家正在查看 `scoreboard_name` 时,%animatedscoreboard_scoreboard% 返回的值
scoreboard_name: "&aScoreboard Name"
# 当玩家禁用计分板时,%animatedscoreboard_enabled% 返回的值
disabled: '&cDisabled'
# 当玩家启用计分板时,%animatedscoreboard_enabled% 返回的值
enabled: '&a&lEnabled'
# 当玩家没有活动计分板时,%animatedscoreboard_scoreboard% 返回的值
none-active: '&7None'支持的计分板格式
AnimatedScoreboard 支持三种不同的计分板配置格式,以满足从简单到高度自定义的各种需求。以下将以创建一个示例计分板来展示这三种格式。
示例计分板内容
- 标题:&lAnimatedScoreboard
- 空行
- Welcome to example.com!
- 空行
- Balance: &a$%vault_eco_balance_formatted%
- Online players: &a%server_online%
- 空行
- &eplay.example.com
扩展语法
此格式提供最高的自定义程度,但配置也相对复杂。您需要为计分板的每一行(例如 title, line-1, ... line-15)创建单独的配置区块,每行都可以有自己的更新间隔和其他设置。
配置示例 (YAML)
display:
title:
text:
- '&lAnimatedScoreboard'
random: false
interval: 2
line-1:
text:
- ''
random: false # 可选
interval: 1
score: 6 # 可选
line-2:
text:
- 'Welcome to example.com!'
interval: 1
line-3:
text:
- ''
interval: 1
line-4:
text:
- 'Balance: &a$%vault_eco_balance_formatted%'
interval: 1
line-5:
text:
- 'Online players: &a%server_online%'
interval: 1
line-6:
text:
- ''
interval: 1
line-7:
text:
- '&eplay.example.com'
interval: 1紧凑列表语法
如果您只需要包含占位符的静态行,此格式非常有用。您只需创建一个最多包含 16 行(1 行标题和最多 15 行内容)的列表。包含占位符的每一行每秒会更新 20 次。
配置示例 (YAML)
# 第一行是标题,之后的是游戏中显示的计分板内容
display:
- '&lAnimatedScoreboard'
- ''
- 'Welcome to example.com!'
- ''
- 'Balance: &a$%vault_eco_balance_formatted%'
- 'Online players: &a%server_online%'
- ''
- '&eplay.example.com'标题分离列表语法
此语法比紧凑列表格式更灵活,它为标题设置了独立的列表。这意味着标题可以拥有自己的动画效果。标题可以有自己的更新间隔,而其他包含占位符的行每秒更新 20 次。
配置示例 (YAML)
display:
# 标题的更新间隔(单位:游戏刻)
title-interval: 2
# 标题行
title:
- "&lAnimatedScoreboard"
# 计分板内容行
board:
- ''
- 'Welcome to example.com!'
- ''
- 'Balance: &a$%vault_eco_balance_formatted%'
- 'Online players: &a%server_online%'
- ''
- '&eplay.example.com'开发者 API
AnimatedScoreboard 当前的 API 功能尚不完善,正在重写过程中。我们将保持与当前 API 的兼容性。
新的 API 发布后,本文档会相应更新。目前,您可以在此处查看现有 API 文档。