All Implemented Interfaces:
DamageableItem, ItemAttribute, Placeable, RecipeDisplayItem

public class ClimbingPick extends SimpleSlimefunItem<ItemUseHandler> implements DamageableItem, RecipeDisplayItem
The ClimbingPick launches you 1 block upwards when you right click on a ice Block. Every level of efficiency Enchantment increases the launch by 0.2 blocks.
Author:
Linox, TheBusyBiscuit
  • Constructor Details

  • Method Details

    • addDefaultSurfaces

      protected void addDefaultSurfaces()
      This method adds every surface that is climbable by default.
    • addSurface

      protected void addSurface(@Nonnull org.bukkit.Material type, double defaultValue)
    • isDualWieldingEnabled

      public boolean isDualWieldingEnabled()
      This returns whether the ClimbingPick needs to be held in both arms to work.
      Returns:
      Whether dual wielding is enabled
    • getClimbableSurfaces

      @Nonnull public Collection<ClimbableSurface> getClimbableSurfaces()
      This method returns a Collection of every ClimbableSurface the ClimbingPick can climb.
      Returns:
      A Collection of every ClimbableSurface
    • getClimbingSpeed

      public double getClimbingSpeed(@Nonnull org.bukkit.Material type)
      This returns the climbing speed for a given Material.
      Parameters:
      type - The Material
      Returns:
      The climbing speed for this Material or 0.
    • getClimbingSpeed

      public double getClimbingSpeed(@Nonnull org.bukkit.inventory.ItemStack item, @Nonnull org.bukkit.Material type)
      This returns the climbing speed for a given Material and the used ItemStack.
      Parameters:
      item - the ClimbingPick's ItemStack
      type - The Material
      Returns:
      The climbing speed or 0.
    • getItemHandler

      public ItemUseHandler getItemHandler()
      Description copied from class: SimpleSlimefunItem
      This returns the ItemHandler that will be added to this SlimefunItem.
      Specified by:
      getItemHandler in class SimpleSlimefunItem<ItemUseHandler>
      Returns:
      The ItemHandler that should be added to this SlimefunItem
    • damageItem

      public void damageItem(@Nonnull org.bukkit.entity.Player p, @Nullable org.bukkit.inventory.ItemStack item)
      Description copied from interface: DamageableItem
      This method will damage the given ItemStack once. It also takes into account the Enchantment Unbreaking. It will only apply the damage if DamageableItem.isDamageable() returned true.
      Specified by:
      damageItem in interface DamageableItem
      Parameters:
      p - The Player to which the item belongs
      item - The ItemStack to damage
    • isDamageable

      public boolean isDamageable()
      Description copied from interface: DamageableItem
      Implement this method to make the behaviour of this interface dependent on the state of your object. You could add a Config option to toggle the behaviour for example.
      Specified by:
      isDamageable in interface DamageableItem
      Returns:
      Whether this SlimefunItem is damageable
    • getDisplayRecipes

      public List<org.bukkit.inventory.ItemStack> getDisplayRecipes()
      Description copied from interface: RecipeDisplayItem
      This is the list of items to display alongside this SlimefunItem. Note that these items will be filled in from top to bottom first. So if you want it to express a recipe, add your input ItemStack and then your output ItemStack.
      Specified by:
      getDisplayRecipes in interface RecipeDisplayItem
      Returns:
      The recipes to display in the SlimefunGuide
    • getLabelLocalPath

      public String getLabelLocalPath()
      Specified by:
      getLabelLocalPath in interface RecipeDisplayItem