Interface DragonBattle


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

      • 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

        @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).