ItemSoulBind 1.1.0

Bind items for a single player's use only

  1. mk7a
    Native Minecraft Version:
    1.15
    Tested Minecraft Versions:
    • 1.15
    • 1.16
    Source Code:
    https://github.com/mk7a/ItemSoulBind
    About
    Plugin for "soul binding" items to a player, preventing others from picking them up or removing them from containers.

    Features:

    • Prevents others picking up soul bound item
    • Prevents others removing soul bound items from container
    • If player has permission, soul bound items kept in inventory on death
    • Supports name changes - items are protected by player UUID.
    • Can be used with kits: Items with the register string (Default %soulbind% , configurable) in their lore will be soul bound to the player when they click/drop/pickup the item. See below for command that checks a player's inventory for such items and forces soul bind on them. Run this command after giving player a kit.
    • Separate bind on use / equip / pickup possible
    • Prevent soul bound blocks being placed.
    • Prevent soul bound items from being modified through crafting, enchanting, or with an anvil.

    Commands

    /bindItem
    permission: itemsoulbind.bind
    Binds item in main hand
    /bindItem <username>
    permission: itemsoulbind.bind.others
    Binds item in main hand to specified player
    /unbindItem
    permission: itemsoulbind.unbind
    Unbinds item in main hand
    /bindInvItems <player>
    permission: itemsoulbind.bindinvitems
    Check player's inventory for items with register string in lore, force soul bind them to that player.
    /isb-reload
    permission: itemsoulbind.admin
    Reload config.
    /getItems
    Retrieve your soul bound items that have been removed from another player's inventory.

    Special binds:
    permission: itemsoulbind.admin

    /bindOnUse
    /bindOnEquip

    /bindOnPickup

    Permissions
    Code (Text):

    permissions:
      itemsoulbind.admin:
        description: All permissions + reload command
        default: op
        children:
          itemsoulbind.bind: true
          itemsoulbind.bind.others: true
          itemsoulbind.unbind: true
          itemsoulbind.notify: true
          itemsoulbind.bindinvitems: true
          itemsoulbind.bypass: true
          itemsoulbind.keepondeath: true
      itemsoulbind.bind:
        description: Allows use of /bindItem
        default: false
      itemsoulbind.bind.others:
        description: Allows use of /bindItem <player>
        default: false
        children:
          - itemsoulbind.bind
      itemsoulbind.unbind:
        description: Allows use of /unbindItem <player>
        default: false
      itemsoulbind.notify:
        description: Notifies if player somehow has item soulbound to another player in their inventory
        default: false
      itemsoulbind.bindinvitems:
        description: Allows use of /bindInvItems
        default: false
      itemsoulbind.keepondeath:
        description: Soul bound items do not get removed from inventory when player dies
        default: false
      itemsoulbind.bypass:
        description: Bypass soul bind protection, item register string, (crafting, enchanting, anvil) restrictions
        default: false
        children:
          itemsoulbind.bypass.craft: true
          itemsoulbind.bypass.enchant: true
          itemsoulbind.bypass.anvil: true
      itemsoulbind.bypass.craft:
        description: Bypass crafting restriction (if enabled)
        default: false
      itemsoulbind.bypass.enchant:
        description: Bypass enchanting restriction (if enabled)
        default: false
      itemsoulbind.bypass.anvil:
        description: Bypass anvil restriction (if enabled)
        default: false
      itemsoulbind.returnitems:
        description: Permits returning of soul bound items to player and use of return items command
        default: true
     

    Config
    Code (Text):

    # When player interacts with an item with the register string in its lore, item will be soul bound to them
    registerString: "%soulbind%"


    # SPECIAL BINDS - items with relevant bind string will only be bound in the specified conditions
    # Colour is ignored when checking for string. Case sensitive

    # Binds when tool is used: used to break block, sword used to hit entity
    bindOnUse: false
    bouString: "&9Soul binds on use"
    # Binds when armor is equipped through in-hand right click
    bindOnEquip: false
    boeString: "&9Soul binds on equip"
    # Binds when item is picked up
    bindOnPickup: false
    bopString: "&9Soul binds on pickup"

    # Disable soul bind particle+sound effects
    disableEffects: false

    # Display message in item lore of soul bound item
    # Use %username% for player name placeholder
    displayLoreMsg: true
    loreMsg: "&9Soul bound to %username%"

    # Log player detected with item soul bound to another player in console
    consoleLogDetection: true

    # Prevents placing soul bound blocks
    preventPlacing: false

    # Prevents crafting with soul bound items
    preventCraft: false

    # Prevents enchanting with soul bound items
    preventEnchant: false

    # Prevents anvil use with soul bound items
    preventAnvil: false

    # Blocks commands when soul bound item is held in hand
    # Only provide the first part of the command, e.g. for "/auction sell" :
    blockedCommands:
      - "auction"

    # =======================
    # Messages | use '&' for color codes
    msgPrefix: "&8[&bSoul&3Bind&8]&r "
    denyMsg: "&9This item is soul bound to another player"
    detectedItemMessage: "&cAn item soul bound to another player was removed from your inventory. Event has been logged."
    detectedItemBroadcast: "was detected with an item soul bound to another player."
    noPermissionGeneric: "&cInsufficient permissions."
    noPermissionBindOthers: "&cInsufficient permissions to bind for other players."
    bindSuccess: "&aSoul bind complete."
    bindErrorHeldItem: "You must be holding an item in your main hand."
    bindErrorAlreadyBound: "This item is already soul bound."
    bindErrorNoSuchPlayer: "No such player found online."
    unbindErrorNotBound: "Item is not soul bound."
    unbindSuccess: "&aSoul bind removed."
    inventoryProcessSuccess: "&aProcessed inventory of "
    craftDeny: "&cCannot craft with soul bound items."
    enchantDeny: "&cCannot enchant soul bound items."
    anvilDeny: "&cCannot use anvil on soul bound items."
    foundItems: "&7Soul bound items found with another player have been returned to you. Use &b/returnItems &7to get them."
    noItems: "You have no items to retrieve."
    specialBindDone: "&aSpecial bind applied to item."
    cmdBlocked: "&cCannot perform this command on a soul bound item."
    # ======================

    configVersionDoNotModify: 1.4
     


    Report bugs and Exploits HERE


    Disclaimer: Plugin uses bStats to collect anonymous usage statistics.


    [​IMG]
    Teetle, ENCOM and ConfuseN like this.

