Class SiegeCannon
java.lang.Object
org.kingdoms.constants.base.CompressedSmartObject
org.kingdoms.constants.base.KingdomsObject
org.kingdoms.constants.base.KeyedKingdomsObject<SimpleLocation>
org.kingdoms.constants.land.KingdomBlock
org.kingdoms.constants.land.abstraction.KingdomBuilding<StructureStyle>
org.kingdoms.constants.land.structures.Structure
org.kingdoms.constants.land.structures.objects.SiegeCannon
- 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
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected SiegeCannonHitEventprotected longThis is saved to item NBT data but not to data file.static final org.kingdoms.constants.namespace.NamespaceForKingdomItemBreakEventmetadata which gives back aSiegeCannonobject.static final Stringstatic final StringFields inherited from class org.kingdoms.constants.land.abstraction.KingdomBuilding
building, durability, level, styleFields inherited from class org.kingdoms.constants.land.KingdomBlock
originFields inherited from class org.kingdoms.constants.base.KingdomsObject
lastLogsExpirationCheck, logs, metadata, statisticsFields inherited from class org.kingdoms.constants.base.CompressedSmartObject
objectState -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddMessageContextEdits(MessagePlaceholderProvider context, Kingdom kingdom) booleancanDamage(LandExplosionManager.BlockType cat, String category, Supplier<String> type) voiddismount()longgetArmorDamage(org.kingdoms.managers.buildings.structures.SiegeCannonAmmo loaded) longdoublegetDamage(org.kingdoms.managers.buildings.structures.SiegeCannonAmmo loaded) org.bukkit.entity.ArmorStand[]intgetExplosionRadius(org.kingdoms.managers.buildings.structures.SiegeCannonAmmo loaded) org.bukkit.entity.PlayerdoublegetKnockBack(org.kingdoms.managers.buildings.structures.SiegeCannonAmmo loaded) longorg.kingdoms.managers.buildings.structures.SiegeCannonAmmo@Nullable KingdomPlayergetShieldDamage(org.kingdoms.managers.buildings.structures.SiegeCannonAmmo loaded) static org.kingdoms.data.Pair<SiegeCannon, org.kingdoms.managers.buildings.structures.SiegeCannonAmmo> getSiegeCannonFromProjectile(org.bukkit.entity.Entity entity) booleanbooleanisLoaded()voidload(org.kingdoms.managers.buildings.structures.SiegeCannonAmmo ammo) voidmount(org.bukkit.entity.Player player) remove(org.kingdoms.events.items.KingdomItemRemoveContext context) voidserialize(SerializationContext<org.kingdoms.data.database.dataprovider.SectionableDataSetter> context) voidsetLastHit(SiegeCannonHitEvent lastHit) voidshoot()Methods inherited from class org.kingdoms.constants.land.structures.Structure
deserialize, getDataMap, getDisplayName, getKingdomBlockHandler, getNameOrDefault, place, setNameMethods inherited from class org.kingdoms.constants.land.abstraction.KingdomBuilding
addMessageContextEdits, canFunction, decreaseDurability, displayParticle, displayParticle, dropItem, equals, eval, eval, getBlock, getBuilding, getBuildingSettings, getContext, getDurability, getItem, getKey, getLevel, getMaxLevel, getParticleDisplay, getPlaceholderContext, getStyle, getUpgradeCost, getVisualsManager, hashCode, isEnabled, modifyData, ofSection, ofSection, ofSection, onBuildFinish, playSound, playSound, playSound, prepareBuilding, remove, repair, requireRepair, setBuilding, setDurability, setLevel, toString, update, upgradeMethods inherited from class org.kingdoms.constants.land.KingdomBlock
getLand, getOriginMethods inherited from class org.kingdoms.constants.base.KingdomsObject
getLogs, getMetadata, getNewestLog, getNewestLog, getStatistics, log, setLogs, setMetadata, setStatisticsMethods inherited from class org.kingdoms.constants.base.CompressedSmartObject
ensureValidObject, getCompressedData, getDataHandler, hasObjectExpired, invalidateObject, isNewData, isObjectStateSaved, saveObjectState, shouldSaveMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.kingdoms.locale.provider.CascadingMessageContextProvider
getMessageContextMethods inherited from interface org.kingdoms.constants.base.SmartObject
isDataEmpty
-
Field Details
-
SIEGE_CANNON
- See Also:
-
SIEGE_PROJECTILE
- See Also:
-
lastShot
protected transient long lastShotThis is saved to item NBT data but not to data file. -
lastHit
-
NS
public static final org.kingdoms.constants.namespace.Namespace NSForKingdomItemBreakEventmetadata which gives back aSiegeCannonobject.
-
-
Constructor Details
-
SiegeCannon
-
-
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:
addMessageContextEditsin classStructure
-
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
-
setLastHit
-
getShieldDamage
-
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
-
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) -
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
- Specified by:
getPlayerin interfaceorg.kingdoms.abstraction.PlayerOperator
-