42 Function<Player, String> messageProvider) {
50 public void DisplayBarData(BossBar bossBar, Player player){
51 if (bossBar ==
null)
throw new IllegalArgumentException(
"BossBar cannot be null.");
52 if (player ==
null)
throw new IllegalArgumentException(
"Player cannot be null.");
54 bossBar.setTitle(safeTitle(player));
55 bossBar.setColor(barColor);
56 bossBar.setStyle(barStyle);
57 bossBar.setProgress(clampedProgress());
65 String safeTitle(Player player) {
66 String raw = (messageProvider ==
null ?
"" : messageProvider.apply(player));
67 if (raw ==
null) raw =
"";
68 return PlainTextComponentSerializer.plainText()
69 .serialize(DreamMessageFormatter.format(raw, player, DreamMessageSettings.all()));
76 double clampedProgress() {
77 return Math.max(0.0, Math.min(1.0, barProgress));