
org.bukkit.scoreboard.Team Maven / Gradle / Ivy
package org.bukkit.scoreboard;
import org.bukkit.OfflinePlayer;
import org.bukkit.potion.PotionEffectType;
import java.util.Set;
/**
* A team on a scoreboard that has a common display theme and other
* properties. This team is only relevant to the display of the associated
* {@link #getScoreboard() scoreboard}.
*/
public interface Team {
/**
* Gets the name of this Team
*
* @return Objective name
* @throws IllegalStateException if this team has been unregistered
*/
String getName() throws IllegalStateException;
/**
* Gets the name displayed to entries for this team
*
* @return Team display name
* @throws IllegalStateException if this team has been unregistered
*/
String getDisplayName() throws IllegalStateException;
/**
* Sets the name displayed to entries for this team
*
* @param displayName New display name
* @throws IllegalArgumentException if displayName is longer than 32
* characters.
* @throws IllegalStateException if this team has been unregistered
*/
void setDisplayName(String displayName) throws IllegalStateException, IllegalArgumentException;
/**
* Gets the prefix prepended to the display of entries on this team.
*
* @return Team prefix
* @throws IllegalStateException if this team has been unregistered
*/
String getPrefix() throws IllegalStateException;
/**
* Sets the prefix prepended to the display of entries on this team.
*
* @param prefix New prefix
* @throws IllegalArgumentException if prefix is null
* @throws IllegalArgumentException if prefix is longer than 16
* characters
* @throws IllegalStateException if this team has been unregistered
*/
void setPrefix(String prefix) throws IllegalStateException, IllegalArgumentException;
/**
* Gets the suffix appended to the display of entries on this team.
*
* @return the team's current suffix
* @throws IllegalStateException if this team has been unregistered
*/
String getSuffix() throws IllegalStateException;
/**
* Sets the suffix appended to the display of entries on this team.
*
* @param suffix the new suffix for this team.
* @throws IllegalArgumentException if suffix is null
* @throws IllegalArgumentException if suffix is longer than 16
* characters
* @throws IllegalStateException if this team has been unregistered
*/
void setSuffix(String suffix) throws IllegalStateException, IllegalArgumentException;
/**
* Gets the team friendly fire state
*
* @return true if friendly fire is enabled
* @throws IllegalStateException if this team has been unregistered
*/
boolean allowFriendlyFire() throws IllegalStateException;
/**
* Sets the team friendly fire state
*
* @param enabled true if friendly fire is to be allowed
* @throws IllegalStateException if this team has been unregistered
*/
void setAllowFriendlyFire(boolean enabled) throws IllegalStateException;
/**
* Gets the team's ability to see {@link PotionEffectType#INVISIBILITY
* invisible} teammates.
*
* @return true if team members can see invisible members
* @throws IllegalStateException if this team has been unregistered
*/
boolean canSeeFriendlyInvisibles() throws IllegalStateException;
/**
* Sets the team's ability to see {@link PotionEffectType#INVISIBILITY
* invisible} teammates.
*
* @param enabled true if invisible teammates are to be visible
* @throws IllegalStateException if this team has been unregistered
*/
void setCanSeeFriendlyInvisibles(boolean enabled) throws IllegalStateException;
/**
* Gets the team's ability to see name tags
*
* @return the current name tag visibilty for the team
* @throws IllegalArgumentException if this team has been unregistered
*/
NameTagVisibility getNameTagVisibility() throws IllegalArgumentException;
/**
* Set's the team's ability to see name tags
*
* @param visibility The nameTagVisibilty to set
* @throws IllegalArgumentException if this team has been unregistered
*/
void setNameTagVisibility(NameTagVisibility visibility) throws IllegalArgumentException;
/**
* Gets the Set of players on the team
*
* @return players on the team
* @throws IllegalStateException if this team has been unregistered\
* @see #getEntries()
* @deprecated Teams can contain entries that aren't players
*/
@Deprecated
Set getPlayers() throws IllegalStateException;
/**
* Gets the Set of entries on the team
*
* @return entries on the team
* @throws IllegalStateException if this entries has been unregistered\
*/
Set getEntries() throws IllegalStateException;
/**
* Gets the size of the team
*
* @return number of entries on the team
* @throws IllegalStateException if this team has been unregistered
*/
int getSize() throws IllegalStateException;
/**
* Gets the Scoreboard to which this team is attached
*
* @return Owning scoreboard, or null if this team has been {@link
* #unregister() unregistered}
*/
Scoreboard getScoreboard();
/**
* This puts the specified player onto this team for the scoreboard.
*
* This will remove the player from any other team on the scoreboard.
*
* @param player the player to add
* @throws IllegalArgumentException if player is null
* @throws IllegalStateException if this team has been unregistered
* @see #addEntry(String)
* @deprecated Teams can contain entries that aren't players
*/
@Deprecated
void addPlayer(OfflinePlayer player) throws IllegalStateException, IllegalArgumentException;
/**
* This puts the specified entry onto this team for the scoreboard.
*
* This will remove the entry from any other team on the scoreboard.
*
* @param entry the entry to add
* @throws IllegalArgumentException if entry is null
* @throws IllegalStateException if this team has been unregistered
*/
void addEntry(String entry) throws IllegalStateException, IllegalArgumentException;
/**
* Removes the player from this team.
*
* @param player the player to remove
* @return if the player was on this team
* @throws IllegalArgumentException if player is null
* @throws IllegalStateException if this team has been unregistered
* @see #removeEntry(String)
* @deprecated Teams can contain entries that aren't players
*/
@Deprecated
boolean removePlayer(OfflinePlayer player) throws IllegalStateException, IllegalArgumentException;
/**
* Removes the entry from this team.
*
* @param entry the entry to remove
* @return if the entry was a part of this team
* @throws IllegalArgumentException if entry is null
* @throws IllegalStateException if this team has been unregistered
*/
boolean removeEntry(String entry) throws IllegalStateException, IllegalArgumentException;
/**
* Unregisters this team from the Scoreboard
*
* @throws IllegalStateException if this team has been unregistered
*/
void unregister() throws IllegalStateException;
/**
* Checks to see if the specified player is a member of this team.
*
* @param player the player to search for
* @return true if the player is a member of this team
* @throws IllegalArgumentException if player is null
* @throws IllegalStateException if this team has been unregistered
* @see #hasEntry(String)
* @deprecated Teams can contain entries that aren't players
*/
@Deprecated
boolean hasPlayer(OfflinePlayer player) throws IllegalArgumentException, IllegalStateException;
/**
* Checks to see if the specified entry is a member of this team.
*
* @param entry the entry to search for
* @return true if the entry is a member of this team
* @throws IllegalArgumentException if entry is null
* @throws IllegalStateException if this team has been unregistered
*/
boolean hasEntry(String entry) throws IllegalArgumentException, IllegalStateException;
}