Interface LightningStrike

All Superinterfaces:
CommandSender, Entity, Metadatable, Nameable, Permissible, PersistentDataHolder, ServerOperator

public interface LightningStrike extends Entity
Represents an instance of a lightning strike. May or may not do damage.
  • Method Details

    • isEffect

      boolean isEffect()
      Returns whether the strike is an effect that does no damage.
      Returns:
      whether the strike is an effect
    • getFlashes

      int getFlashes()
      Get the amount of flashes that will occur before the lightning is removed. By default this value is between 1 and 3.
      Returns:
      the flashes
    • setFlashes

      void setFlashes(int flashes)
      Set the amount of flashes that will occur before the lightning is removed. One flash will occur after this lightning strike's life has reduced below 0.
      Parameters:
      flashes - the flashes
    • getLifeTicks

      int getLifeTicks()
      Get the amount of ticks this lightning strike will inflict damage upon its hit entities.

      When life ticks are negative, there is a random chance that another flash will be initiated and life ticks reset to 1.

      Returns:
      the life ticks
    • setLifeTicks

      void setLifeTicks(int ticks)
      Get the amount of ticks this lightning strike will inflict damage upon its hit entities.

      When life ticks are negative, there is a random chance that another flash will be initiated and life ticks reset to 1. Additionally, if life ticks are set to 2 (the default value when a lightning strike has been spawned), a list of events will occur:

      • Impact sound effects will be played
      • Fire will be spawned (dependent on difficulty)
      • Lightning rods will be powered (if hit)
      • Copper will be stripped (if hit)
      • GameEvent.LIGHTNING_STRIKE will be dispatched
      Parameters:
      ticks - the life ticks
    • getCausingPlayer

      @Nullable Player getCausingPlayer()
      Get the Player that caused this lightning to strike. This will occur naturally if a trident enchanted with Channeling were thrown at an entity during a storm.
      Returns:
      the player
    • setCausingPlayer

      void setCausingPlayer(@Nullable Player player)
      Set the Player that caused this lightning to strike.
      Parameters:
      player - the player
    • spigot

      @NotNull LightningStrike.Spigot spigot()
      Specified by:
      spigot in interface CommandSender
      Specified by:
      spigot in interface Entity