Giter Club home page Giter Club logo

sternalboard's Introduction

SternalBoard

image

Lightweight & Async packet-based scoreboard using FastBoard API, implementing animations, tab and supporting all versions.

Official Downloads

Maintainers

Features

  • Fully bedrock support - Other plugins have's strange view problems
  • Tab system for header and footer - Customize your player's tab view
  • World blacklist - If you don't want the scoreboard appear on some worlds you can!
  • Auto tab-completer for modern Paper, legacy, Spigot and forks
  • MiniMessage formatting support - Intutive colours like hello
  • Automatic dependency download to avoid high weights - Also makes all Minecraft versions support
  • Not dependency based - Doesn't need other software to run properly
  • Packet-based - The plugin will not bug with plugins that use teams
  • Animated scoreboard - With all tasks running asynchronous
  • Per world scoreboard - Optimal for multi-games
  • Gradient scoreboard support - 1.16 up
  • Multi-version scoreboard - Supports 1.7 to lastest
  • Mini-games support, such as "koths, skywars, bedwars"
  • Simple to use, for people who are relatively new to the industry
  • Ready to run on large servers, with no animation limits

How to integrate

If you want to integrate SternalBoard to your proyect, you can use Maven and Gradle: Before nothing, remember that you need jitpack for it (https://jitpack.io/#ShieldCommunity/SternalBoard)

Maven

        <dependency>
            <groupId>com.github.ShieldCommunity</groupId>
            <artifactId>SternalBoard</artifactId>
            <version>2.2.9</version>
            <scope>compile</scope>
        </dependency>

Gradle

plugins {
    id 'com.github.johnrengelman.shadow' version '7.1.2'
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'com.github:shieldcommunity:2.2.9'
}

shadowJar {
    relocate 'com.shieldcommunity.sternalboard', 'you.yourpackage.like'
}

Gradle DSL

plugins {
    id("com.github.johnrengelman.shadow") version("7.1.2")
}

repositories {
    mavenCentral()
}

dependencies {
    implementation("com.github:shieldcommunity:2.2.9")
}

shadowJar {
    relocate("com.shieldcommunity.sternalboard", "you.yourpackage.like")
}

Manually

If you just don't want to use a dependency-manager, you can copy our api classes to your proyect.

How to hook into it

With SternalBoard, it's really easy to set your first scoreboard!

Either you can use our method of #setBoard, or manually.

public class ExampleBoard {

    public void setYourScoreboard(Player player){
        SternalBoardHandler board = new SternalBoardHandler(player);

        board.updateTitle(ChatColor.GREEN+
                "Hypixel.net" //You can make it configurable trough strings tho
        );

        board.updateLines("Hello", //You can do lines as your version allows!
                "Bye",
                "Hello again :)"
        );
    }
}

#Servers using modern SternalBoard

ResourceHolders statics

sternalboard's People

Contributors

4drian3d avatar angelillo15 avatar bixgamer707 avatar bloedarend avatar iatog avatar jonakls avatar koekieezz avatar mruniverse44 avatar pixeldev avatar thebrunorm avatar xism4 avatar zetastormy avatar znoah-1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sternalboard's Issues

Only show fb-2727288282

Describe the bug
Install tze plugin , edit config.yml and start , you see only "fb-182736253" not a board

Screenshots
Not able while not can create screenshots (Not Supported By Device)

Device (please complete the following information):

  • Android MC 1.20.2
  • spigotmc.com
  • 2.2.7

Additional context
We cant fix it by editing any data :/

Purple colors aren't turning out correctly

Describe the bug
I used a gradient to turn the sidebars a gradient color. Some of these colors aren't appearing correctly. Especially egregious are the colors #643098 and #60379A (which are the |-lines at the bottom-left of the sidebar)

To Reproduce
Steps to reproduce the behavior:
image

Expected behavior
Be a similar color to the ones above it since its a gradient #80199A-#60379A
(see the chat text color in the screenshot below)

Screenshots
image
image

Desktop (please complete the following information):

  • Windows 11
  • SternalBoard-2.2.4-all
  • Minecraft 1.20.1

SternalBoard 3.0.0

I know we have left this plugin a bit aside, but we have been working privately and talking about it.

  • Implement Tab (Header and footer) at packet-level supporting current versions
  • Implement bossbar system
  • Implement Nametag system
  • Totally refactor internally (because SternalBoard was designed only for board system)

If you have other feature request, comment it.

How to modify the TAB?

Hello, in the configurable files of SternalBoard I do not see an option to configure the TAB, and that is the default
Captura de pantalla 2023-12-10 172933

SternalBoard not shown (IllegalArgumentException)

I get the following error, when a user connects to the server. I didn't found any other logs, that enclose the error.
The Board isn't shown.

However while booting the server or reloading the SternalBoard config, no error occurs.

The Placeholder Api is also the newest Version.

Caused by: java.lang.IllegalArgumentException: Attempt to get net.minecraft.server.level.PlayerInteractManager field "net.minecraft.server.level.EntityPlayer.e" with illegal data type conversion to int
	at jdk.internal.reflect.FieldAccessorImpl.newGetIllegalArgumentException(Unknown Source) ~[?:?]
	at jdk.internal.reflect.FieldAccessorImpl.newGetIntIllegalArgumentException(Unknown Source) ~[?:?]
	at jdk.internal.reflect.MethodHandleObjectFieldAccessorImpl.getInt(Unknown Source) ~[?:?]
	at java.lang.reflect.Field.getInt(Unknown Source) ~[?:?]
	at com.extendedclip.papi.expansion.player.PlayerUtil$1.apply(PlayerUtil.java:66) ~[?:?]
	at com.extendedclip.papi.expansion.player.PlayerUtil$1.apply(PlayerUtil.java:50) ~[?:?]
	at com.extendedclip.papi.expansion.player.PlayerUtil.getPing(PlayerUtil.java:122) ~[?:?]
	at com.extendedclip.papi.expansion.player.PlayerExpansion.retrievePing(PlayerExpansion.java:481) ~[?:?]
	at com.extendedclip.papi.expansion.player.PlayerExpansion.onRequest(PlayerExpansion.java:403) ~[?:?]
	at me.clip.placeholderapi.replacer.CharsReplacer.apply(CharsReplacer.java:119) ~[PlaceholderAPI-2.11.3.jar:?]
	at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:71) ~[PlaceholderAPI-2.11.3.jar:?]
	at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:99) ~[PlaceholderAPI-2.11.3.jar:?]
	at com.xism4.sternalboard.utils.TextUtils.processPlaceholders(TextUtils.java:63) ~[SternalBoard-2.2.0.jar:?]
	at com.xism4.sternalboard.Scoreboards.lambda$updateFromSection$0(Scoreboards.java:28) ~[SternalBoard-2.2.0.jar:?]
	at java.util.ArrayList.replaceAllRange(Unknown Source) ~[?:?]
	at java.util.ArrayList.replaceAll(Unknown Source) ~[?:?]
	at com.xism4.sternalboard.Scoreboards.updateFromSection(Scoreboards.java:28) ~[SternalBoard-2.2.0.jar:?]
	at com.xism4.sternalboard.managers.ScoreboardManager.setScoreboard(ScoreboardManager.java:80) ~[SternalBoard-2.2.0.jar:?]
	at com.xism4.sternalboard.managers.ScoreboardManager.toggle(ScoreboardManager.java:110) ~[SternalBoard-2.2.0.jar:?]
	at com.xism4.sternalboard.commands.SternalCommand.toggleSubcommand(SternalCommand.java:81) ~[SternalBoard-2.2.0.jar:?]
	at com.xism4.sternalboard.commands.SternalCommand.onCommand(SternalCommand.java:42) ~[SternalBoard-2.2.0.jar:?]
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
	... 23 more
