Package org.bukkit.boss
Interface DragonBattle
-
public interface DragonBattle
Represents a dragon battle state for a world with an end environment.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
DragonBattle.RespawnPhase
Represents a phase in the dragon respawn process.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull BossBar
getBossBar()
Get the boss bar to be displayed for this dragon battle.@Nullable EnderDragon
getEnderDragon()
Get theEnderDragon
active in this battle.@NotNull Location
getEndPortalLocation()
Get the location of the end portal.@NotNull DragonBattle.RespawnPhase
getRespawnPhase()
Get this battle's current respawn phase.boolean
hasBeenPreviouslyKilled()
Check whether or not the first dragon has been killed already.void
initiateRespawn()
Initiate a respawn sequence to summon the dragon as though a player has placed 4 end crystals on the portal.void
resetCrystals()
Reset the crystals located on the obsidian pillars (remove their beam targets and invulnerability).boolean
setRespawnPhase(@NotNull DragonBattle.RespawnPhase phase)
Set the dragon's respawn phase.
-
-
-
Method Detail
-
getEnderDragon
@Nullable @Nullable EnderDragon getEnderDragon()
Get theEnderDragon
active in this battle. Will return null if the dragon has been slain.- Returns:
- the ender dragon. null if dead
-
getBossBar
@NotNull @NotNull BossBar getBossBar()
Get the boss bar to be displayed for this dragon battle.- Returns:
- the boss bar
-
getEndPortalLocation
@NotNull @NotNull Location 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
-
hasBeenPreviouslyKilled
boolean hasBeenPreviouslyKilled()
Check whether or not the first dragon has been killed already.- Returns:
- true if killed before, false otherwise
-
initiateRespawn
void initiateRespawn()
Initiate a respawn sequence to summon the dragon as though a player has placed 4 end crystals on the portal.
-
getRespawnPhase
@NotNull @NotNull DragonBattle.RespawnPhase getRespawnPhase()
Get this battle's current respawn phase.- Returns:
- the current respawn phase.
-
setRespawnPhase
boolean setRespawnPhase(@NotNull @NotNull DragonBattle.RespawnPhase phase)
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:
initiateRespawn()
-
resetCrystals
void resetCrystals()
Reset the crystals located on the obsidian pillars (remove their beam targets and invulnerability).
-
-