All Implemented Interfaces:
org.kingdoms.abstraction.Levellable, org.kingdoms.abstraction.PlayerOperator, Keyed<SimpleLocation>, SmartObject, org.kingdoms.constants.group.model.logs.Loggable, org.kingdoms.data.Deserializable, org.kingdoms.data.Serializable, org.kingdoms.locale.provider.CascadingMessageContextProvider, org.kingdoms.locale.provider.MessageContextProvider

public class SiegeCannon extends Structure implements org.kingdoms.abstraction.PlayerOperator
  • Field Details

  • Constructor Details

  • Method Details

    • getSiegeCannonFromProjectile

      public static org.kingdoms.data.Pair<SiegeCannon,org.kingdoms.managers.buildings.structures.SiegeCannonAmmo> getSiegeCannonFromProjectile(org.bukkit.entity.Entity entity)
    • getDecorators

      public org.bukkit.entity.ArmorStand[] getDecorators()
    • shoot

      public void shoot()
    • addMessageContextEdits

      public MessagePlaceholderProvider addMessageContextEdits(MessagePlaceholderProvider context, Kingdom kingdom)
      Overrides:
      addMessageContextEdits in class Structure
    • getExplosionRadius

      public int getExplosionRadius(org.kingdoms.managers.buildings.structures.SiegeCannonAmmo loaded)
    • getDamage

      public double getDamage(org.kingdoms.managers.buildings.structures.SiegeCannonAmmo loaded)
    • getKnockBack

      public double getKnockBack(org.kingdoms.managers.buildings.structures.SiegeCannonAmmo loaded)
    • getLastHit

      public SiegeCannonHitEvent getLastHit()
    • setLastHit

      public void setLastHit(SiegeCannonHitEvent lastHit)
    • getShieldDamage

      public Duration getShieldDamage(org.kingdoms.managers.buildings.structures.SiegeCannonAmmo loaded)
    • getArmorDamage

      public long getArmorDamage(org.kingdoms.managers.buildings.structures.SiegeCannonAmmo loaded)
    • getLastShot

      public long getLastShot()
    • getCooldown

      public long getCooldown()
    • isInCooldown

      public boolean isInCooldown()
    • dismount

      public void dismount()
    • mount

      public void mount(org.bukkit.entity.Player player)
    • remove

      public KingdomItemBreakEvent<?> remove(org.kingdoms.events.items.KingdomItemRemoveContext context)
      Overrides:
      remove in class Structure
    • getTubeTextures

      public List<String> getTubeTextures()
    • canDamage

      public boolean canDamage(LandExplosionManager.BlockType cat, String category, Supplier<String> type)
    • serialize

      @MustBeInvokedByOverriders public void serialize(SerializationContext<org.kingdoms.data.database.dataprovider.SectionableDataSetter> context)
      Specified by:
      serialize in interface org.kingdoms.data.Serializable
      Overrides:
      serialize in class Structure
      Parameters:
      context - can be also a ItemSerializationContext which implies that this building is being serialized into an in-game item.
    • getHandler

      public org.bukkit.entity.Player getHandler()
    • load

      public void load(org.kingdoms.managers.buildings.structures.SiegeCannonAmmo ammo)
    • isLoaded

      public boolean isLoaded()
    • getLoaded

      public org.kingdoms.managers.buildings.structures.SiegeCannonAmmo getLoaded()
    • getPlayer

      @Nullable public @Nullable KingdomPlayer getPlayer()
      Specified by:
      getPlayer in interface org.kingdoms.abstraction.PlayerOperator