AnimatedScoreboard 动画计分板

作者:JasperJH 发布时间:2016年3月28日 原生版本:未知 测试支持:1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,1.19,1.20

具有1500+占位符、效果和事件触发器的动画和防闪烁记分板插件

点此下载

插件详细介绍

✨ AnimatedScoreboard

AnimatedScoreboard 是一款完全可定制且无闪烁的记分板插件,支持超过 1500 个 PlaceholderAPI 占位符,并包含自定义标签/效果。它能够处理每个世界的无限数量的记分板,并支持基于权限的记分板。插件免费且将永远免费,适用于所有 1.8 - 1.21 Spigot 服务器。

🌟 特性

  • 无延迟防闪烁,即使使用包含许多不同动画的高级记分板。
  • 完全兼容诸如 NameTagEdit 之类的名牌/玩家列表插件。
  • 完全兼容其他(临时)使用侧边栏的插件,例如 mcMMO。
  • 每行设置:间隔、随机性和分数。
  • 支持使用占位符修改分数(右侧的红色数字)。
  • 超过 1500 个 PlaceholderAPI 占位符。
  • 自定义标签/效果和事件触发器,支持每个事件!
  • 在服务器版本 1.13 或更高版本上,没有行长度限制(在使用 1.12 或更低版本时,行被限制为 32 个字符,包括颜色代码)。
  • 在服务器版本 1.16 或更高版本上,您拥有完整的 RGB 支持(格式:&#hexcolor)。
  • 在服务器版本 1.20.3 或更高版本上,您可以隐藏侧边栏上的红色数字。
  • 每个世界多个记分板。
  • 基于权限的记分板,与 LuckPerms、GroupManager 和 zPermissions 集成,以便在权限更改时自动更改记分板。
  • 切换、重载、列表和切换命令。
  • 自定义占位符:%animatedscoreboard_enabled% 和 %animatedscoreboard_scoreboard%。
  • 用于替换和编辑特定行的 API。

⚙️ 配置

config.yml

设置每个世界的记分板和一个全局记分板,为特定记分板添加权限,启用/禁用 PlaceholderAPI、事件触发器、自动更新检查器,设置玩家存储类型,以及 force-legacy 选项。


#Here you can set per world scoreboards :
#If you don't add a world here in will not have a scoreboard in that world!
#World has 2 scoreboards, it will activate them based on how the are
#listed, in this example it will first look if players can have adminboard and if
#not switch to defaultscoreboard
worlds:
  #The global scoreboard is not required and can be removed without causing any issues. The plugin will just hide the scoreboard in that case.
  global:
  - adminboard
  - globalscoreboard
  world:
  - adminboard
  - defaultscoreboard
  world_the_end: endscoreboard
  world_nether: netherscoreboard
#Now only players with the permission animatedscoreboard.test will get the scoreboard
permissions:
  adminboard: animatedscoreboard.test


#If this is set to true it will try to use PlaceholderAPI placeholders
placeholderapi: true
#If this is set to true it will check on SpigotMC if there is a new version available for the plugin and notify you!
check_updates: true
#When this is true it will send info messages to the console, this is more usefull if something is going wrong
debug_mode: false
#This will enable the event triggers, if this is set to false the event triggers won't work
enable-triggers: false

# What data storage should we use:
# - YAML     : stores the player data in human readable form in playerdata.yml
# - SQLITE   : stores the player data in a local SQLite database called playerdata-sqlite.db
player-storage: SQLITE

# Only enable this if you're running a 1.13+ server.jar but still accept clients below 1.13
force-legacy: false

# Attempt to parse colors inside of placeholders.
hex-in-placeholders: true

scoreboards.yml

ASB 自 0.2.6 版本开始支持 3 种不同的记分板语法。以下是默认的记分板文件,但还有更简单的语法。


scores:
  # Whether scores (red numbers) on server versions 1.20.3 or newer should be hidden
  hidden: true

#This is where you create the scoreboard, the first section will always be the title.
#Every section after that will be a line displayed on the scoreboard. You can have a max
#of 15 lines display due to the limitations of minecraft.
display:
    #This is the first section, it will always be the title of the scoreboard.
     #You can also use placeholders here if you want.
    title:
      #This is the text that will be display as the title, it can have as many lines as you want and it will automatically rotate through them or
       #choose a random one, depending on what you set random to.
      text:
      - "&lA"
      - "&lAn"
      - "&lAni"
      - "&lAnim"
      - "&lAnima"
      - "&lAnimat"
      - "&lAnimate"
      - "&lAnimated"
      - "&lAnimated "
      - "&lAnimated S"
      - "&lAnimated Sc"
      - "&lAnimated Sco"
      - "&lAnimated Scor"
      - "&lAnimated Score"
      - "&lAnimated Scoreb"
      - "&lAnimated Scorebo"
      - "&lAnimated Scoreboa"
      - "&lAnimated Scoreboar"
      - "&lAnimated Scoreboard"
      - "&c&lAnimated Scoreboard"
      - "&lAnimated Scoreboard"
      - "&c&lAnimated Scoreboard"
      - "&lAnimated Scoreboard"
      - "&c&lAnimated Scoreboard"
      - "&lAnimated Scoreboard"
      #If this is true there will be a random line every time it updates.
      #If it is false than it will rotate through them and you can make some animations with it.
      random: false
      #The time between updates, 20 ticks is 1 second.
      #Every x ticks it will go to the next line, if random is false, once all lines are displayed it will go to the first line.
      interval: 2
   #This section is the first line, here you set the data of that line. It doesn't matter what the name of the section is, as long
   # as there is no other section with the exact same name
    line-1:
      #Same as with the title, no limit on text. If you just put " " here it will display a blank line on the scoreboard.
      text:
      - " "
      #If it should be random or not.
      random: false
      #The time between updates, 20 ticks is 1 second.
      #Every x ticks it will go to the next line, if random is false, once all lines are displayed it will go to the first line.
      interval: 200
      #The score display next to the text, this can only be a number and not removed.
      # If the score of the other lines are higher than this one, they will be displayed above this one.
      score: 99
    line-2:
      text:
      - "&a&lWelcome %player_name%"
      - "&b&lWelcome %player_name%"
      - "&c&lWelcome %player_name%"
      random: false
      interval: 5
      score: 98
    line-3:
      text:
      - " "
      random: false
      interval: 20
      score: 97
    #This animation works together with the line below it. The interval is the same so it displays the data at the same time.
    line-4:
      text:
      - "&aYour gamemode:"
      - "&aYour location:"
      - "&aYour world:"
      random: false
      interval: 60
      score: 96
    #This animation shows the actual data of the player
    line-5:
      text:
      - "  &b%player_gamemode%"
      - "  &bX:%player_x% Y:%player_y% Z:%player_z%"
      - "  &b%player_world%"
      random: false
      interval: 60
      score: 95
    #This is another blank line to split up the scoreboard in multiple parts, you can have multiple lines with the same text displayed on the scoreboard.
    line-7:
      text:
      - " "
      random: false
      interval: 200
      score: 95
    #In this animation random is set to true so it will go randomly through all the text and display it on the scoreboard.
    #In this case it will just change the color of the text but it could be anything and you are also able to use placeholders here.
    line-8:
      text:
      - "&1Random Rotation"
      - "&2Random Rotation"
      - "&3Random Rotation"
      - "&4Random Rotation"
      - "&5Random Rotation"
      - "&6Random Rotation"
      - "&7Random Rotation"
      - "&8Random Rotation"
      - "&9Random Rotation"
      - "&aRandom Rotation"
      - "&bRandom Rotation"
      - "&cRandom Rotation"
      - "&dRandom Rotation"
      - "&eRandom Rotation"
      - "&kRandom Rotation"
      - "&lRandom Rotation"
      - "&mRandom Rotation"
      - "&nRandom Rotation"
      - "&oRandom Rotation"
      - "&rRandom Rotation"
      random: true
      interval: 1
      score: 94
    line-9:
      text:
      - " "
      random: true
      interval: 1
      score: 93
    #It will display the player's health here with hearts, you can also use score=%placeholder% if you have PlaceholderAPI installed
    line-10:
      text:
      - ""
      random: false
      interval: 10
      score: "0"
    #Here we will repeat | 10 times, you can also use times=%placeholder% if you have PlaceholderAPI installed
    line-11:
      text:
      - "|"
      random: false
      interval: 10
      score: 0
    line-12:
      text:
      - ""
      random: false
      interval: 10
      score: "-1"
    line-13:
      text:
      - "&6Don't forget to leave a 5 star rating"
      random: true
      interval: 1
      score: "-2"
    #1.13+ supports up to 128 characters per scoreboard line!
    line-14:
      text:
      - "&aIf you're using 1.13 or higher you will see a really long line of text here!"
      random: true
      interval: 1
      score: "-2"
#You are able to add more lines to the scoreboard if you want, this scoreboard is just to explain all the possibilities of this plugin.

🎬 教程视频

  • 土耳其语教程视频 by @EsadTemel (v0.2.3)
  • 西班牙语视频 by @Ajneb97 (v0.1.5)
  • 英语视频 by @LtJim007 (v0.0.7)

🏷️ 文本效果/标签

  • <update ticks=x stay=y>text</update>: update 标签有两个参数:ticks(行应更新的频率)和 stay(行应保持多长时间)。Update 允许文本在记分板上显示时更新多次。
  • <stay ticks=x>text</stay>: stay 标签有一个参数:ticks,20 ticks 为 1 秒。Stay 让文本保持的时间比该行的间隔更长。
  • <repeat times=x>text</repeat>: repeat 标签有一个参数:times,文本应重复的次数。
  • <scroll space=x width=y update=z>text</scroll>: scroll 标签有 3 个参数:space、width 和 update。Space 指示不同行之间有多少空格,默认为 1。Width 是每次更新显示的字符数,默认为 16。Update 用于行移动到下一帧的频率,如果设置为 20,则每 1 秒更新一次。
  • <health full=x half=y empty= z update=w>❤</health>: health 标签有 4 个参数:full(默认值:&4)、half(默认值:&c)、empty(默认值:&f)和 update(默认值:5)。Full 指示血条中仍然完整的颜色。如果只有半颗心,则 half 将是该字符的颜色。当生命值为空时,将使用 empty 的颜色。Update 指示血条刷新的频率。
  • <gradient start=&#ff0000 end=�ff>text</gradient>: 使用两个不同的参数;起始十六进制颜色和结束十六进制颜色。它将创建一个渐变,从第一个字符的起始颜色开始,并缓慢过渡到最后一个字符的结束颜色。

🎉 事件触发器

事件触发器是事件的自定义监听器(例如:当一个方块被破坏时),当事件被调用时,相应的记分板将显示一段时间。要使事件触发器工作并查找何时调用事件,您需要在 config.yml 文件中将 'enable-triggers' 选项设置为 true。

🔌 可选依赖项

  • PlaceholderAPI (强烈推荐!): 确保您也下载了正确的占位符包。 例如,下载玩家占位符包: /papi ecloud download Player
  • MVdWPlaceholderAPI (不太推荐): 另一个可以使用的占位符插件。 但是,此插件只能与他的其他插件之一结合使用!

❓ 常见问题

  1. 此插件是否与其他插件兼容?
    是的,此插件与所有其他记分板插件(例如 NametagEdit 和 Tablist)兼容。
  2. 我的占位符不起作用!
    确保您已安装 PlaceholderAPI,并且还使用 /papi ecloud download <pack> 下载了正确的占位符包。
  3. 我可以完全删除记分板右侧的红色数字吗?
    是的,如果您的客户端和服务器都运行 1.20.3 或更高版本,则默认情况下会隐藏红色数字。 您可以通过在记分板的配置中将隐藏设置设置为 false 来更改该行为(检查此页面上的默认示例记分板配置)。如果您运行的是旧版本或者接受旧版本,那么遗憾的是,Minecraft 不允许您从服务器端删除这些数字。 但是,您可以使用较新版本(客户端版本 1.17 或更高版本)中的纹理包删除它们。
  4. 当有人加入 1.12 或更低版本时,我的 1.13+ 服务器上的记分板被截断!
    在 config.yml 中启用 force-legacy 选项应该可以解决此问题,但您将被限制为 32 个字符。
  5. 如何使文本/记分板更小?
    我无法仅通过使用插件来更改字体大小。 要么在记分板上添加更少的文本,要么减小客户端的 GUI 比例(选项 -> 视频设置 -> GUI 比例)
  6. <player> lost connection: Internal Exception: java.lang.NullPointerException: Cannot invoke "java.util.Collection.isEmpty()" because the return value of "net.minecraft.network.protocol.game.PacketPlayOutScoreboardTeam.e()" is null
    此错误不是由 ASB 引起的,而是由于运行过时的 [Animated Tab] - TabList 版本引起的。 更新该插件,该错误将不再发生。

⌨️ 命令

  • /animatedscoreboard: 主命令,运行为 /asb help。
  • /animatedscoreboard help: 提供所有命令及其参数和别名的列表。
  • /animatedscoreboard reload: 将重新加载所有配置并显示新的记分板,因此当您更改某些内容时,只需点击保存并执行 /asb reload。
  • /animatedscoreboard toggle [on | off] [player]: 这将为您或另一个玩家打开或关闭记分板。 可能的参数是 on、off 和 player。
  • /animatedscoreboard list: 这将提供所有已加载和活动的记分板的列表。
  • /animatedscoreboard switch <scoreboard> [player]: 这允许您将您自己的记分板或另一个玩家的记分板切换到此命令中指定的记分板。

🔑 权限

  • 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.*: 授予此插件拥有的所有权限。