1
0
This commit is contained in:
Lee
2024-03-26 09:10:03 +00:00
parent 8a435ad132
commit 73b052a81d
2 changed files with 23 additions and 22 deletions

View File

@ -5,13 +5,11 @@ import cc.fascinated.account.Profile;
import lombok.Getter;
import lombok.Setter;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team;
@Getter @Setter
@ -42,7 +40,7 @@ public class PlayerColor extends Profile {
public void setColor(NamedTextColor color) {
this.color = color;
Team team = getScoreboardTeam(this.color);
Team team = PlayerColorManager.getScoreboardTeam(this.color);
team.addEntry(getAccount().getName());
}
@ -55,7 +53,7 @@ public class PlayerColor extends Profile {
public void onLogin(PlayerLoginEvent event) {
Player player = event.getPlayer();
Team team = getScoreboardTeam(this.color);
Team team = PlayerColorManager.getScoreboardTeam(this.color);
team.addEntry(player.getName());
}
@ -63,24 +61,7 @@ public class PlayerColor extends Profile {
public void onQuit(PlayerQuitEvent event) {
Player player = event.getPlayer();
Team team = getScoreboardTeam(this.color);
Team team = PlayerColorManager.getScoreboardTeam(this.color);
team.removeEntry(player.getName());
}
/**
* Gets the scoreboard team for this color.
*
* @param color the color to get the team for
* @return the team
*/
private Team getScoreboardTeam(NamedTextColor color) {
Scoreboard scoreboard = Bukkit.getScoreboardManager().getMainScoreboard();
Team team = scoreboard.getTeam(color.toString().toLowerCase());
if (team == null) {
team = scoreboard.registerNewTeam(color.toString().toLowerCase());
team.color(color);
}
return team;
}
}

View File

@ -8,8 +8,11 @@ import io.papermc.paper.event.player.AsyncChatEvent;
import lombok.Getter;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team;
import java.util.List;
@ -60,6 +63,23 @@ public class PlayerColorManager extends Manager {
return null;
}
/**
* Gets the scoreboard team for this color.
*
* @param color the color to get the team for
* @return the team
*/
public static Team getScoreboardTeam(NamedTextColor color) {
Scoreboard scoreboard = Bukkit.getScoreboardManager().getMainScoreboard();
Team team = scoreboard.getTeam(color.toString().toLowerCase());
if (team == null) {
team = scoreboard.registerNewTeam(color.toString().toLowerCase());
team.color(color);
}
return team;
}
@EventHandler
public void onChat(AsyncChatEvent event) {
Player player = event.getPlayer();