Package org.bukkit.boss
Interface DragonBattle
public interface DragonBattle
Represents a dragon battle state for a world with an end environment.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
Represents a phase in the dragon respawn process. -
Method Summary
Modifier and TypeMethodDescriptionboolean
generateEndPortal
(boolean withPortals) Generate the end portal.Get the boss bar to be displayed for this dragon battle.Get theEnderDragon
active in this battle.Get the location of the end portal.Get this battle's current respawn phase.boolean
Check whether the first dragon has been killed already.void
Try to initiate a respawn sequence to summon the dragon as though a player has placed 4 end crystals on the portal.boolean
initiateRespawn
(Collection<EnderCrystal> enderCrystals) Try to initiate a respawn sequence to summon the dragon.void
Reset the crystals located on the obsidian pillars (remove their beam targets and invulnerability).void
setPreviouslyKilled
(boolean previouslyKilled) Sets whether the first dragon has been killed already.boolean
Set the dragon's respawn phase.
-
Method Details
-
getEnderDragon
Get theEnderDragon
active in this battle.
Will return null if the dragon has been slain.- Returns:
- the ender dragon. null if dead
-
getBossBar
Get the boss bar to be displayed for this dragon battle.- Returns:
- the boss bar
-
getEndPortalLocation
Get the location of the end portal.
This location will be at the center of the base (bottom) of the portal.- Returns:
- the end portal location or null if not generated
-
generateEndPortal
boolean generateEndPortal(boolean withPortals) Generate the end portal.- Parameters:
withPortals
- whether end portal blocks should be generated- Returns:
- true if generated, false if already present
-
hasBeenPreviouslyKilled
boolean hasBeenPreviouslyKilled()Check whether the first dragon has been killed already.- Returns:
- true if killed before, false otherwise
-
setPreviouslyKilled
void setPreviouslyKilled(boolean previouslyKilled) Sets whether the first dragon has been killed already.
If the dragon has not previously been killed, a portal will be generated when it is finally killed.- Parameters:
previouslyKilled
- true if the dragon has been killed before, false otherwise
-
initiateRespawn
void initiateRespawn()Try to initiate a respawn sequence to summon the dragon as though a player has placed 4 end crystals on the portal. -
initiateRespawn
Try to initiate a respawn sequence to summon the dragon.- Parameters:
enderCrystals
- theEnderCrystals
to use in the respawn, or a null or empty list to render the respawn sequence uncancellable. null entries or crystals that do not reside in the same world as this dragon battle will be ignored.- Returns:
- true if the respawn was initiated, false otherwise.
-
getRespawnPhase
Get this battle's current respawn phase.- Returns:
- the current respawn phase.
-
setRespawnPhase
Set the dragon's respawn phase.
This method will is unsuccessful if a dragon respawn is not in progress.- Parameters:
phase
- the phase to set- Returns:
- true if successful, false otherwise
- See Also:
-
resetCrystals
void resetCrystals()Reset the crystals located on the obsidian pillars (remove their beam targets and invulnerability).
-