Recent Updates

  1. 1.1.0
  2. 1.0.2
  3. 1.0.1

Recent Reviews

  1. Teetle
    Teetle
    4/5,
    Version: 1.0.2
    Great plugin! The only problem I have with it is that I can't trade custom villagers with the %soulbind% tag -- it just keeps giving the item back to the villager.
    1. mk7a
      Author's Response
      Fixed in v1.1.0 Thank you for reporting
  2. tinkeringmatt
    tinkeringmatt
    4/5,
    Version: 1.0.2
    This plugin works wonders.
    The only issue is a comflict with other plugins that allow protected items.

    An example is zenchantments.
    If you have the keep inventory permission on, and you have both soulbound and binded items it deletes the binded items, not just drops them, but deletes all thositems entirely

    Im talking with the bind enchant guy, while also talking with you.

    I'll adjust your rating if either of you can help get around this
    1. mk7a
      Author's Response
      Please try the latest version v1.1.0
  3. larssieboy18
    larssieboy18
    5/5,
    Version: 0.7.0 BETA
    Amazing plugin! Does what it should do. Reported an overlook to the developer and he added a new option within no time! It's so good for donator items etc.
  4. xZEROOblivious
    xZEROOblivious
    5/5,
    Version: 0.5.0 BETA
    Plugin does exactly what I wanted it to do, it binds it to a player and doesn't drop on death with the correct node.
    This is what I've been searching for, for weeks!
  5. Malacaritaa
    Malacaritaa
    5/5,
    Version: 0.5.0 BETA
    I LOVE IT, PLS MAKE COMPATIBLE WITH 1.12.2 AND OLDER :3
    ---------------------------------
  6. ConfuseN
    ConfuseN
    5/5,
    Version: 0.4.0 BETA
    Amazing plugin and developer, he added a suggestion I had! The plugin adds a nice new mechanic to minecraft!
  7. Malacaritaa
    Malacaritaa
    5/5,
    Version: 0.4.0 BETA
    NIceeee! This is a perfect idea! But pls!!!! Make compatible with 1.12.2!

    5 Stars ;)
  8. ConfuseN
    ConfuseN
    5/5,
    Version: 0.3.1 BETA
    Amazing plugin, can't wait to see some new features. One suggestion I would like to see is if there was an option to prevent adding extra enchants to soul bound items.