Class DamageModifier
java.lang.Object
me.deecaad.weaponmechanics.weapon.damage.DamageModifier
- All Implemented Interfaces:
me.deecaad.core.file.Serializer<DamageModifier>
public class DamageModifier
extends Object
implements me.deecaad.core.file.Serializer<DamageModifier>
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor for serializerDamageModifier(double min, double max, double perArmorPoint, it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.inventory.ItemType> armorModifiers, it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.enchantments.Enchantment> enchantmentModifiers, double headModifier, double bodyModifier, double armsModifier, double legsModifier, double feetModifier, double backModifier, double sneakingModifier, double walkingModifier, double swimmingModifier, double sprintingModifier, double inMidairModifier, double shieldModifier, it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.entity.EntityType> entityTypeModifiers, it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.potion.PotionEffectType> potionEffectModifiers) -
Method Summary
Modifier and TypeMethodDescriptiondoubleapplyRates(double damage, EntityWrapper wrapper, DamagePoint point, boolean isBackStab) Applies all rates from this damage modifier to the given damage.doubleclamp(double rate) it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.inventory.ItemType> doubledoubledoubleit.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.enchantments.Enchantment> it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.entity.EntityType> doubledoubledoubledoubledoublegetMax()doublegetMin()doubleit.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.potion.PotionEffectType> doublegetRate(EntityWrapper wrapper, DamagePoint point, boolean isBackStab) Accumulates each rate that should be applied to the damage.doubledoubledoubledoubleserialize(me.deecaad.core.file.SerializeData data) voidsetArmorModifiers(it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.inventory.ItemType> armorModifiers) voidsetArmsModifier(double armsModifier) voidsetBackModifier(double backModifier) voidsetBodyModifier(double bodyModifier) voidsetEnchantmentModifiers(it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.enchantments.Enchantment> enchantmentModifiers) voidsetEntityTypeModifiers(it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.entity.EntityType> entityTypeModifiers) voidsetFeetModifier(double feetModifier) voidsetHeadModifier(double headModifier) voidsetInMidairModifier(double inMidairModifier) voidsetLegsModifier(double legsModifier) voidsetMax(double max) voidsetMin(double min) voidsetPerArmorPoint(double perArmorPoint) voidsetPotionEffectModifiers(it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.potion.PotionEffectType> potionEffectModifiers) voidsetSneakingModifier(double sneakingModifier) voidsetSprintingModifier(double sprintingModifier) voidsetSwimmingModifier(double swimmingModifier) voidsetWalkingModifier(double walkingModifier) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface me.deecaad.core.file.Serializer
canUsePathTo, getName, getParentKeywords, getWikiLink, letPassThrough, shouldSerialize, tryPathTo, useLater
-
Constructor Details
-
DamageModifier
public DamageModifier()Default constructor for serializer -
DamageModifier
public DamageModifier(double min, double max, double perArmorPoint, it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.inventory.ItemType> armorModifiers, it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.enchantments.Enchantment> enchantmentModifiers, double headModifier, double bodyModifier, double armsModifier, double legsModifier, double feetModifier, double backModifier, double sneakingModifier, double walkingModifier, double swimmingModifier, double sprintingModifier, double inMidairModifier, double shieldModifier, it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.entity.EntityType> entityTypeModifiers, it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.potion.PotionEffectType> potionEffectModifiers)
-
-
Method Details
-
getMin
public double getMin() -
setMin
public void setMin(double min) -
getMax
public double getMax() -
setMax
public void setMax(double max) -
getPerArmorPoint
public double getPerArmorPoint() -
setPerArmorPoint
public void setPerArmorPoint(double perArmorPoint) -
getArmorModifiers
public it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.inventory.ItemType> getArmorModifiers() -
setArmorModifiers
public void setArmorModifiers(it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.inventory.ItemType> armorModifiers) -
getEnchantmentModifiers
public it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.enchantments.Enchantment> getEnchantmentModifiers() -
setEnchantmentModifiers
public void setEnchantmentModifiers(it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.enchantments.Enchantment> enchantmentModifiers) -
getHeadModifier
public double getHeadModifier() -
setHeadModifier
public void setHeadModifier(double headModifier) -
getBodyModifier
public double getBodyModifier() -
setBodyModifier
public void setBodyModifier(double bodyModifier) -
getArmsModifier
public double getArmsModifier() -
setArmsModifier
public void setArmsModifier(double armsModifier) -
getLegsModifier
public double getLegsModifier() -
setLegsModifier
public void setLegsModifier(double legsModifier) -
getFeetModifier
public double getFeetModifier() -
setFeetModifier
public void setFeetModifier(double feetModifier) -
getBackModifier
public double getBackModifier() -
setBackModifier
public void setBackModifier(double backModifier) -
getSneakingModifier
public double getSneakingModifier() -
setSneakingModifier
public void setSneakingModifier(double sneakingModifier) -
getWalkingModifier
public double getWalkingModifier() -
setWalkingModifier
public void setWalkingModifier(double walkingModifier) -
getSwimmingModifier
public double getSwimmingModifier() -
setSwimmingModifier
public void setSwimmingModifier(double swimmingModifier) -
getSprintingModifier
public double getSprintingModifier() -
setSprintingModifier
public void setSprintingModifier(double sprintingModifier) -
getInMidairModifier
public double getInMidairModifier() -
setInMidairModifier
public void setInMidairModifier(double inMidairModifier) -
getEntityTypeModifiers
public it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.entity.EntityType> getEntityTypeModifiers() -
setEntityTypeModifiers
public void setEntityTypeModifiers(it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.entity.EntityType> entityTypeModifiers) -
getPotionEffectModifiers
public it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.potion.PotionEffectType> getPotionEffectModifiers() -
setPotionEffectModifiers
public void setPotionEffectModifiers(it.unimi.dsi.fastutil.objects.Object2DoubleMap<org.bukkit.potion.PotionEffectType> potionEffectModifiers) -
getRate
public double getRate(@NotNull EntityWrapper wrapper, @Nullable DamagePoint point, boolean isBackStab) Accumulates each rate that should be applied to the damage. The result is clamped betweengetMin()andgetMax().- Parameters:
wrapper- The victim being damaged.point- Where the victim was hit.isBackStab- If the hit came from behind.- Returns:
- The clamped rate to multiply damage by. Defaults to 1.0.
-
clamp
public double clamp(double rate) - Parameters:
rate- The rate to clamp.- Returns:
- The clamped rate.
-
applyRates
public double applyRates(double damage, EntityWrapper wrapper, DamagePoint point, boolean isBackStab) Applies all rates from this damage modifier to the given damage. This is equivalent to multiplying the damage bygetRate(EntityWrapper, DamagePoint, boolean).- Parameters:
damage- The damage to apply rates to.wrapper- The victim being damaged.point- Where the victim was hit.isBackStab- If the hit came from behind.- Returns:
- The damage multiplied by the rate.
-
getKeyword
- Specified by:
getKeywordin interfaceme.deecaad.core.file.Serializer<DamageModifier>
-
serialize
@NotNull public DamageModifier serialize(@NotNull me.deecaad.core.file.SerializeData data) throws me.deecaad.core.file.SerializerException - Specified by:
serializein interfaceme.deecaad.core.file.Serializer<DamageModifier>- Throws:
me.deecaad.core.file.SerializerException
-