Class RangedTurret
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<TurretStyle>
org.kingdoms.constants.land.turrets.Turret
org.kingdoms.constants.land.turrets.objects.RangedTurret
- 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
- Direct Known Subclasses:
HealingTurret,SoldierTurret,TargetedRangedTurret
-
Field Summary
FieldsFields 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 TypeMethodDescriptionintaddAmmo(int amount) addMessageContextEdits(MessagePlaceholderProvider context, Kingdom kingdom) booleanbooleancanPassThrough(Kingdom kingdom) voiddeserialize(DeserializationContext<org.kingdoms.data.database.dataprovider.SectionableDataGetter> context) org.bukkit.LocationintgetAmmo()intgetAmmoCost(Kingdom kingdom) intThe cooldown between each shot (depending on the turret's update ticks which is a configurable option.)intgetCooldown(Kingdom kingdom) intgetCooldown(Kingdom kingdom, int lvl) intgetMaxAmmo(Kingdom kingdom) intgetMaxAmmo(Kingdom kingdom, int lvl) intgetMaxTargets(Kingdom kingdom) intgetMaxTargets(Kingdom kingdom, int lvl) org.bukkit.entity.Player@Nullable KingdomPlayer@Nullable com.cryptomorin.xseries.XEntityTypedoubledoubledoubledoubleinthashCode()booleanbooleanisManual()booleanintpassThroughLevel(Kingdom kingdom) voidpostActivation(Kingdom kingdom) booleanrayTrace(Kingdom kingdom, org.bukkit.entity.LivingEntity target, TurretTypeRanged.ShootingCalculations calc) org.bukkit.entity.LivingEntityremove(org.kingdoms.events.items.KingdomItemRemoveContext context) voidrepeatedParticle(Turret turret, org.bukkit.entity.Entity entity) voidserialize(SerializationContext<org.kingdoms.data.database.dataprovider.SectionableDataSetter> context) voidsetAmmo(int ammo) voidsetCooldown(int cooldown) voidsetManual(boolean manual) protected static voidsetMetadata(org.bukkit.entity.Entity entity, RangedTurret turret, Kingdom kingdom) voidsetOperator(org.bukkit.entity.Player operator) org.bukkit.entity.EntityshootProjectile(com.cryptomorin.xseries.XEntityType type, Kingdom kingdom, org.bukkit.Location from, org.bukkit.util.Vector direction) booleanskipTarget(org.bukkit.entity.LivingEntity target) voidtick()Methods inherited from class org.kingdoms.constants.land.turrets.Turret
activate, addEffect, applyKnockback, canDetectInvisible, canSetOnFire, canTargetEntityType, chooseDeathMessage, createExplosion, createExplosion, damage, getArmorDamage, getArmorDamage, getDamage, getDamage, getDataMap, getDeathMessages, getEffect, getEffects, getHitEffects, getKingdomBlockHandler, getKnockback, getKnockback, getLastActivation, getParticle, getStateCache, getVerticalKnockback, invalidateStateCache, invisibilityDetectionLevel, onBuildFinish, place, setLastActivation, setOnFireLevelMethods inherited from class org.kingdoms.constants.land.abstraction.KingdomBuilding
addMessageContextEdits, decreaseDurability, displayParticle, displayParticle, dropItem, equals, eval, eval, getBlock, getBuilding, getBuildingSettings, getContext, getDurability, getItem, getKey, getLevel, getMaxLevel, getParticleDisplay, getPlaceholderContext, getStyle, getUpgradeCost, getVisualsManager, isEnabled, modifyData, ofSection, ofSection, ofSection, 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
-
ORIGIN_METADATA
- See Also:
-
ORIGIN_KINGDOM
- See Also:
-
-
Constructor Details
-
RangedTurret
-
-
Method Details
-
getAmmo
public int getAmmo() -
setAmmo
public void setAmmo(int ammo) -
postActivation
-
getActivationPoint
public org.bukkit.Location getActivationPoint() -
isOutOfAmmo
public boolean isOutOfAmmo() -
addAmmo
public int addAmmo(int amount) -
hashCode
public int hashCode()- Overrides:
hashCodein classKingdomBuilding<TurretStyle>
-
getProjectile
@Nullable public @Nullable com.cryptomorin.xseries.XEntityType getProjectile() -
getSpeed
-
getSpeed
-
canFunction
public boolean canFunction()- Overrides:
canFunctionin classTurret
-
isInCooldown
public boolean isInCooldown() -
passThroughLevel
-
canPassThrough
-
skipTarget
public boolean skipTarget(org.bukkit.entity.LivingEntity target) - Overrides:
skipTargetin classTurret
-
setOperator
public void setOperator(org.bukkit.entity.Player operator) -
getOperator
public org.bukkit.entity.Player getOperator() -
addMessageContextEdits
@MustBeInvokedByOverriders public MessagePlaceholderProvider addMessageContextEdits(MessagePlaceholderProvider context, Kingdom kingdom) - Overrides:
addMessageContextEditsin classTurret
-
remove
- Overrides:
removein classKingdomBuilding<TurretStyle>
-
getRange
-
getRange
-
getCooldown
-
getCooldown
-
getAmmoCost
-
getMaxAmmo
-
getMaxAmmo
-
getMaxTargets
-
getMaxTargets
-
getCooldown
public int getCooldown()The cooldown between each shot (depending on the turret's update ticks which is a configurable option.)- Returns:
- a positive number if the turret is still in cooldown or a negative number depending on the ticks past the normal cooldown (how long the turret didn't shoot since the cooldown ended.)
-
setCooldown
public void setCooldown(int cooldown) -
tick
public void tick() -
serialize
@MustBeInvokedByOverriders public void serialize(SerializationContext<org.kingdoms.data.database.dataprovider.SectionableDataSetter> context) - Specified by:
serializein interfaceorg.kingdoms.data.Serializable- Overrides:
serializein classKingdomBuilding<TurretStyle>- Parameters:
context- can be also aItemSerializationContextwhich implies that this building is being serialized into an in-game item.
-
deserialize
@MustBeInvokedByOverriders public void deserialize(DeserializationContext<org.kingdoms.data.database.dataprovider.SectionableDataGetter> context) - Specified by:
deserializein interfaceorg.kingdoms.data.Deserializable- Overrides:
deserializein classKingdomBuilding<TurretStyle>
-
rayTrace
public boolean rayTrace(Kingdom kingdom, org.bukkit.entity.LivingEntity target, TurretTypeRanged.ShootingCalculations calc) -
rayTrace
public org.bukkit.entity.LivingEntity rayTrace(Kingdom kingdom, org.bukkit.Location from, org.bukkit.util.Vector direction) -
shootProjectile
public org.bukkit.entity.Entity shootProjectile(com.cryptomorin.xseries.XEntityType type, Kingdom kingdom, org.bukkit.Location from, org.bukkit.util.Vector direction) -
setMetadata
protected static void setMetadata(org.bukkit.entity.Entity entity, RangedTurret turret, Kingdom kingdom) -
repeatedParticle
-
isManual
public boolean isManual() -
setManual
public void setManual(boolean manual) -
getPlayer
- Specified by:
getPlayerin interfaceorg.kingdoms.abstraction.PlayerOperator
-