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 Details

    • DamageModifier

      public DamageModifier()
      Default constructor for serializer
    • DamageModifier

      public DamageModifier(double min, double max, double perArmorPoint, me.deecaad.core.utils.primitive.DoubleMap<org.bukkit.Material> armorModifiers, me.deecaad.core.utils.primitive.DoubleMap<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, me.deecaad.core.utils.primitive.DoubleMap<org.bukkit.entity.EntityType> entityTypeModifiers, me.deecaad.core.utils.primitive.DoubleMap<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 me.deecaad.core.utils.primitive.DoubleMap<org.bukkit.Material> getArmorModifiers()
    • setArmorModifiers

      public void setArmorModifiers(me.deecaad.core.utils.primitive.DoubleMap<org.bukkit.Material> armorModifiers)
    • getEnchantmentModifiers

      public me.deecaad.core.utils.primitive.DoubleMap<org.bukkit.enchantments.Enchantment> getEnchantmentModifiers()
    • setEnchantmentModifiers

      public void setEnchantmentModifiers(me.deecaad.core.utils.primitive.DoubleMap<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 me.deecaad.core.utils.primitive.DoubleMap<org.bukkit.entity.EntityType> getEntityTypeModifiers()
    • setEntityTypeModifiers

      public void setEntityTypeModifiers(me.deecaad.core.utils.primitive.DoubleMap<org.bukkit.entity.EntityType> entityTypeModifiers)
    • getPotionEffectModifiers

      public me.deecaad.core.utils.primitive.DoubleMap<org.bukkit.potion.PotionEffectType> getPotionEffectModifiers()
    • setPotionEffectModifiers

      public void setPotionEffectModifiers(me.deecaad.core.utils.primitive.DoubleMap<org.bukkit.potion.PotionEffectType> potionEffectModifiers)
    • getRate

      public double getRate(@NotNull @NotNull EntityWrapper wrapper, @Nullable @Nullable DamagePoint point, boolean isBackStab)
      Accumulates each rate that should be applied to the damage. The result is clamped between getMin() and getMax().
      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)
    • applyRates

      public double applyRates(double damage, EntityWrapper wrapper, DamagePoint point, boolean isBackStab)
    • getKeyword

      public String getKeyword()
      Specified by:
      getKeyword in interface me.deecaad.core.file.Serializer<DamageModifier>
    • serialize

      @NotNull public @NotNull DamageModifier serialize(@NotNull @NotNull me.deecaad.core.file.SerializeData data) throws me.deecaad.core.file.SerializerException
      Specified by:
      serialize in interface me.deecaad.core.file.Serializer<DamageModifier>
      Throws:
      me.deecaad.core.file.SerializerException