Interface DragonBattle


public interface DragonBattle
Represents a dragon battle state for a world with an end environment.
  • Method Details

    • getEnderDragon

      @Nullable @Nullable EnderDragon getEnderDragon()
      Get the EnderDragon 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

      @Nullable @Nullable 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 or null if not generated
    • generateEndPortal

      boolean generateEndPortal(boolean withPortals)
      Generate the end portal.
      Parameters:
      withPortals - whether or not end portal blocks should be generated
      Returns:
      true if generated, false if already present
    • 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

      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:
    • resetCrystals

      void resetCrystals()
      Reset the crystals located on the obsidian pillars (remove their beam targets and invulnerability).