package de.fanta.challenge.teams;
import de.fanta.challenge.Challenge;
import de.fanta.challenge.guis.BackpackGui;
import de.fanta.challenge.score.Scorable;
import de.fanta.challenge.utils.Config;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.scoreboard.Scoreboard;
import java.util.UUID;
public class ChallengeTeam implements Scorable {
private String name;
private final NamedTextColor chatColor;
private Location spawn;
private final ItemStack displayItem;
private int score;
private final BackpackGui backpack;
public ChallengeTeam(String name, NamedTextColor chatColor, ItemStack displayItem) {
this.name = name;
this.chatColor = chatColor;
this.displayItem = displayItem;
this.backpack = new BackpackGui(Challenge.getPlugin(), Config.getInt("backpack_size") * 9, Challenge.getPlugin().getGuiPrefix().append(Component.text(" >> " + name)));
}
public String getName() {
return name;
}
@Override
public UUID getUUID() {
return null;
}
public NamedTextColor getChatColor() {
return chatColor;
}
public Location getSpawn() {
return spawn;
}
public int getScore() {
return score;
}
public void setName(String name) {
this.name = name;
}
public void setSpawn(Location spawn) {
this.spawn = spawn;
}
public ItemStack getDisplayItem() {
return displayItem;
}
@Override
public void setScoreboard(Scoreboard scoreboard) {
for (OfflinePlayer pp : TeamUtils.getPlayersInTeam(this)) {
Player tempPlayer = Bukkit.getPlayer(pp.getUniqueId());
if (tempPlayer != null && tempPlayer.isOnline()) {
tempPlayer.setScoreboard(scoreboard);
}
}
}
@Override
public String getIdentifier() {
return getChatColor() + getName();
}
public BackpackGui getBackpack() {
return backpack;
}
}