From ea42bbc1cfc5a70ac91dd4db391a4dcbcf8ab151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Dasc=C4=83lu?= Date: Sat, 26 Nov 2022 18:23:29 +0100 Subject: [PATCH 01/10] fix char length --- .../com/andrei1058/spigot/sidebar/TwelveSidebar.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java index cb8076a..2748bf1 100644 --- a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java +++ b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java @@ -199,13 +199,13 @@ public void setContent(@NotNull String content) { if (!getReceivers().isEmpty()) { content = SidebarManager.getInstance().getPapiSupport().replacePlaceholders(getReceivers().get(0), content); } - if (content.length() > 32) { - this.prefix = content.substring(0, 32); - if (this.prefix.charAt(31) == ChatColor.COLOR_CHAR) { - this.prefix = content.substring(0, 31); - setSuffix(content.substring(31)); + if (content.length() > 16) { + this.prefix = content.substring(0, 16); + if (this.prefix.charAt(15) == ChatColor.COLOR_CHAR) { + this.prefix = content.substring(0, 15); + setSuffix(content.substring(15)); } else { - setSuffix(content.substring(32)); + setSuffix(content.substring(16)); } } else { this.prefix = content; From a0c862bad95274b536d5686d0689cd84b5df9302 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Dasc=C4=83lu?= Date: Sat, 26 Nov 2022 18:34:09 +0100 Subject: [PATCH 02/10] fix char length --- .../java/com/andrei1058/spigot/sidebar/EightSidebar.java | 4 ++-- .../java/com/andrei1058/spigot/sidebar/TwelveSidebar.java | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java b/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java index 3f32bc2..be91b1c 100644 --- a/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java +++ b/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java @@ -72,8 +72,8 @@ public void sendRemove(Player player) { @Override public String getDisplayName() { String t = displayName.getLine(); - if (t.length() > 32) { - t = t.substring(0, 32); + if (t.length() > 16) { + t = t.substring(0, 16); } return t; } diff --git a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java index 2748bf1..16b0a9a 100644 --- a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java +++ b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java @@ -72,8 +72,8 @@ public void sendRemove(Player player) { @Override public String getDisplayName() { String t = displayName.getLine(); - if (t.length() > 32) { - t = t.substring(0, 32); + if (t.length() > 16) { + t = t.substring(0, 16); } return t; } @@ -219,7 +219,7 @@ public void setSuffix(@NotNull String secondPart) { return; } secondPart = ChatColor.getLastColors(this.prefix) + secondPart; - this.suffix = secondPart.length() > 32 ? secondPart.substring(0, 32) : secondPart; + this.suffix = secondPart.length() > 16 ? secondPart.substring(0, 16) : secondPart; } public void sendUpdateToAllReceivers() { From 5673c18f8d6f35c7b9e07c7b7f738ecb67228988 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Dasc=C4=83lu?= Date: Sat, 26 Nov 2022 21:05:01 +0100 Subject: [PATCH 03/10] fix update packet --- .../spigot/sidebar/EightSidebar.java | 8 +++--- .../spigot/sidebar/EighteenSidebar.java | 26 ++++++++++--------- .../spigot/sidebar/SeventeenSidebar.java | 12 +++------ .../spigot/sidebar/SixteenSidebar.java | 14 +++------- .../spigot/sidebar/TwelveSidebar.java | 12 +++++---- 5 files changed, 33 insertions(+), 39 deletions(-) diff --git a/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java b/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java index be91b1c..e8f3c28 100644 --- a/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java +++ b/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java @@ -190,8 +190,8 @@ public void sendRemoveToAllReceivers() { } public void sendUpdate(Player player) { - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(this); - ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore); + PacketPlayOutScoreboardTeam packetTeamUpdate = new PacketPlayOutScoreboardTeam(team, 2); + ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packetTeamUpdate); } @Contract(pure = true) @@ -223,8 +223,8 @@ public void setSuffix(@NotNull String secondPart) { } public void sendUpdateToAllReceivers() { - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(this); - getReceivers().forEach(r -> ((CraftPlayer) r).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore)); + PacketPlayOutScoreboardTeam packetTeamUpdate = new PacketPlayOutScoreboardTeam(team, 2); + getReceivers().forEach(r -> ((CraftPlayer) r).getHandle().playerConnection.sendPacket(packetTeamUpdate)); } public int compareTo(@NotNull ScoreLine o) { diff --git a/sidebar-eighteen/src/main/java/com/andrei1058/spigot/sidebar/EighteenSidebar.java b/sidebar-eighteen/src/main/java/com/andrei1058/spigot/sidebar/EighteenSidebar.java index 0de489c..5e0582d 100644 --- a/sidebar-eighteen/src/main/java/com/andrei1058/spigot/sidebar/EighteenSidebar.java +++ b/sidebar-eighteen/src/main/java/com/andrei1058/spigot/sidebar/EighteenSidebar.java @@ -185,7 +185,9 @@ public void setScoreAmount(int score) { public void sendCreateToAllReceivers() { PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = PacketPlayOutScoreboardTeam.a(team, true); getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().b.a(packetPlayOutScoreboardTeam)); - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(ScoreboardServer.Action.a, ((ScoreboardObjective) getSidebarObjective()).b(), e(), b()); + PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( + ScoreboardServer.Action.a, getSidebarObjective().getName(), this.getColor(), this.getScoreAmount() + ); getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().b.a(packetPlayOutScoreboardScore)); } @@ -194,7 +196,9 @@ public void sendCreate(Player player) { PlayerConnection conn = ((CraftPlayer) player).getHandle().b; PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = PacketPlayOutScoreboardTeam.a(team, true); conn.a(packetPlayOutScoreboardTeam); - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(ScoreboardServer.Action.a, ((ScoreboardObjective) getSidebarObjective()).b(), e(), b()); + PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( + ScoreboardServer.Action.a, getSidebarObjective().getName(), this.getColor(), this.getScoreAmount() + ); conn.a(packetPlayOutScoreboardScore); } @@ -202,7 +206,9 @@ public void sendCreate(Player player) { public void sendRemove(Player player) { PlayerConnection conn = ((CraftPlayer) player).getHandle().b; PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = PacketPlayOutScoreboardTeam.a(team); - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(ScoreboardServer.Action.b, ((ScoreboardObjective) getSidebarObjective()).b(), e(), b()); + PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( + ScoreboardServer.Action.b, getSidebarObjective().getName(), this.getColor(), this.getScoreAmount() + ); conn.a(packetPlayOutScoreboardTeam); conn.a(packetPlayOutScoreboardScore); } @@ -211,16 +217,14 @@ public void sendRemoveToAllReceivers() { PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = PacketPlayOutScoreboardTeam.a(team); getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().b.a(packetPlayOutScoreboardTeam)); PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( - ScoreboardServer.Action.b, ((ScoreboardObjective) getSidebarObjective()).b(), e(), b() + ScoreboardServer.Action.b, getSidebarObjective().getName(), this.getColor(), this.getScoreAmount() ); getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().b.a(packetPlayOutScoreboardScore)); } public void sendUpdate(Player player) { - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( - ScoreboardServer.Action.b, ((ScoreboardObjective) getSidebarObjective()).b(), e(), b() - ); - ((CraftPlayer) player).getHandle().b.a(packetPlayOutScoreboardScore); + PacketPlayOutScoreboardTeam packetTeamUpdate = PacketPlayOutScoreboardTeam.a(team, false); + ((CraftPlayer) player).getHandle().b.a(packetTeamUpdate); } @Contract(pure = true) @@ -252,10 +256,8 @@ public void setSuffix(@NotNull String secondPart) { } public void sendUpdateToAllReceivers() { - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( - ScoreboardServer.Action.b, ((ScoreboardObjective) getSidebarObjective()).b(), e(), b() - ); - getReceivers().forEach(r -> ((CraftPlayer) r).getHandle().b.a(packetPlayOutScoreboardScore)); + PacketPlayOutScoreboardTeam packetTeamUpdate = PacketPlayOutScoreboardTeam.a(team, false); + getReceivers().forEach(r -> ((CraftPlayer) r).getHandle().b.a(packetTeamUpdate)); } public int compareTo(@NotNull ScoreLine o) { diff --git a/sidebar-seventeen/src/main/java/com/andrei1058/spigot/sidebar/SeventeenSidebar.java b/sidebar-seventeen/src/main/java/com/andrei1058/spigot/sidebar/SeventeenSidebar.java index e7eaa21..9ab695e 100644 --- a/sidebar-seventeen/src/main/java/com/andrei1058/spigot/sidebar/SeventeenSidebar.java +++ b/sidebar-seventeen/src/main/java/com/andrei1058/spigot/sidebar/SeventeenSidebar.java @@ -214,10 +214,8 @@ public void sendRemoveToAllReceivers() { } public void sendUpdate(Player player) { - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( - ScoreboardServer.Action.b, ((ScoreboardObjective) getSidebarObjective()).getName(), getPlayerName(), getScoreAmount() - ); - ((CraftPlayer) player).getHandle().b.sendPacket(packetPlayOutScoreboardScore); + PacketPlayOutScoreboardTeam packetTeamUpdate = PacketPlayOutScoreboardTeam.a(team, false); + ((CraftPlayer) player).getHandle().b.sendPacket(packetTeamUpdate); } @Contract(pure = true) @@ -249,10 +247,8 @@ public void setSuffix(@NotNull String secondPart) { } public void sendUpdateToAllReceivers() { - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( - ScoreboardServer.Action.b, ((ScoreboardObjective) getSidebarObjective()).getName(), getPlayerName(), getScoreAmount() - ); - getReceivers().forEach(r -> ((CraftPlayer) r).getHandle().b.sendPacket(packetPlayOutScoreboardScore)); + PacketPlayOutScoreboardTeam packetTeamUpdate = PacketPlayOutScoreboardTeam.a(team, false); + getReceivers().forEach(r -> ((CraftPlayer) r).getHandle().b.sendPacket(packetTeamUpdate)); } public int compareTo(@NotNull ScoreLine o) { diff --git a/sidebar-sixteen/src/main/java/com/andrei1058/spigot/sidebar/SixteenSidebar.java b/sidebar-sixteen/src/main/java/com/andrei1058/spigot/sidebar/SixteenSidebar.java index b9d38c9..66fe701 100644 --- a/sidebar-sixteen/src/main/java/com/andrei1058/spigot/sidebar/SixteenSidebar.java +++ b/sidebar-sixteen/src/main/java/com/andrei1058/spigot/sidebar/SixteenSidebar.java @@ -201,11 +201,8 @@ public void sendRemoveToAllReceivers() { } public void sendUpdate(Player player) { - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( - ScoreboardServer.Action.CHANGE, ((ScoreboardObjective) getSidebarObjective()).getName(), - getPlayerName(), getScoreAmount() - ); - ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore); + PacketPlayOutScoreboardTeam packetTeamUpdate = new PacketPlayOutScoreboardTeam(team, 2); + ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packetTeamUpdate); } @Contract(pure = true) @@ -237,11 +234,8 @@ public void setSuffix(@NotNull String secondPart) { } public void sendUpdateToAllReceivers() { - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( - ScoreboardServer.Action.CHANGE, ((ScoreboardObjective) getSidebarObjective()).getName(), - getPlayerName(), getScoreAmount() - ); - getReceivers().forEach(r -> ((CraftPlayer) r).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore)); + PacketPlayOutScoreboardTeam packetTeamUpdate = new PacketPlayOutScoreboardTeam(team, 2); + getReceivers().forEach(r -> ((CraftPlayer) r).getHandle().playerConnection.sendPacket(packetTeamUpdate)); } public int compareTo(@NotNull ScoreLine o) { diff --git a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java index 16b0a9a..f7285a9 100644 --- a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java +++ b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java @@ -185,13 +185,15 @@ public void sendRemove(Player player) { public void sendRemoveToAllReceivers() { PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(team, 1); getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardTeam)); - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(getPlayerName(), (ScoreboardObjective) getSidebarObjective()); + PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( + getPlayerName(), (ScoreboardObjective) getSidebarObjective() + ); getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore)); } public void sendUpdate(Player player) { - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(this); - ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore); + PacketPlayOutScoreboardTeam packetTeamUpdate = new PacketPlayOutScoreboardTeam(team, 2); + ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packetTeamUpdate); } @Contract(pure = true) @@ -223,8 +225,8 @@ public void setSuffix(@NotNull String secondPart) { } public void sendUpdateToAllReceivers() { - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(this); - getReceivers().forEach(r -> ((CraftPlayer) r).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore)); + PacketPlayOutScoreboardTeam packetTeamUpdate = new PacketPlayOutScoreboardTeam(team, 2); + getReceivers().forEach(r -> ((CraftPlayer) r).getHandle().playerConnection.sendPacket(packetTeamUpdate)); } public int compareTo(@NotNull ScoreLine o) { From 9302f8f887bdc87ca5dfa2972bb1cc5f4d56bbfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Dasc=C4=83lu?= Date: Sun, 5 Feb 2023 12:04:53 +0100 Subject: [PATCH 04/10] trying to fix team already exist --- .../andrei1058/spigot/sidebar/TwelveSidebar.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java index f7285a9..83f9c2b 100644 --- a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java +++ b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java @@ -177,18 +177,19 @@ public void sendCreate(Player player) { public void sendRemove(Player player) { PlayerConnection conn = ((CraftPlayer) player).getHandle().playerConnection; PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(team, 1); - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(getPlayerName(), (ScoreboardObjective) getSidebarObjective()); conn.sendPacket(packetPlayOutScoreboardTeam); - conn.sendPacket(packetPlayOutScoreboardScore); + +// PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(getPlayerName(), (ScoreboardObjective) getSidebarObjective()); +// conn.sendPacket(packetPlayOutScoreboardScore); } public void sendRemoveToAllReceivers() { PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(team, 1); getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardTeam)); - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( - getPlayerName(), (ScoreboardObjective) getSidebarObjective() - ); - getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore)); +// PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( +// getPlayerName(), (ScoreboardObjective) getSidebarObjective() +// ); +// getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore)); } public void sendUpdate(Player player) { From b47e42edc7040af57d7cb0ce39d0d7543d4cb358 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Dasc=C4=83lu?= Date: Sun, 5 Feb 2023 12:18:59 +0100 Subject: [PATCH 05/10] trying to fix team already exist --- .../spigot/sidebar/TwelveSidebar.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java index 83f9c2b..7f19cf6 100644 --- a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java +++ b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java @@ -176,20 +176,20 @@ public void sendCreate(Player player) { @Override public void sendRemove(Player player) { PlayerConnection conn = ((CraftPlayer) player).getHandle().playerConnection; - PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(team, 1); - conn.sendPacket(packetPlayOutScoreboardTeam); +// PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(team, 1); +// conn.sendPacket(packetPlayOutScoreboardTeam); -// PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(getPlayerName(), (ScoreboardObjective) getSidebarObjective()); -// conn.sendPacket(packetPlayOutScoreboardScore); + PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(getPlayerName(), (ScoreboardObjective) getSidebarObjective()); + conn.sendPacket(packetPlayOutScoreboardScore); } public void sendRemoveToAllReceivers() { - PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(team, 1); - getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardTeam)); -// PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( -// getPlayerName(), (ScoreboardObjective) getSidebarObjective() -// ); -// getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore)); +// PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(team, 1); +// getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardTeam)); + PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( + getPlayerName(), (ScoreboardObjective) getSidebarObjective() + ); + getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore)); } public void sendUpdate(Player player) { From 192764c65ec4abd9ff94363441ca45fe18f427a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Dasc=C4=83lu?= Date: Sun, 5 Feb 2023 12:36:53 +0100 Subject: [PATCH 06/10] trying to fix team already exist --- .../spigot/sidebar/TwelveSidebar.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java index 7f19cf6..83f9c2b 100644 --- a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java +++ b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java @@ -176,20 +176,20 @@ public void sendCreate(Player player) { @Override public void sendRemove(Player player) { PlayerConnection conn = ((CraftPlayer) player).getHandle().playerConnection; -// PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(team, 1); -// conn.sendPacket(packetPlayOutScoreboardTeam); + PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(team, 1); + conn.sendPacket(packetPlayOutScoreboardTeam); - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(getPlayerName(), (ScoreboardObjective) getSidebarObjective()); - conn.sendPacket(packetPlayOutScoreboardScore); +// PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(getPlayerName(), (ScoreboardObjective) getSidebarObjective()); +// conn.sendPacket(packetPlayOutScoreboardScore); } public void sendRemoveToAllReceivers() { -// PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(team, 1); -// getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardTeam)); - PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( - getPlayerName(), (ScoreboardObjective) getSidebarObjective() - ); - getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore)); + PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(team, 1); + getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardTeam)); +// PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( +// getPlayerName(), (ScoreboardObjective) getSidebarObjective() +// ); +// getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore)); } public void sendUpdate(Player player) { From 5fec170b25af3677e8f9d29b9cdf27cc5381e419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Dasc=C4=83lu?= Date: Sun, 5 Feb 2023 12:40:48 +0100 Subject: [PATCH 07/10] trying to fix team already exist --- .../com/andrei1058/spigot/sidebar/WrappedSidebar.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/WrappedSidebar.java b/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/WrappedSidebar.java index 1786522..4bff577 100644 --- a/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/WrappedSidebar.java +++ b/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/WrappedSidebar.java @@ -191,6 +191,16 @@ public void removeLine(int line) { } } + @Override + public void clearLines() { + this.lines.forEach(line -> { + line.sendRemoveToAllReceivers(); + this.restoreColor(line.getColor()); + }); + scoreOffsetDecrease(Collections.emptyList()); + this.lines.clear(); + } + @Override public int lineCount() { return lines.size(); From 2c23df649f1401486f197fb3f0cb116496e9795e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Dasc=C4=83lu?= Date: Sun, 5 Feb 2023 12:41:08 +0100 Subject: [PATCH 08/10] trying to fix team already exist --- .../src/main/java/com/andrei1058/spigot/sidebar/Sidebar.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/Sidebar.java b/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/Sidebar.java index 38a909e..0695e48 100644 --- a/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/Sidebar.java +++ b/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/Sidebar.java @@ -84,6 +84,8 @@ public interface Sidebar { @SuppressWarnings("unused") void removeLine(int line); + void clearLines(); + /** * @return lines amount. */ From 3bd7704164400ec28dd602e8237051a22f128ccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Dasc=C4=83lu?= Date: Sun, 5 Feb 2023 15:29:05 +0100 Subject: [PATCH 09/10] fix team already exist --- .../andrei1058/spigot/sidebar/WrappedSidebar.java | 8 ++++---- .../andrei1058/spigot/sidebar/EightSidebar.java | 10 ++++++++-- .../spigot/sidebar/EighteenSidebar.java | 2 +- .../spigot/sidebar/SeventeenSidebar.java | 2 +- .../andrei1058/spigot/sidebar/SixteenSidebar.java | 2 +- .../andrei1058/spigot/sidebar/TwelveSidebar.java | 15 ++++++++------- 6 files changed, 23 insertions(+), 16 deletions(-) diff --git a/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/WrappedSidebar.java b/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/WrappedSidebar.java index 4bff577..b9803e2 100644 --- a/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/WrappedSidebar.java +++ b/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/WrappedSidebar.java @@ -84,7 +84,7 @@ private int getAvailableScore() { private static void scoreOffsetIncrease(@NotNull Collection lineCollections) { for (ScoreLine line : lineCollections) { line.setScoreAmount(line.getScoreAmount() + 1); - line.sendCreateToAllReceivers(); + line.sendUpdateToAllReceivers(); } } @@ -96,9 +96,9 @@ private void order() { public void addLine(SidebarLine sidebarLine) { int score = getAvailableScore(); if (score == -1) return; + if (availableColors.isEmpty()) return; scoreOffsetIncrease(this.lines); - String color = availableColors.get(0); - availableColors.remove(0); + String color = availableColors.removeFirst(); ScoreLine s = SidebarManager.getInstance().getSidebarProvider().createScoreLine( this, sidebarLine, score == 0 ? score : score - 1, color ); @@ -218,13 +218,13 @@ public List getPlaceholders() { @Override public void remove(Player player) { - this.receivers.remove(player); tabView.forEach(tab -> tab.remove(player)); lines.forEach(line -> line.sendRemove(player)); this.sidebarObjective.sendRemove(player); if (this.healthObjective != null) { this.healthObjective.sendRemove(player); } + this.receivers.remove(player); // clear player from any cached context this.tabView.forEach(tab -> { diff --git a/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java b/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java index e8f3c28..f0f3cac 100644 --- a/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java +++ b/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java @@ -153,7 +153,7 @@ public int getScoreAmount() { @Override public void setScoreAmount(int score) { - this.score = score; + this.setScore(score); } @Override @@ -191,7 +191,9 @@ public void sendRemoveToAllReceivers() { public void sendUpdate(Player player) { PacketPlayOutScoreboardTeam packetTeamUpdate = new PacketPlayOutScoreboardTeam(team, 2); + PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(getPlayerName(), (ScoreboardObjective) getSidebarObjective()); ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packetTeamUpdate); + ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore); } @Contract(pure = true) @@ -224,7 +226,11 @@ public void setSuffix(@NotNull String secondPart) { public void sendUpdateToAllReceivers() { PacketPlayOutScoreboardTeam packetTeamUpdate = new PacketPlayOutScoreboardTeam(team, 2); - getReceivers().forEach(r -> ((CraftPlayer) r).getHandle().playerConnection.sendPacket(packetTeamUpdate)); + PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(this); + getReceivers().forEach(r -> { + ((CraftPlayer) r).getHandle().playerConnection.sendPacket(packetTeamUpdate); + ((CraftPlayer) r).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore); + }); } public int compareTo(@NotNull ScoreLine o) { diff --git a/sidebar-eighteen/src/main/java/com/andrei1058/spigot/sidebar/EighteenSidebar.java b/sidebar-eighteen/src/main/java/com/andrei1058/spigot/sidebar/EighteenSidebar.java index 5e0582d..5ffc260 100644 --- a/sidebar-eighteen/src/main/java/com/andrei1058/spigot/sidebar/EighteenSidebar.java +++ b/sidebar-eighteen/src/main/java/com/andrei1058/spigot/sidebar/EighteenSidebar.java @@ -178,7 +178,7 @@ public int getScoreAmount() { @Override public void setScoreAmount(int score) { - this.score = score; + this.b(score); } @Override diff --git a/sidebar-seventeen/src/main/java/com/andrei1058/spigot/sidebar/SeventeenSidebar.java b/sidebar-seventeen/src/main/java/com/andrei1058/spigot/sidebar/SeventeenSidebar.java index 9ab695e..db3ced0 100644 --- a/sidebar-seventeen/src/main/java/com/andrei1058/spigot/sidebar/SeventeenSidebar.java +++ b/sidebar-seventeen/src/main/java/com/andrei1058/spigot/sidebar/SeventeenSidebar.java @@ -169,7 +169,7 @@ public int getScoreAmount() { @Override public void setScoreAmount(int score) { - this.score = score; + this.setScore(score); } @Override diff --git a/sidebar-sixteen/src/main/java/com/andrei1058/spigot/sidebar/SixteenSidebar.java b/sidebar-sixteen/src/main/java/com/andrei1058/spigot/sidebar/SixteenSidebar.java index 66fe701..cf27595 100644 --- a/sidebar-sixteen/src/main/java/com/andrei1058/spigot/sidebar/SixteenSidebar.java +++ b/sidebar-sixteen/src/main/java/com/andrei1058/spigot/sidebar/SixteenSidebar.java @@ -154,7 +154,7 @@ public int getScoreAmount() { @Override public void setScoreAmount(int score) { - this.score = score; + this.setScore(score); } @Override diff --git a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java index 83f9c2b..f1104f8 100644 --- a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java +++ b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java @@ -153,7 +153,7 @@ public int getScoreAmount() { @Override public void setScoreAmount(int score) { - this.score = score; + this.setScore(score); } @Override @@ -179,17 +179,18 @@ public void sendRemove(Player player) { PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(team, 1); conn.sendPacket(packetPlayOutScoreboardTeam); -// PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(getPlayerName(), (ScoreboardObjective) getSidebarObjective()); -// conn.sendPacket(packetPlayOutScoreboardScore); + PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore(getPlayerName(), (ScoreboardObjective) getSidebarObjective()); + conn.sendPacket(packetPlayOutScoreboardScore); } public void sendRemoveToAllReceivers() { PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(team, 1); getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardTeam)); -// PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( -// getPlayerName(), (ScoreboardObjective) getSidebarObjective() -// ); -// getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore)); + + PacketPlayOutScoreboardScore packetPlayOutScoreboardScore = new PacketPlayOutScoreboardScore( + getPlayerName(), (ScoreboardObjective) getSidebarObjective() + ); + getReceivers().forEach(p -> ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packetPlayOutScoreboardScore)); } public void sendUpdate(Player player) { From 86e8d1203276904cbc4c571245f4ab510b28db32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Dasc=C4=83lu?= Date: Sun, 5 Feb 2023 15:47:12 +0100 Subject: [PATCH 10/10] performance improvement --- .../andrei1058/spigot/sidebar/ScoreLine.java | 5 ++++- .../spigot/sidebar/WrappedSidebar.java | 20 ++++++++++--------- .../spigot/sidebar/EightSidebar.java | 7 ++++++- .../spigot/sidebar/EighteenSidebar.java | 7 ++++++- .../spigot/sidebar/NineteenSidebar.java | 8 +++++++- .../spigot/sidebar/SeventeenSidebar.java | 8 +++++++- .../spigot/sidebar/SixteenSidebar.java | 8 +++++++- .../spigot/sidebar/TwelveSidebar.java | 8 +++++++- 8 files changed, 55 insertions(+), 16 deletions(-) diff --git a/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/ScoreLine.java b/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/ScoreLine.java index aaf9e7b..eed497c 100644 --- a/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/ScoreLine.java +++ b/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/ScoreLine.java @@ -16,7 +16,10 @@ interface ScoreLine extends Comparable { void sendCreate(Player player); - void setContent(String content); + /** + * @return if content has been changed + */ + boolean setContent(String content); void sendUpdateToAllReceivers(); diff --git a/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/WrappedSidebar.java b/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/WrappedSidebar.java index b9803e2..e16cc6b 100644 --- a/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/WrappedSidebar.java +++ b/sidebar-base/src/main/java/com/andrei1058/spigot/sidebar/WrappedSidebar.java @@ -137,22 +137,21 @@ public void add(Player player) { @Override public void refreshPlaceholders() { for (ScoreLine line : this.lines) { - if (line.getLine().isHasPlaceholders()) { - refreshLinePlaceholders(line); + if (line.getLine().isHasPlaceholders() && refreshLinePlaceholders(line)) { line.sendUpdateToAllReceivers(); } } } // refresh placeholders for the given line before sending it - private void refreshLinePlaceholders(@NotNull ScoreLine line){ + private boolean refreshLinePlaceholders(@NotNull ScoreLine line) { String content = line.getLine().getLine(); for (PlaceholderProvider pp : this.placeholderProviders) { if (content.contains(pp.getPlaceholder())) { content = content.replace(pp.getPlaceholder(), pp.getReplacement()); } } - line.setContent(content); + return line.setContent(content); } @Override @@ -165,11 +164,14 @@ public void refreshAnimatedLines() { for (ScoreLine line : lines) { if (line.getLine() instanceof SidebarLineAnimated) { if (line.getLine().isHasPlaceholders()) { - refreshLinePlaceholders(line); + if (refreshLinePlaceholders(line)) { + line.sendUpdateToAllReceivers(); + } } else { - line.setContent(line.getLine().getLine()); + if (line.setContent(line.getLine().getLine())) { + line.sendUpdateToAllReceivers(); + } } - line.sendUpdateToAllReceivers(); } } } @@ -279,7 +281,7 @@ public PlayerTab playerTabCreate(String identifier, @Nullable Player player, Sid ); // send tab create to sidebar receivers getReceivers().forEach(tab::sendCreateToPlayer); - if (null != player){ + if (null != player) { // add entity to tab team tab.sendUserCreateToReceivers(player); } @@ -290,7 +292,7 @@ public PlayerTab playerTabCreate(String identifier, @Nullable Player player, Sid @Override public void removeTab(String identifier) { Optional playerTab = tabView.stream().filter(tab -> tab.getIdentifier().equals(identifier)).findFirst(); - if (playerTab.isPresent()){ + if (playerTab.isPresent()) { VersionedTabGroup tab = playerTab.get(); tabView.remove(tab); tab.sendRemoveToReceivers(); diff --git a/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java b/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java index f0f3cac..ec0873b 100644 --- a/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java +++ b/sidebar-eight/src/main/java/com/andrei1058/spigot/sidebar/EightSidebar.java @@ -130,8 +130,10 @@ public BucharestScoreLine(@NotNull SidebarLine text, int score, @NotNull String content = content.replace(pp.getPlaceholder(), pp.getReplacement()); } } + //noinspection ResultOfMethodCallIgnored setContent(content); } else { + //noinspection ResultOfMethodCallIgnored setContent(text.getLine()); } } @@ -197,10 +199,12 @@ public void sendUpdate(Player player) { } @Contract(pure = true) - public void setContent(@NotNull String content) { + public boolean setContent(@NotNull String content) { if (!getReceivers().isEmpty()) { content = SidebarManager.getInstance().getPapiSupport().replacePlaceholders(getReceivers().get(0), content); } + String oldPrefix = this.prefix; + String oldSuffix = this.suffix; if (content.length() > 16) { this.prefix = content.substring(0, 16); if (this.prefix.charAt(15) == ChatColor.COLOR_CHAR) { @@ -213,6 +217,7 @@ public void setContent(@NotNull String content) { this.prefix = content; this.suffix = ""; } + return !oldPrefix.equals(this.prefix) || !oldSuffix.equals(this.suffix); } public void setSuffix(@NotNull String secondPart) { diff --git a/sidebar-eighteen/src/main/java/com/andrei1058/spigot/sidebar/EighteenSidebar.java b/sidebar-eighteen/src/main/java/com/andrei1058/spigot/sidebar/EighteenSidebar.java index 5ffc260..3faba84 100644 --- a/sidebar-eighteen/src/main/java/com/andrei1058/spigot/sidebar/EighteenSidebar.java +++ b/sidebar-eighteen/src/main/java/com/andrei1058/spigot/sidebar/EighteenSidebar.java @@ -155,8 +155,10 @@ public NarniaScoreLine(@NotNull SidebarLine text, int score, @NotNull String col content = content.replace(pp.getPlaceholder(), pp.getReplacement()); } } + //noinspection ResultOfMethodCallIgnored setContent(content); } else { + //noinspection ResultOfMethodCallIgnored setContent(text.getLine()); } } @@ -228,10 +230,12 @@ public void sendUpdate(Player player) { } @Contract(pure = true) - public void setContent(@NotNull String content) { + public boolean setContent(@NotNull String content) { if (!getReceivers().isEmpty()) { content = SidebarManager.getInstance().getPapiSupport().replacePlaceholders(getReceivers().get(0), content); } + var oldPrefix = this.prefix; + var oldSuffix = this.suffix; if (content.length() > 64) { this.prefix = content.substring(0, 64); if (this.prefix.charAt(63) == ChatColor.COLOR_CHAR) { @@ -244,6 +248,7 @@ public void setContent(@NotNull String content) { this.prefix = content; this.suffix = ""; } + return !oldPrefix.equals(this.prefix) || !oldSuffix.equals(this.suffix); } public void setSuffix(@NotNull String secondPart) { diff --git a/sidebar-nineteen/src/main/java/com/andrei1058/spigot/sidebar/NineteenSidebar.java b/sidebar-nineteen/src/main/java/com/andrei1058/spigot/sidebar/NineteenSidebar.java index 5fb2a93..03250fb 100644 --- a/sidebar-nineteen/src/main/java/com/andrei1058/spigot/sidebar/NineteenSidebar.java +++ b/sidebar-nineteen/src/main/java/com/andrei1058/spigot/sidebar/NineteenSidebar.java @@ -155,8 +155,10 @@ public NarniaScoreLine(@NotNull SidebarLine text, int score, @NotNull String col content = content.replace(pp.getPlaceholder(), pp.getReplacement()); } } + //noinspection ResultOfMethodCallIgnored setContent(content); } else { + //noinspection ResultOfMethodCallIgnored setContent(text.getLine()); } } @@ -228,10 +230,13 @@ public void sendUpdate(Player player) { } @Contract(pure = true) - public void setContent(@NotNull String content) { + public boolean setContent(@NotNull String content) { if (!getReceivers().isEmpty()) { content = SidebarManager.getInstance().getPapiSupport().replacePlaceholders(getReceivers().get(0), content); } + var oldPrefix = this.prefix; + var oldSuffix = this.suffix; + if (content.length() > 16) { this.prefix = content.substring(0, 16); if (this.prefix.charAt(15) == ChatColor.COLOR_CHAR) { @@ -244,6 +249,7 @@ public void setContent(@NotNull String content) { this.prefix = content; this.suffix = ""; } + return !oldPrefix.equals(this.prefix) || !oldSuffix.equals(this.suffix); } public void setSuffix(@NotNull String secondPart) { diff --git a/sidebar-seventeen/src/main/java/com/andrei1058/spigot/sidebar/SeventeenSidebar.java b/sidebar-seventeen/src/main/java/com/andrei1058/spigot/sidebar/SeventeenSidebar.java index db3ced0..5f5350d 100644 --- a/sidebar-seventeen/src/main/java/com/andrei1058/spigot/sidebar/SeventeenSidebar.java +++ b/sidebar-seventeen/src/main/java/com/andrei1058/spigot/sidebar/SeventeenSidebar.java @@ -146,8 +146,10 @@ public NarniaScoreLine(@NotNull SidebarLine text, int score, @NotNull String col content = content.replace(pp.getPlaceholder(), pp.getReplacement()); } } + //noinspection ResultOfMethodCallIgnored setContent(content); } else { + //noinspection ResultOfMethodCallIgnored setContent(text.getLine()); } } @@ -219,10 +221,13 @@ public void sendUpdate(Player player) { } @Contract(pure = true) - public void setContent(@NotNull String content) { + public boolean setContent(@NotNull String content) { if (!getReceivers().isEmpty()) { content = SidebarManager.getInstance().getPapiSupport().replacePlaceholders(getReceivers().get(0), content); } + var oldPrefix = this.prefix; + var oldSuffix = this.suffix; + if (content.length() > 32) { this.prefix = content.substring(0, 32); if (this.prefix.charAt(31) == ChatColor.COLOR_CHAR) { @@ -235,6 +240,7 @@ public void setContent(@NotNull String content) { this.prefix = content; this.suffix = ""; } + return !oldPrefix.equals(this.prefix) || !oldSuffix.equals(this.suffix); } public void setSuffix(@NotNull String secondPart) { diff --git a/sidebar-sixteen/src/main/java/com/andrei1058/spigot/sidebar/SixteenSidebar.java b/sidebar-sixteen/src/main/java/com/andrei1058/spigot/sidebar/SixteenSidebar.java index cf27595..8851812 100644 --- a/sidebar-sixteen/src/main/java/com/andrei1058/spigot/sidebar/SixteenSidebar.java +++ b/sidebar-sixteen/src/main/java/com/andrei1058/spigot/sidebar/SixteenSidebar.java @@ -131,8 +131,10 @@ public BucharestScoreLine(@NotNull SidebarLine text, int score, @NotNull String content = content.replace(pp.getPlaceholder(), pp.getReplacement()); } } + //noinspection ResultOfMethodCallIgnored setContent(content); } else { + //noinspection ResultOfMethodCallIgnored setContent(text.getLine()); } } @@ -206,10 +208,13 @@ public void sendUpdate(Player player) { } @Contract(pure = true) - public void setContent(@NotNull String content) { + public boolean setContent(@NotNull String content) { if (!getReceivers().isEmpty()) { content = SidebarManager.getInstance().getPapiSupport().replacePlaceholders(getReceivers().get(0), content); } + var oldPrefix = this.prefix; + var oldSuffix = this.suffix; + if (content.length() > 32) { this.prefix = content.substring(0, 32); if (this.prefix.charAt(31) == ChatColor.COLOR_CHAR) { @@ -222,6 +227,7 @@ public void setContent(@NotNull String content) { this.prefix = content; this.suffix = ""; } + return !oldPrefix.equals(this.prefix) || !oldSuffix.equals(this.suffix); } public void setSuffix(@NotNull String secondPart) { diff --git a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java index f1104f8..859142a 100644 --- a/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java +++ b/sidebar-twelve/src/main/java/com/andrei1058/spigot/sidebar/TwelveSidebar.java @@ -130,8 +130,10 @@ public BucharestScoreLine(@NotNull SidebarLine text, int score, @NotNull String content = content.replace(pp.getPlaceholder(), pp.getReplacement()); } } + //noinspection ResultOfMethodCallIgnored setContent(content); } else { + //noinspection ResultOfMethodCallIgnored setContent(text.getLine()); } } @@ -199,10 +201,13 @@ public void sendUpdate(Player player) { } @Contract(pure = true) - public void setContent(@NotNull String content) { + public boolean setContent(@NotNull String content) { if (!getReceivers().isEmpty()) { content = SidebarManager.getInstance().getPapiSupport().replacePlaceholders(getReceivers().get(0), content); } + var oldPrefix = this.prefix; + var oldSuffix = this.suffix; + if (content.length() > 16) { this.prefix = content.substring(0, 16); if (this.prefix.charAt(15) == ChatColor.COLOR_CHAR) { @@ -215,6 +220,7 @@ public void setContent(@NotNull String content) { this.prefix = content; this.suffix = ""; } + return !oldPrefix.equals(this.prefix) || !oldSuffix.equals(this.suffix); } public void setSuffix(@NotNull String secondPart) {