java.lang.Object
me.deecaad.weaponmechanics.weapon.projectile.weaponprojectile.Bouncy
All Implemented Interfaces:
Cloneable, me.deecaad.core.file.Serializer<Bouncy>

public class Bouncy extends Object implements me.deecaad.core.file.Serializer<Bouncy>, Cloneable
  • Constructor Details

    • Bouncy

      public Bouncy()
      Default constructor for serializer
    • Bouncy

      public Bouncy(int maximumBounceAmount, ListHolder<org.bukkit.block.BlockType> blocks, ListHolder<org.bukkit.entity.EntityType> entities, double requiredMotionToStartRollingOrDie, ListHolder<org.bukkit.block.BlockType> rollingBlocks)
  • Method Details

    • getMaximumBounceAmount

      public int getMaximumBounceAmount()
    • setMaximumBounceAmount

      public void setMaximumBounceAmount(int maximumBounceAmount)
    • getRequiredMotionToStartRollingOrDie

      public double getRequiredMotionToStartRollingOrDie()
      If rolling isn't used, this value is used determine whether projectile can't bounce anymore. If rolling is used, this value is used to determine when projectile starts rolling instead of bouncing.
      Returns:
      the required motion to start rolling or die
    • setRequiredMotionToStartRollingOrDie

      public void setRequiredMotionToStartRollingOrDie(double requiredMotionToStartRolling)
    • handleBounce

      public boolean handleBounce(WeaponProjectile projectile, me.deecaad.core.utils.ray.RayTraceResult hit)
      Parameters:
      projectile - the projectile
      hit - the hit entity or block
      Returns:
      true if projectile bounced or started rolling, false if projectile should die
    • handleRolling

      public boolean handleRolling(WeaponProjectile projectile, org.bukkit.block.Block block)
      Parameters:
      projectile - the projectile
      block - the block below
      Returns:
      true if projectile kept rolling, false if projectile should die
    • checkForRollingCancel

      public boolean checkForRollingCancel(WeaponProjectile projectile)
      Parameters:
      projectile - the projectile
      Returns:
      true if projectile is unable to keep rolling AND should die
    • getKeyword

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

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

      public Bouncy clone()
      Overrides:
      clone in class Object