```

Formatting Bug

Describe the bug
The Plugin does not format colors from Placeholders.

To Reproduce
Steps to reproduce the behavior:

  1. Set a Line in the Config to %luckperms_prefix% or something similar, which will output a HEX colored String
  2. Reload the config
  3. Look at the Scoreboard and notice the String from that Placeholder not being formatted

Expected behavior
I expect it to format as if I set the line to &#2cb2ff&lDev directly without using any Placeholder.

Screenshots
grafik
grafik

Elytrium config

Removes boilerplate and improves feature implementation of nodes

[Future addons issue]

1: Add "placeholders" to avoid spam on config like "<30:text:>
image
2: Add animated scoreboard per world.
3: Tablist addon (Integrated on the api for developers tho)
4: Add scoreboard per permissions and probly per item.
5: Add custom events (Like other plugins)
6: Scoreboard animated per permission
7: Hook into versions to verify if they're legacy or not, without NMS or Viaversion

[1.20.4] Bug PlayerJoinEvent

[11:09:44 ERROR]: Could not pass event PlayerJoinEvent to SternalBoard v2.2.8
java.lang.IllegalArgumentException: Attempt to get net.minecraft.server.level.PlayerInteractManager field "net.minecraft.server.level.EntityPlayer.e" with illegal data type conversion to int
at jdk.internal.reflect.UnsafeFieldAccessorImpl.newGetIllegalArgumentException(UnsafeFieldAccessorImpl.java:69) ~[?:?]
at jdk.internal.reflect.UnsafeFieldAccessorImpl.newGetIntIllegalArgumentException(UnsafeFieldAccessorImpl.java:132) ~[?:?]
at jdk.internal.reflect.UnsafeQualifiedObjectFieldAccessorImpl.getInt(UnsafeQualifiedObjectFieldAccessorImpl.java:59) ~[?:?]
at java.lang.reflect.Field.getInt(Field.java:601) ~[?:?]
at com.extendedclip.papi.expansion.player.PlayerUtil$1.apply(PlayerUtil.java:66) ~[?:?]
at com.extendedclip.papi.expansion.player.PlayerUtil$1.apply(PlayerUtil.java:50) ~[?:?]
at com.extendedclip.papi.expansion.player.PlayerUtil.getPing(PlayerUtil.java:122) ~[?:?]
at com.extendedclip.papi.expansion.player.PlayerExpansion.retrievePing(PlayerExpansion.java:471) ~[?:?]
at com.extendedclip.papi.expansion.player.PlayerExpansion.onRequest(PlayerExpansion.java:393) ~[?:?]
at me.clip.placeholderapi.replacer.CharsReplacer.apply(CharsReplacer.java:119) ~[PlaceholderAPI-2.11.5.jar:?]
at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:71) ~[PlaceholderAPI-2.11.5.jar:?]
at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:99) ~[PlaceholderAPI-2.11.5.jar:?]
at com.xism4.sternalboard.utils.TextUtils.processPlaceholders(TextUtils.java:62) ~[SternalBoard-2.2.8-all (1).jar:?]
at com.xism4.sternalboard.Scoreboards.lambda$updateFromSection$0(Scoreboards.java:28) ~[SternalBoard-2.2.8-all (1).jar:?]
at java.util.ArrayList.replaceAllRange(ArrayList.java:1712) ~[?:?]
at java.util.ArrayList.replaceAll(ArrayList.java:1702) ~[?:?]
at com.xism4.sternalboard.Scoreboards.updateFromSection(Scoreboards.java:28) ~[SternalBoard-2.2.8-all (1).jar:?]
at com.xism4.sternalboard.managers.ScoreboardManager.setScoreboard(ScoreboardManager.java:75) ~[SternalBoard-2.2.8-all (1).jar:?]
at com.xism4.sternalboard.managers.ScoreboardManager.setBoardAfterCheck(ScoreboardManager.java:171) ~[SternalBoard-2.2.8-all (1).jar:?]
at com.xism4.sternalboard.listeners.ScoreboardListener.onJoin(ScoreboardListener.java:19) ~[SternalBoard-2.2.8-all (1).jar:?]
at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:40) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:git-Paper-391]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.4.jar:git-Paper-391]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[paper-1.20.4.jar:git-Paper-391]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.players.PlayerList.placeNewPlayer(PlayerList.java:344) ~[paper-1.20.4.jar:git-Paper-391]
at net.minecraft.server.network.ServerConfigurationPacketListenerImpl.handleConfigurationFinished(ServerConfigurationPacketListenerImpl.java:130) ~[paper-1.20.4.jar:git-Paper-391]
at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.handle(ServerboundFinishConfigurationPacket.java:18) ~[paper-1.20.4.jar:git-Paper-391]
at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.a(ServerboundFinishConfigurationPacket.java:9) ~[paper-1.20.4.jar:git-Paper-391]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:54) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.4.jar:git-Paper-391]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1452) ~[paper-1.20.4.jar:git-Paper-391]
at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:194) ~[paper-1.20.4.jar:git-Paper-391]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1429) ~[paper-1.20.4.jar:git-Paper-391]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1352) ~[paper-1.20.4.jar:git-Paper-391]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1330) ~[paper-1.20.4.jar:git-Paper-391]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1220) ~[paper-1.20.4.jar:git-Paper-391]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:321) ~[paper-1.20.4.jar:git-Paper-391]
at java.lang.Thread.run(Thread.java:833) ~[?:?]

Bug on formatting codes SB 2.2.2

Describe the bug
SB not showing when formatting codes in placeholders uses § instead of &

To Reproduce
Steps to reproduce the behavior:

  1. Just put a placeholder in the sb that returns § as color or code
  2. Type /sb toggle and it hapens

Expected behavior
The board shows normally as it is a color

Console Log:

[17:30:02 INFO]: zSkyman issued server command: /sb reload
[17:30:02 INFO]: zSkyman issued server command: /sb toggle
[17:30:02 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'sb' in plugin SternalBoard v2.2.1
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_20_R1.CraftServer.dispatchCommand(CraftServer.java:1003) ~[paper-1.20.1.jar:git-Paper-48]
at org.bukkit.craftbukkit.v1_20_R1.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[paper-1.20.1.jar:git-Paper-48]
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:265) ~[paper-1.20.1.jar:?]
at net.minecraft.commands.Commands.performCommand(Commands.java:324) ~[?:?]
at net.minecraft.commands.Commands.performCommand(Commands.java:308) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2299) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$20(ServerGamePacketListenerImpl.java:2259) ~[?:?]
at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.1.jar:git-Paper-48]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1339) ~[paper-1.20.1.jar:git-Paper-48]
at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.20.1.jar:git-Paper-48]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1316) ~[paper-1.20.1.jar:git-Paper-48]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1309) ~[paper-1.20.1.jar:git-Paper-48]
at net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:114) ~[?:?]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1425) ~[paper-1.20.1.jar:git-Paper-48]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1171) ~[paper-1.20.1.jar:git-Paper-48]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[paper-1.20.1.jar:git-Paper-48]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: net.kyori.adventure.text.minimessage.internal.parser.ParsingExceptionImpl: Legacy formatting codes have been detected in a MiniMessage string - this is unsupported behaviour. Please refer to the Adventure documentation (https://docs.advntr.dev) for more information.
&a1&b/&6§6Ilimitado
^^
at net.kyori.adventure.text.minimessage.internal.parser.TokenParser.parseString(TokenParser.java:170) ~[adventure-text-minimessage-4.14.0.jar:?]
at net.kyori.adventure.text.minimessage.internal.parser.TokenParser.resolvePreProcessTags(TokenParser.java:112) ~[adventure-text-minimessage-4.14.0.jar:?]
at net.kyori.adventure.text.minimessage.MiniMessageParser.parseToTree(MiniMessageParser.java:195) ~[adventure-text-minimessage-4.14.0.jar:?]
at net.kyori.adventure.text.minimessage.MiniMessageParser.parseFormat(MiniMessageParser.java:209) ~[adventure-text-minimessage-4.14.0.jar:?]
at net.kyori.adventure.text.minimessage.MiniMessageImpl.deserialize(MiniMessageImpl.java:79) ~[adventure-text-minimessage-4.14.0.jar:?]
at net.kyori.adventure.text.minimessage.MiniMessageImpl.deserialize(MiniMessageImpl.java:45) ~[adventure-text-minimessage-4.14.0.jar:?]
at com.xism4.sternalboard.utils.TextUtils.colorize(TextUtils.java:39) ~[SternalBoard-2.2.2-all.jar:?]
at com.xism4.sternalboard.utils.TextUtils.processPlaceholders(TextUtils.java:50) ~[SternalBoard-2.2.2-all.jar:?]
at com.xism4.sternalboard.Scoreboards.lambda$updateFromSection$0(Scoreboards.java:28) ~[SternalBoard-2.2.2-all.jar:?]
at java.util.ArrayList.replaceAllRange(ArrayList.java:1712) ~[?:?]
at java.util.ArrayList.replaceAll(ArrayList.java:1702) ~[?:?]
at com.xism4.sternalboard.Scoreboards.updateFromSection(Scoreboards.java:28) ~[SternalBoard-2.2.2-all.jar:?]
at com.xism4.sternalboard.managers.ScoreboardManager.setScoreboard(ScoreboardManager.java:81) ~[SternalBoard-2.2.2-all.jar:?]
at com.xism4.sternalboard.managers.ScoreboardManager.toggle(ScoreboardManager.java:111) ~[SternalBoard-2.2.2-all.jar:?]
at com.xism4.sternalboard.commands.SternalCommand.toggleSubcommand(SternalCommand.java:81) ~[SternalBoard-2.2.2-all.jar:?]
at com.xism4.sternalboard.commands.SternalCommand.onCommand(SternalCommand.java:42) ~[SternalBoard-2.2.2-all.jar:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
... 23 more

Not showing correct Board after Server start

Describe the bug
After Server start the default board will be shown from config.yml, even when animated is set to true.
Only after issuing the command /sb reload it will show the correct one from animated-board.yml.

To Reproduce
Steps to reproduce the behavior:

  1. Set animated to true in config.yml
  2. Restart/Start the Server
  3. Now you see the default board from config.yml
  4. Issue the Command /sb reload
  5. Now you will see the correct animated board from animated-baords.yml

Expected behavior
It should show the correct board at Server startup.

Additional context
Plugin Version: SternalBoard-2.2.0-PRE-4.jar

Scoreboard por region (WorldGuard)

¡Hola! una de mis sugerencia es implementar scoreboard por regiones y que tenga compatibilidad con worldguard y tambien estaria bueno que las scoreboard tenga prioridades esto para evitar si tienes un rango ejemplo admin y tengas permisos por debajo de 3 rangos no se muestre otro scoreboard mas que el que tenga mas prioridad, nose si ya sea compatible con el plugin https://www.spigotmc.org/resources/%E2%9C%85-king-of-the-hill-1-7-1-18-%E2%80%8D%E2%9C%85-20-discount.6832/ pero si no tiene compatibilidad tambien implementarlo estaria bueno (antes se bugeaba al mostrar el scoreboard de koth y el de sternalboard no aparecia mas) bueno esa seria todas mis sugerencias!

SternalBoard console WARNS

Sometimes when player left sometimes when player is join sometimes when player is online
This is appears in console too much.

[22:57:14] [WARN]: Exception in thread "Craft Scheduler Thread - 13" Exception in thread "Craft Scheduler Thread - 25" org.apache.commons.lang.UnhandledException: Plugin SternalBoard v2.1.0 generated an exception while executing task 52
[22:57:14] [WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(SourceFile:57)
[22:57:14] [WARN]: at org.github.paperspigot.ServerSchedulerReportingWrapper.run(SourceFile:22)
[22:57:14] [WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[22:57:14] [WARN]: at java.util.concurrent.ThreadP
12312.txt
oolExecutor$Worker.run(Unknown Source)
[22:57:14] [WARN]: at java.lang.Thread.run(Unknown Source)
[22:57:14] [WARN]: Caused by: java.lang.RuntimeException: Unable to update SternalBoard lines
[22:57:14] [WARN]: at com.xism4.sternalboard.SternalBoardHandler.updateLine(SternalBoardHandler.java:272)
[22:57:14] [WARN]: at com.xism4.sternalboard.managers.animation.tasks.LineUpdateTask.run(LineUpdateTask.java:38)
[22:57:14] [WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(SourceFile:59)
[22:57:14] [WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(SourceFile:53)
[22:57:14] [WARN]: ... 4 more
[22:57:14] [WARN]: Caused by: java.lang.IllegalStateException: This SternalBoard is deleted
[22:57:14] [WARN]: at com.xism4.sternalboard.SternalBoardHandler.sendPacket(SternalBoardHandler.java:566)
[22:57:14] [WARN]: at com.xism4.sternalboard.SternalBoardHandler.sendTeamPacket(SternalBoardHandler.java:561)
[22:57:14] [WARN]: at com.xism4.sternalboard.SternalBoardHandler.updateLine(SternalBoardHandler.java:256)
[22:57:14] [WARN]: ... 7 more
[22:57:14] [WARN]: org.apache.commons.lang.UnhandledException: Plugin SternalBoard v2.1.0 generated an exception while executing task 53
[22:57:14] [WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(SourceFile:57)
[22:57:14] [WARN]: at org.github.paperspigot.ServerSchedulerReportingWrapper.run(SourceFile:22)
[22:57:14] [WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[22:57:14] [WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[22:57:14] [WARN]: at java.lang.Thread.run(Unknown Source)
[22:57:14] [WARN]: Caused by: java.lang.RuntimeException: Unable to update SternalBoard lines
[22:57:14] [WARN]: at com.xism4.sternalboard.SternalBoardHandler.updateLine(SternalBoardHandler.java:272)
[22:57:14] [WARN]: at com.xism4.sternalboard.managers.animation.tasks.LineUpdateTask.run(LineUpdateTask.java:38)
[22:57:14] [WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(SourceFile:59)
[22:57:14] [WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(SourceFile:53)
[22:57:14] [WARN]: ... 4 more
[22:57:14] [WARN]: Caused by: java.lang.IllegalStateException: This SternalBoard is deleted
[22:57:14] [WARN]: at com.xism4.sternalboard.SternalBoardHandler.sendPacket(SternalBoardHandler.java:566)
[22:57:14] [WARN]: at com.xism4.sternalboard.SternalBoardHandler.sendTeamPacket(SternalBoardHandler.java:561)
[22:57:14] [WARN]: at com.xism4.sternalboard.SternalBoardHandler.updateLine(SternalBoardHandler.java:256)
[22:57:14] [WARN]: ... 7 more

RGB Doesn't work

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Format a line using hex. &#ff0000T&#ff2929E&#ff5151S&#ff7a7aT
  2. Scoreboard shows Minecraft's default colors only.

image

Expected behavior
Scoreboard shows formatting in RGB

SternalBoard now cuts down modern version placeholders

Describe the bug
A user reported that the placeholders were cutting the prefix of the ranges, and I thought it might be the last change I made to the hasMaxLinesLength.

To Reproduce
Steps to reproduce the behavior:

  1. Start sternalboard
  2. Have LuckPerms and placeholderapi installed
  3. Try to load a prefix

I will solve it.

Persist toggled data

Is your feature request related to a problem? Please describe.
Nope, I wouldn't consider this a problem necessarily.

Describe the solution you'd like
I would like it so that if you once '/board toggle', it stays turned off, at least as a config option.
So basically add the option in the config for

settings:
  persist-toggle-data: false

(or something similar)
and if you set it to true, it will save it to disk who has it turned on or off and you'll not always have to use '/board toggle' just to turn it back off :)

Describe alternatives you've considered
I could probably create two scoreboards with permissions and create a custom command or something that sets the permission and removes it but that's super tedious.

Additional context
Don't really have anything here :D

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.