// Generated by delombok at Tue Dec 16 19:35:27 UTC 2025
package net.md_5.bungee.api.score;

import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import lombok.NonNull;

public class Team {
    @NonNull
    private final String name;
    private String displayName;
    private String prefix;
    private String suffix;
    private byte friendlyFire;
    private String nameTagVisibility;
    private String collisionRule;
    private int color;
    private Set<String> players = new HashSet<>();

    public Collection<String> getPlayers() {
        return Collections.unmodifiableSet(players);
    }

    public void addPlayer(String name) {
        players.add(name);
    }

    public void removePlayer(String name) {
        players.remove(name);
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public Team(@NonNull final String name) {
        if (name == null) {
            throw new java.lang.NullPointerException("name is marked non-null but is null");
        }
        this.name = name;
    }

    @NonNull
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getName() {
        return this.name;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getDisplayName() {
        return this.displayName;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getPrefix() {
        return this.prefix;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getSuffix() {
        return this.suffix;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public byte getFriendlyFire() {
        return this.friendlyFire;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getNameTagVisibility() {
        return this.nameTagVisibility;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getCollisionRule() {
        return this.collisionRule;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public int getColor() {
        return this.color;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public void setDisplayName(final String displayName) {
        this.displayName = displayName;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public void setPrefix(final String prefix) {
        this.prefix = prefix;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public void setSuffix(final String suffix) {
        this.suffix = suffix;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public void setFriendlyFire(final byte friendlyFire) {
        this.friendlyFire = friendlyFire;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public void setNameTagVisibility(final String nameTagVisibility) {
        this.nameTagVisibility = nameTagVisibility;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public void setCollisionRule(final String collisionRule) {
        this.collisionRule = collisionRule;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public void setColor(final int color) {
        this.color = color;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public void setPlayers(final Set<String> players) {
        this.players = players;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public boolean equals(final java.lang.Object o) {
        if (o == this) return true;
        if (!(o instanceof Team)) return false;
        final Team other = (Team) o;
        if (!other.canEqual((java.lang.Object) this)) return false;
        if (this.getFriendlyFire() != other.getFriendlyFire()) return false;
        if (this.getColor() != other.getColor()) return false;
        final java.lang.Object this$name = this.getName();
        final java.lang.Object other$name = other.getName();
        if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
        final java.lang.Object this$displayName = this.getDisplayName();
        final java.lang.Object other$displayName = other.getDisplayName();
        if (this$displayName == null ? other$displayName != null : !this$displayName.equals(other$displayName)) return false;
        final java.lang.Object this$prefix = this.getPrefix();
        final java.lang.Object other$prefix = other.getPrefix();
        if (this$prefix == null ? other$prefix != null : !this$prefix.equals(other$prefix)) return false;
        final java.lang.Object this$suffix = this.getSuffix();
        final java.lang.Object other$suffix = other.getSuffix();
        if (this$suffix == null ? other$suffix != null : !this$suffix.equals(other$suffix)) return false;
        final java.lang.Object this$nameTagVisibility = this.getNameTagVisibility();
        final java.lang.Object other$nameTagVisibility = other.getNameTagVisibility();
        if (this$nameTagVisibility == null ? other$nameTagVisibility != null : !this$nameTagVisibility.equals(other$nameTagVisibility)) return false;
        final java.lang.Object this$collisionRule = this.getCollisionRule();
        final java.lang.Object other$collisionRule = other.getCollisionRule();
        if (this$collisionRule == null ? other$collisionRule != null : !this$collisionRule.equals(other$collisionRule)) return false;
        final java.lang.Object this$players = this.getPlayers();
        final java.lang.Object other$players = other.getPlayers();
        if (this$players == null ? other$players != null : !this$players.equals(other$players)) return false;
        return true;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    protected boolean canEqual(final java.lang.Object other) {
        return other instanceof Team;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        result = result * PRIME + this.getFriendlyFire();
        result = result * PRIME + this.getColor();
        final java.lang.Object $name = this.getName();
        result = result * PRIME + ($name == null ? 43 : $name.hashCode());
        final java.lang.Object $displayName = this.getDisplayName();
        result = result * PRIME + ($displayName == null ? 43 : $displayName.hashCode());
        final java.lang.Object $prefix = this.getPrefix();
        result = result * PRIME + ($prefix == null ? 43 : $prefix.hashCode());
        final java.lang.Object $suffix = this.getSuffix();
        result = result * PRIME + ($suffix == null ? 43 : $suffix.hashCode());
        final java.lang.Object $nameTagVisibility = this.getNameTagVisibility();
        result = result * PRIME + ($nameTagVisibility == null ? 43 : $nameTagVisibility.hashCode());
        final java.lang.Object $collisionRule = this.getCollisionRule();
        result = result * PRIME + ($collisionRule == null ? 43 : $collisionRule.hashCode());
        final java.lang.Object $players = this.getPlayers();
        result = result * PRIME + ($players == null ? 43 : $players.hashCode());
        return result;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public java.lang.String toString() {
        return "Team(name=" + this.getName() + ", displayName=" + this.getDisplayName() + ", prefix=" + this.getPrefix() + ", suffix=" + this.getSuffix() + ", friendlyFire=" + this.getFriendlyFire() + ", nameTagVisibility=" + this.getNameTagVisibility() + ", collisionRule=" + this.getCollisionRule() + ", color=" + this.getColor() + ", players=" + this.getPlayers() + ")";
    }
}
