Class AbstractMultiParentsAdvancement
java.lang.Object
com.fren_gor.ultimateAdvancementAPI.advancement.Advancement
com.fren_gor.ultimateAdvancementAPI.advancement.BaseAdvancement
com.fren_gor.ultimateAdvancementAPI.advancement.multiParents.AbstractMultiParentsAdvancement
- Direct Known Subclasses:
MultiParentsAdvancement
The
AbstractMultiParentsAdvancement
class abstracts the implementation of any multi-parent advancement,
providing a standard supported by the API.
A multi-parent advancement is an advancement that has more than one parent.
An implementation of AbstractMultiParentsAdvancement
is MultiParentsAdvancement
.
-
Field Summary
Fields inherited from class com.fren_gor.ultimateAdvancementAPI.advancement.BaseAdvancement
parent
Fields inherited from class com.fren_gor.ultimateAdvancementAPI.advancement.Advancement
advancementTab, display, key, maxProgression
-
Constructor Summary
ConstructorDescriptionAbstractMultiParentsAdvancement
(@NotNull String key, @NotNull AdvancementDisplay display, @NotNull BaseAdvancement aParent) Creates a newAbstractMultiParentsAdvancement
with a maximum progression of1
.AbstractMultiParentsAdvancement
(@NotNull String key, @NotNull AdvancementDisplay display, @NotNull BaseAdvancement aParent, @Range(from=1, to=Integer.MAX_VALUE) int maxProgression) Creates a newAbstractMultiParentsAdvancement
. -
Method Summary
Modifier and TypeMethodDescriptionabstract @NotNull Set
<@NotNull BaseAdvancement> Get aSet
of the parents.abstract boolean
isAnyGrandparentGranted
(@NotNull TeamProgression progression) Returns whether either any parent or any grandparent advancement is granted for the provided team.boolean
Returns whether either any parent or any grandparent advancement is granted for the provided player's team.boolean
isAnyGrandparentGranted
(@NotNull Player player) Returns whether either any parent or any grandparent advancement is granted for the provided player's team.abstract boolean
isAnyParentGranted
(@NotNull TeamProgression progression) Returns whether any parent advancement is granted for the provided team.boolean
isAnyParentGranted
(@NotNull UUID uuid) Returns whether any parent advancement is granted for the provided player's team.boolean
isAnyParentGranted
(@NotNull Player player) Returns whether any parent advancement is granted for the provided player's team.abstract boolean
isEveryGrandparentGranted
(@NotNull TeamProgression progression) Returns whether every parent and every grandparent advancements are granted for the provided team.boolean
Returns whether every parent and every grandparent advancements are granted for the provided player's team.boolean
isEveryGrandparentGranted
(@NotNull Player player) Returns whether every parent and every grandparent advancements are granted for the provided player's team.abstract boolean
isEveryParentGranted
(@NotNull TeamProgression progression) Returns whether every parent advancement is granted for the provided team.boolean
isEveryParentGranted
(@NotNull UUID uuid) Returns whether every parent advancement is granted for the provided player's team.boolean
isEveryParentGranted
(@NotNull Player player) Returns whether every parent advancement is granted for the provided player's team.static <E extends BaseAdvancement>
EvalidateAndGetFirst
(@NotNull Set<E> advancements) Returns the first element of the providedSet
ofBaseAdvancement
s.Methods inherited from class com.fren_gor.ultimateAdvancementAPI.advancement.BaseAdvancement
getNMSWrapper, getParent, validateRegister
Methods inherited from class com.fren_gor.ultimateAdvancementAPI.advancement.Advancement
displayToastToPlayer, equals, getAdvancementTab, getAnnounceMessage, getDisplay, getKey, getMaxProgression, getProgression, getProgression, getProgression, giveReward, grant, grant, handlePlayer, hashCode, incrementProgression, incrementProgression, incrementProgression, incrementProgression, incrementProgression, incrementProgression, incrementProgression, incrementProgression, incrementProgression, isGranted, isGranted, isGranted, isValid, isVisible, isVisible, isVisible, onDispose, onGrant, onRegister, onUpdate, registerEvent, registerEvent, revoke, setProgression, setProgression, setProgression, setProgression, setProgression, toString
-
Constructor Details
-
AbstractMultiParentsAdvancement
public AbstractMultiParentsAdvancement(@NotNull @NotNull String key, @NotNull @NotNull AdvancementDisplay display, @NotNull @NotNull BaseAdvancement aParent) Creates a newAbstractMultiParentsAdvancement
with a maximum progression of1
.- Parameters:
key
- The unique key of the advancement. It must be unique among the other advancements of the tab.display
- The display information of this advancement.aParent
- One of the parents of this advancement.
-
AbstractMultiParentsAdvancement
public AbstractMultiParentsAdvancement(@NotNull @NotNull String key, @NotNull @NotNull AdvancementDisplay display, @NotNull @NotNull BaseAdvancement aParent, @Range(from=1, to=Integer.MAX_VALUE) int maxProgression) Creates a newAbstractMultiParentsAdvancement
.- Parameters:
key
- The unique key of the advancement. It must be unique among the other advancements of the tab.display
- The display information of this advancement.aParent
- One of the parents of this advancement.maxProgression
- The maximum progression of the task.
-
-
Method Details
-
getParents
Get aSet
of the parents.- Returns:
- A
Set
of the parents.
-
isEveryParentGranted
Returns whether every parent advancement is granted for the provided player's team.- Parameters:
player
- The player.- Returns:
- Whether every parent advancement is granted for the provided player's team.
-
isEveryParentGranted
Returns whether every parent advancement is granted for the provided player's team.- Parameters:
uuid
- TheUUID
of the player.- Returns:
- Whether every parent advancement is granted for the provided player's team.
-
isEveryParentGranted
Returns whether every parent advancement is granted for the provided team.- Parameters:
progression
- TheTeamProgression
of the team.- Returns:
- Whether every parent advancement is granted for the provided team.
-
isAnyParentGranted
Returns whether any parent advancement is granted for the provided player's team.- Parameters:
player
- The player.- Returns:
- Whether any parent advancement is granted for the provided player's team.
-
isAnyParentGranted
Returns whether any parent advancement is granted for the provided player's team.- Parameters:
uuid
- TheUUID
of the player.- Returns:
- Whether any parent advancement is granted for the provided player's team.
-
isAnyParentGranted
Returns whether any parent advancement is granted for the provided team.- Parameters:
progression
- TheTeamProgression
of the team.- Returns:
- Whether any parent advancement is granted for the provided team.
-
isEveryGrandparentGranted
Returns whether every parent and every grandparent advancements are granted for the provided player's team.- Parameters:
player
- The player.- Returns:
- Whether either any parent or any grandparent advancement is granted for the provided player's team.
-
isEveryGrandparentGranted
Returns whether every parent and every grandparent advancements are granted for the provided player's team.- Parameters:
uuid
- TheUUID
of the player.- Returns:
- Whether either any parent or any grandparent advancement is granted for the provided player's team.
-
isEveryGrandparentGranted
Returns whether every parent and every grandparent advancements are granted for the provided team.- Parameters:
progression
- TheTeamProgression
of the team.- Returns:
- Whether either any parent or any grandparent advancement is granted for the provided team.
-
isAnyGrandparentGranted
Returns whether either any parent or any grandparent advancement is granted for the provided player's team.- Parameters:
player
- The player.- Returns:
- Whether either any parent or any grandparent advancement is granted for the provided player's team.
-
isAnyGrandparentGranted
Returns whether either any parent or any grandparent advancement is granted for the provided player's team.- Parameters:
uuid
- TheUUID
of the player.- Returns:
- Whether either any parent or any grandparent advancement is granted for the provided player's team.
-
isAnyGrandparentGranted
Returns whether either any parent or any grandparent advancement is granted for the provided team.- Parameters:
progression
- TheTeamProgression
of the team.- Returns:
- Whether either any parent or any grandparent advancement is granted for the provided team.
-
validateAndGetFirst
@NotNull public static <E extends BaseAdvancement> E validateAndGetFirst(@NotNull @NotNull Set<E> advancements) Returns the first element of the providedSet
ofBaseAdvancement
s. This method is intended to be used to safely get an advancement from theSet
of parent advancements passed as parameter in the subclass constructor. The obtained parent advancement should be passed toAbstractMultiParentsAdvancement(String, AdvancementDisplay, BaseAdvancement, int)
.If the returned element is
null
or it doesn't exist (theSet
is empty), anIllegalArgumentException
is thrown.- Type Parameters:
E
- The type of the elements in theSet
.- Parameters:
advancements
- The advancements of theSet
.- Returns:
- The first element of the
Set
. - Throws:
IllegalArgumentException
- If theSet
is null, empty, or the first element isnull
.
-