Interface Team


  • public interface Team
    A team on a scoreboard that has a common display theme and other properties.

    A team is comprised of different members, represented by Component objects. While any Component can be added to a team, certain Components convey a special meaning.

    Examples of this include players, whose names gain the prefix and suffix of the team they are on.

    With the exception of nameTagVisibility() (which is handled client-side), all of the team options require players to have the same team object (and by extension, the same scoreboard). For example, consider two players who each have different scoreboards set. Each scoreboard has a team registered with identical names, each containing the same players. Both players would always be able to attack each other, regardless of the value of allowFriendlyFire(). For it to work, both players must have the same scoreboard, and be on a team registered to said scoreboard.

    • Method Detail

      • name

        java.lang.String name()
        Gets the name of this team.
        Returns:
        The name of this team
      • displayName

        Component displayName()
        Gets the name displayed to users for this team.
        Returns:
        The display name for this team
      • setDisplayName

        void setDisplayName​(Component displayName)
                     throws java.lang.IllegalArgumentException
        Sets the name displayed to users for this team.
        Parameters:
        displayName - The Component to use
        Throws:
        java.lang.IllegalArgumentException
      • color

        NamedTextColor color()
        Gets the color of this team.

        The team's color is a distinct concept from its prefix or suffix. It is only used for colored sidebar display slots, and certain statistic criteria.

        Returns:
        The team color
      • setColor

        void setColor​(NamedTextColor color)
        Sets the color of this team.

        The team's color is a distinct concept from its prefix or suffix. It is only used for colored sidebar display slots, and certain statistic criteria.

        Parameters:
        color - The team color
      • prefix

        Component prefix()
        Gets the prefix prepended to the display name of users on this team.
        Returns:
        The prefix for this team
      • setPrefix

        void setPrefix​(Component prefix)
                throws java.lang.IllegalArgumentException
        Sets the prefix prepended to the display name of users on this team.
        Parameters:
        prefix - The new prefix for this team
        Throws:
        java.lang.IllegalArgumentException
      • suffix

        Component suffix()
        Gets the suffix appended to the display name of users on this team.
        Returns:
        The team's current suffix
      • setSuffix

        void setSuffix​(Component suffix)
                throws java.lang.IllegalArgumentException
        Sets the suffix appended to the display name of users on this team.
        Parameters:
        suffix - The new suffix for this team.
        Throws:
        java.lang.IllegalArgumentException
      • allowFriendlyFire

        boolean allowFriendlyFire()
        Gets whether friendly fire is enabled.

        This option only controls players attacking other players. It has no affect other entities attacking other entities, or players attacking other entities (or vice-versa).

        Returns:
        Whether friendly fire is enabled
      • setAllowFriendlyFire

        void setAllowFriendlyFire​(boolean enabled)
        Sets whether friendly fire is enabled.
        Parameters:
        enabled - Whether friendly fire is enabled
      • canSeeFriendlyInvisibles

        boolean canSeeFriendlyInvisibles()
        Gets whether invisible team members are shown.
        Returns:
        Whether to show invisible team members
      • setCanSeeFriendlyInvisibles

        void setCanSeeFriendlyInvisibles​(boolean enabled)
        Sets whether invisible team members are shown.
        Parameters:
        enabled - Whether to show invisible teammates
      • nameTagVisibility

        Visibility nameTagVisibility()
        Gets the Visibility which controls to who nametags of players on this team are visible to.
        Returns:
        The Visibility for this team's nametags
      • setNameTagVisibility

        default void setNameTagVisibility​(java.util.function.Supplier<? extends Visibility> visibility)
        Sets the Visibility which controls to who nametags of players on this team are visible to.
        Parameters:
        visibility - The Visibility for this team's nametags
      • setNameTagVisibility

        void setNameTagVisibility​(Visibility visibility)
        Sets the Visibility which controls to who nametags of players on this team are visible to.
        Parameters:
        visibility - The Visibility for this team's nametags
      • deathMessageVisibility

        Visibility deathMessageVisibility()
        Gets the Visibility which controls who death Texts for players on this team are visible to.
        Returns:
        The Visibility for this team's death Texts
      • setDeathMessageVisibility

        default void setDeathMessageVisibility​(java.util.function.Supplier<? extends Visibility> visibility)
        Sets the Visibility which controls who death Texts of players on this team are visible to.
        Parameters:
        visibility - The Visibility for this team's death Texts
      • setDeathMessageVisibility

        void setDeathMessageVisibility​(Visibility visibility)
        Sets the Visibility which controls who death Texts of players on this team are visible to.
        Parameters:
        visibility - The Visibility for this team's death Texts
      • setCollisionRule

        default void setCollisionRule​(java.util.function.Supplier<? extends CollisionRule> rule)
        Sets the CollisionRule for entities on this team.
        Parameters:
        rule - The CollisionRule for entities on this team
      • members

        java.util.Set<Component> members()
        Gets the Components representing the members of this team.
        Returns:
        the Components for this team's members
      • scoreboard

        java.util.Optional<Scoreboard> scoreboard()
        Returns the scoreboard this team is registered on, if available.

        This will return Optional.empty() when a team has been removed from its Scoreboard, or has been created but not yet registered.

        Returns:
        The scoreboard this team is registered on, if available.
      • unregister

        boolean unregister()
        Unregisters this team from its Scoreboard, if present.

        A team can still be fully used after being unregistered. However, it will not affect the game in any way until registered to a Scoreboard again, through Scoreboard.registerTeam(Team).

        Returns:
        Whether this team was registered to a Scoreboard.