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.
      the ender dragon. null if dead
    • getBossBar

      @NotNull @NotNull BossBar getBossBar()
      Get the boss bar to be displayed for this dragon battle.
      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.
      the end portal location or null if not generated
    • generateEndPortal

      boolean generateEndPortal(boolean withPortals)
      Generate the end portal.
      withPortals - whether or not end portal blocks should be generated
      true if generated, false if already present
    • hasBeenPreviouslyKilled

      boolean hasBeenPreviouslyKilled()
      Check whether or not the first dragon has been killed already.
      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.
      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.
      phase - the phase to set
      true if successful, false otherwise
      See Also:
    • resetCrystals

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