Added Sidebar#setTitle to change the title at any time

This commit is contained in:
Felix Cravic 2020-05-16 19:55:22 +02:00
parent b97b75f13c
commit 155efc0cff
2 changed files with 17 additions and 2 deletions

View File

@ -23,6 +23,7 @@ import net.minestom.server.item.ItemStack;
import net.minestom.server.item.Material;
import net.minestom.server.network.ConnectionManager;
import net.minestom.server.ping.ResponseDataConsumer;
import net.minestom.server.scoreboard.Sidebar;
import net.minestom.server.timer.TaskRunnable;
import net.minestom.server.utils.MathUtils;
import net.minestom.server.utils.Position;
@ -178,12 +179,14 @@ public class PlayerInit {
System.out.println("slot player: " + slot);
});
/*Sidebar scoreboard = new Sidebar("Scoreboard Title");
Sidebar scoreboard = new Sidebar("Scoreboard Title");
for (int i = 0; i < 15; i++) {
scoreboard.createLine(new Sidebar.ScoreboardLine("id" + i, "Hey guys " + i, i));
}
scoreboard.addViewer(player);
scoreboard.updateLineContent("id3", "I HAVE BEEN UPDATED");*/
scoreboard.updateLineContent("id3", "I HAVE BEEN UPDATED");
scoreboard.setTitle("test");
});
player.addEventCallback(PlayerSpawnEvent.class, event -> {

View File

@ -46,6 +46,18 @@ public class Sidebar implements Viewable {
}
}
public void setTitle(String title) {
this.title = title;
ScoreboardObjectivePacket scoreboardObjectivePacket = new ScoreboardObjectivePacket();
scoreboardObjectivePacket.objectiveName = objectiveName;
scoreboardObjectivePacket.mode = 2; // Update display text
scoreboardObjectivePacket.objectiveValue = title;
scoreboardObjectivePacket.type = 0;
sendPacketToViewers(scoreboardObjectivePacket);
}
public void createLine(ScoreboardLine scoreboardLine) {
synchronized (lines) {
if (lines.size() >= MAX_LINES_COUNT)