Newer
Older
ChallengeSystem / Challenge / src / main / java / de / fanta / challenge / teams / ChallengeTeam.java
@fanta fanta on 7 Oct 2024 2 KB zeugs
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;
    }
}