RepairItem [1.7 - 1.14] - Almost broken tool in inventory? 1.5

Simple repair plugin, fully customizable ! Contains API !

  1. davidcubesvk
    Native Minecraft Version:
    1.14
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    Languages Supported:
    Translateable
    [​IMG]
    This is simple repair plugin ! You can repair whatever you want, with customizable messages !

    Plugin is currently under full recode.

    This plugin requires Java 8. Please note, review section is not for reporting errors. Instead of that, I offer you support in multiple ways (see category SUPPORT).

    Also, if you are satisfied with the plugin, don't forget to rate it ★★★★★ ! Your review is important for me ! Thanks !

    THIS PLUGIN HAS TERMS AND CONDITIONS (at the bottom of this page)!
    - Read at the bottom of this page. If you do not agree, do not download the plugin or use it.



    [​IMG]
    WARNING!
    - Since server version 1.13 came out with new material type names for example for GOLDEN_SHOVEL, please do not use command /repairTools if you are using server version below 1.13.

    - If you are using server version below 1.9, please do not use commands /repairHands, /repairOffHand, /repairAll, because there weren't two hands before. Instead of that use /repairMainHand, /repairInventory and /repairArmor.

    /repairHands [target]
    :
    - description: repairs items in both hands
    - permission: repairItem.repairHands / repairItem.other.repairHands(1)
    - aliases: /rHands, /rH
    /repairMainHand [target]:
    - description: repairs item in main hand
    - permission: repairItem.repairMainHand / repairItem.other.repairMainHand(1)
    - aliases: /rMainHand, /rMH, /rM
    /repairOffHand [target]:
    - description: repairs item in off-hand
    - permission: repairItem.repairOffHand / repairItem.other.repairOffHand(1)
    - aliases: /rOffHand, /rOH, /rO
    /repairAll [target]:
    - description: repairs all items in inventory including armor contents and off-hand
    - permission: repairItem.repairAll / repairItem.other.repairAll(1)
    - aliases: /rAll
    /repairArmor [target]:
    - description: repairs armor contents
    - permission: repairItem.repairArmor / repairItem.other.repairArmor(1)
    - aliases: /rArmor, /rA
    /repairInventory [target]:
    - description: repairs all items in inventory
    - permission: repairItem.repairInventory / repairItem.other.repairInventory(1)
    - aliases: /repairInv, /rInventory, /rInv, /rI
    /repairTools [target]:
    - description: repairs only tools(2) in inventory
    - permission: repairItem.repairTools / repairItem.other.repairTools(1)
    - aliases: /rTools, /rT
    [target] - optional, online player, or * for targetting all online players.

    If used, command sender must have permission for command signed (1).


    (2) - tools: Tools are all items that are displayed on page https://minecraft.gamepedia.com/Tools#Crafting, except clocks, compass and lead, which can't be repaired.

    [​IMG]
    [​IMG]

    [​IMG]
    Setup:
    1. Add RepairItem-0.0.jar into modules. (Maven repository will be added soon).
    2. Add depend or softdepend to your plugin.yml:
    Code (YAML):
    depend: [RepairItem]
    OR
    softdepend
    : [RepairItem]
    3. Before calling API, check if plugin RepairItem is enabled:
    Code (Java):
    if (Bukkit.getPluginManager().isPluginEnabled("RepairItem")) {
       //Call API
    }

    API and options:
    - Call API using:

    Code (Java):
    RepairItem.<option>;
    - Options:
    WARNING!
    - Since server version 1.13 came out with new material type names for example for GOLDEN_SHOVEL, please do not use function RepairItem#repairTools() if you are using server version below 1.13.

    - If you are using server version below 1.9, please do not use functions RepairItem#repairHand(..., HandType.OFF), RepairItem#repairHands() and RepairItem#repairAll(), because there weren't two hands before. Instead of that use RepairItem#repairHand(..., HandType.MAIN), RepairItem#repairInventory() and RepairItem#repairArmor() function.


    enum HandType: MAIN, OFF

    int repairAll(Player target)
    | - description: repairs target's all items in inventory, armor contents and off-hand
    | - returns: value of repaired items
    int repairArmor(Player target)
    | - description: repairs target's armor contents
    | - returns: value of repaired items
    int repairHands(Player target)
    | - description: repairs target's items in main and off-hand
    | - returns: value of repaired items
    int repairHand(Player target, HandType handType)
    | - description: repairs target's item in handType hand
    | - returns: value of repaired items
    int repairInventory(Player target)
    | - description: repairs target's all items in inventory
    | - returns: value of repaired items
    int repairTools(Player target)
    | - description: repairs target's all tool items in inventory (items that are displayed on page https://minecraft.gamepedia.com/Tools#Crafting, except clocks, compass and lead, which can't be repaired)
    | - returns: value of repaired items

    [​IMG]
    Code (YAML):

    #/---\ |---- |---\ /---\ | /---\   | ----- |---- |\  /|
    #|   | |     |   | |   | | |   |   |   |   |     | \/ |
    #|---/ |---- |---/ |---| | |---/   |   |   |---- |    |
    #|\    |     |     |   | | |\      |   |   |     |    |
    #| \   |---- |     |   | | | \     |   |   |---- |    |
    #
    #-----------------------------------------------------------------------------------------------------------------------
    #                                           Messages for command sender
    #-----------------------------------------------------------------------------------------------------------------------
    sender
    :
     #Placeholders:  {target}      -   target player name
      #               {repaired}    -   value of repaired items
      #               {players}     -   value of total checked players
      #
      #When was repaired item in player's main and off hand:
      repairedMainOffHand
    : '&7[&bRepair&7] ► &aItems in both hands of player {target} have been repaired!'
      #When was repaired item in player's main hand:
      repairedMainHand
    : '&7[&bRepair&7] ► &aItem in main hand of player {target} has been repaired!'
      #When was repaired item in player's off hand:
      repairedOffHand
    : '&7[&bRepair&7] ► &aItem in off hand of player {target} has been repaired!'
      #When were repaired items in player's inventory:
      repairedInventory
    : '&7[&bRepair&7] ► &aItems in inventory of player {target} have been repaired! &7({repaired} items repaired)'
      #When were repaired only tools in player's inventory:
      repairedTools
    : '&7[&bRepair&7] ► &aTools in inventory of player {target} have been repaired! &7({repaired} items repaired)'
      #When were repaired all items (player's inventory & armor):
      repairedAll
    : '&7[&bRepair&7] ► &aItems in inventory including armor contents of player {target} have been repaired! &7({repaired} items repaired)'
      #When were repaired armor contents:
      repairedArmor
    : '&7[&bRepair&7] ► &aArmor contents of player {target} have been repaired! &7({repaired} items repaired)'
      #When item being repaired is blocked (/repairMainHand, /repairOffHand):
      blocked
    : '&7[&bRepair] ► &cItem in hand of player {target} is blocked.'
      #Placeholder {target} replace (NO PLACEHOLDERS):
      targetPlaceholder
    :
       #If sender repairs all players:
        forAll
    : 'all'
        #If sender repairs itself:
        forSender
    : 'you'
        #If sender repairs one target, {target} will be replaced by name of target.
    #-----------------------------------------------------------------------------------------------------------------------
    #                                           Messages for repair target(s)
    #-----------------------------------------------------------------------------------------------------------------------
    target
    :
     #Placeholders:  {sender}      -   sender player name
      #               {repaired}    -   value of repaired items
      #
      #When was repaired item in player's main and off hand:
      repairedMainOffHand
    : '&7[&bRepair&7] ► &a{sender} has repaired items in your both hands!'
      #When was repaired item in player's main hand:
      repairedMainHand
    : '&7[&bRepair&7] ► &a{sender} has repaired item in your main hand!'
      #When was repaired item in player's off hand:
      repairedOffHand
    : '&7[&bRepair&7] ► &a{sender} has repaired item in your off hand!'
      #When were repaired items in player's inventory:
      repairedInventory
    : '&7[&bRepair&7] ► &a{sender} has repaired items in your inventory!'
      #When were repaired only tools in player's inventory:
      repairedTools
    : '&7[&bRepair&7] ► &a{sender} has repaired tools in your inventory!'
      #When were repaired all items (player's inventory & armor):
      repairedAll
    : '&7[&bRepair&7] ► &a{sender} has repaired all items in your inventory and your armor contents!'
      #When were repaired armor contents:
      repairedArmor
    : '&7[&bRepair&7] ► &a{sender} has repaired your armor contents!'
      #If was command sent by console, this will be replaced as {sender} placeholder:
      consoleSender
    : 'console'
    #-----------------------------------------------------------------------------------------------------------------------
    #                                                 Other messages
    #-----------------------------------------------------------------------------------------------------------------------
    #Placeholders:  {target}      -   target player name, available only in playerNotFound message
    #
    #If is command executed by console:
    onlyPlayer
    : '&7[&bRepair&7] ► &cThis command can use only player!'
    #If player has not permission:
    noPermission
    : '&7[&bRepair&7] ► &cYou do not have permission to do that!'
    #If target player not found:
    playerNotFound
    : '&7[&bRepair&7] ► &cPlayer &a{target} &cnot found.'
    #If too many arguments entered:
    tooManyArguments
    : '&7[&Repair&7] ► &cToo many arguments!'
    #-----------------------------------------------------------------------------------------------------------------------
    #                                                   Blocked items
    #-----------------------------------------------------------------------------------------------------------------------
    #If don't want to create any item, just delete this whole section ('blocked' must be deleted!!!):
    blocked
    :
     #Make as much items as you want, just they must be named differently (for example 3,...):
      1
    :
       #Only declared properties will be compared (now if item being repaired has the same name as there, it will be blocked).
        #Item is blocked only if it meets with all configuration in some of items declared here.
        #You can declare name, type, lore, enchantments, flags, unbreakable, durability, amount property.
        name
    : 'This is blocked item.'
      #This is an example of blocked item with all properties declared:
      2
    :
       #If item being repaired meets with this whole configuration, it is blocked:
        name
    : 'Name'
        type
    : BOW
        lore
    :
       - "Unrepairable"
        #Declare as "ENCHANTMENT LEVEL", enchantments are available at: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html:
        enchantments
    :
       - "ARROW_FIRE 1"
        #Flags are available at: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/ItemFlag.html:
        flags
    :
       - "HIDE_ENCHANTS"
        #If item can't be broken (NOT ENCHANTMENT !!!):
        unbreakable
    : true
        #Undamaged bow:
        durability
    : 0
        #Bow can't be stacked - max. amount is 1:
        amount
    : 1
     
    TERMS AND CONDITIONS
    1. Important terms:
    • Plugin, Service: RepairItem-x.x.jar downloaded from this page
    • Author: davidcubesvk, the author of the Plugin
    2. Terms you accept and are aware of by downloading or using the Plugin:
    • You are not allowed to decompile this Plugin.
    • You are not allowed to redistribute this Plugin.
    • You are not allowed to claim this Plugin (or it's source code) as your own.
    • You are using the Plugin on your own responsibility, Author is not responsible for any damage or data leaks.
    • Author reserves all rights to change these terms without any notification.

Recent Reviews

  1. Miwasak
    Miwasak
    5/5,
    Version: 1.4
    author listens, I ask for a new feature (several hours of work) and he realized it in a few days, functional plugin and very communicative author on spigot
    1. davidcubesvk
      Author's Response
      Thank you for your 5-star review, as always, I very appreciate this!
  2. Hopik10
    Hopik10
    5/5,
    Version: 1.4
    niiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee plugin very good idea.
    1. davidcubesvk
      Author's Response
      Thank you for your 5-star review, I very appreciate this!