Class KingdomBuildingStyle<B extends KingdomBuilding<S>,S extends KingdomBuildingStyle<B,S,T>,T extends KingdomBuildingType<B,S,T>>

java.lang.Object
org.kingdoms.constants.land.abstraction.KingdomBuildingStyle<B,S,T>
All Implemented Interfaces:
Upgrade, org.kingdoms.locale.provider.CascadingMessageContextProvider, org.kingdoms.locale.provider.MessageContextProvider
Direct Known Subclasses:
StructureStyle, TurretStyle

public abstract class KingdomBuildingStyle<B extends KingdomBuilding<S>,S extends KingdomBuildingStyle<B,S,T>,T extends KingdomBuildingType<B,S,T>> extends Object implements Upgrade, org.kingdoms.locale.provider.CascadingMessageContextProvider
  • Field Details

  • Constructor Details

    • KingdomBuildingStyle

      public KingdomBuildingStyle(String name, T type)
  • Method Details

    • getOption

      public abstract KeyedConfigAccessor getOption(String... option)
    • buildItem

      public org.kingdoms.constants.item.KingdomItem buildItem(org.kingdoms.constants.item.KingdomItemCreateSettings settings)
    • hasItem

      public boolean hasItem()
    • getType

      public T getType()
    • loadSettings

      public void loadSettings()
    • addMessageContextEdits

      public void addMessageContextEdits(@NotNull @NotNull MessagePlaceholderProvider context)
      Specified by:
      addMessageContextEdits in interface org.kingdoms.locale.provider.CascadingMessageContextProvider
    • matchSchema

      public Map<org.kingdoms.server.location.BlockVector3,org.kingdoms.constants.land.building.schema.EvaluatedBuildingMapping> matchSchema(org.kingdoms.server.location.BlockLocation3 origin, int level)
    • getCost

      public org.kingdoms.constants.economy.DualCost getCost(Kingdom kingdom)
    • getRepairCost

      public org.kingdoms.constants.economy.DualCost getRepairCost(KingdomBuilding<?> building, Kingdom kingdom)
    • getUpgradeCost

      public double getUpgradeCost(PlaceholderProvider placeholders)
      Specified by:
      getUpgradeCost in interface Upgrade
    • getMaxLevel

      public int getMaxLevel(PlaceholderProvider placeholders)
      Specified by:
      getMaxLevel in interface Upgrade
    • getMaxDurability

      public double getMaxDurability(PlaceholderProvider placeholders)
    • getBuildDuration

      public org.kingdoms.utils.compilers.expressions.MathExpression getBuildDuration(org.kingdoms.constants.land.building.BuildingConstructionType type)
    • getDataName

      public String getDataName()
      Specified by:
      getDataName in interface Upgrade
    • getDefaultLevel

      public int getDefaultLevel(PlaceholderProvider placeholders)
      Specified by:
      getDefaultLevel in interface Upgrade
    • getSkull

      public String getSkull(int level)
    • hideHolograms

      public boolean hideHolograms()
    • canBePlacedInBiome

      public boolean canBePlacedInBiome(org.bukkit.Location location)
    • getName

      public String getName()
    • getDisplayName

      public Messenger getDisplayName()
      Specified by:
      getDisplayName in interface Upgrade
    • droppedItemName

      public void droppedItemName(org.bukkit.entity.Item item)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getSellCost

      public long getSellCost(int lvl, Kingdom kingdom)
    • evaluateConditions

      public Messenger evaluateConditions(PlaceholderProvider context, String type)