Class Alien<T extends org.bukkit.entity.Mob>

java.lang.Object
io.github.addoncommunity.galactifun.api.aliens.Alien<T>
Direct Known Subclasses:
BossAlien, Charger, Firestorm, Leech, Martian, MoonCow, MutantCreeper, Skywhale, TitanAlien

public class Alien<T extends org.bukkit.entity.Mob> extends Object
Abstract class for an alien
See Also:
  • Constructor Details

    • Alien

      @ParametersAreNonnullByDefault public Alien(@Nonnull Class<T> clazz, @Nonnull String id, @Nonnull String name, double maxHealth, double spawnChance)
  • Method Details

    • spawn

      @Nonnull public final T spawn(@Nonnull org.bukkit.Location loc, @Nonnull org.bukkit.World world)
    • register

      public final void register(@Nonnull AlienManager alienManager)
    • isRegistered

      public final boolean isRegistered()
    • attemptSpawn

      public final int attemptSpawn(Random rand, org.bukkit.World world)
    • onEntityTick

      public final void onEntityTick(@Nonnull org.bukkit.entity.LivingEntity mob)
    • onSpawn

      public void onSpawn(@Nonnull T spawned)
    • onUniqueTick

      public void onUniqueTick()
    • onTick

      public void onTick(@Nonnull T mob)
    • onInteract

      public void onInteract(@Nonnull org.bukkit.event.player.PlayerInteractEntityEvent e)
    • onHit

      public void onHit(@Nonnull org.bukkit.event.entity.EntityDamageByEntityEvent e)
    • onAttack

      public void onAttack(@Nonnull org.bukkit.event.entity.EntityDamageByEntityEvent e)
    • onTarget

      public void onTarget(@Nonnull org.bukkit.event.entity.EntityTargetEvent e)
    • onDeath

      public void onDeath(@Nonnull org.bukkit.event.entity.EntityDeathEvent e)
    • onCastSpell

      public void onCastSpell(@Nonnull org.bukkit.event.entity.EntitySpellCastEvent e)
    • onDamage

      public void onDamage(@Nonnull org.bukkit.event.entity.EntityDamageEvent e)
    • onShoot

      public void onShoot(@Nonnull org.bukkit.event.entity.ProjectileLaunchEvent e)
    • canSpawnInLightLevel

      protected boolean canSpawnInLightLevel(int lightLevel)
      This method returns whether the alien can spawn in the given light level. By default uses the Zombie light level conditions
      Parameters:
      lightLevel - the light level of the block the alien is attempting to spawn on
      Returns:
      true if the alien can spawn in this light level, false otherwise
    • getSpawnHeightOffset

      protected double getSpawnHeightOffset()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • clazz

      public Class<T> clazz()
    • id

      public String id()
    • name

      public String name()
    • spawnChance

      public double spawnChance()
    • maxHealth

      public double maxHealth()
    • alienManager

      public AlienManager alienManager()