ItemSoulBind icon

ItemSoulBind -----

Bind items to players or groups



About
Plugin for "soul binding" items to a player or a group permission, preventing others from picking them up or removing them from containers.

Features:
  • Bind item to a single player or to a permission for multiple players
  • Prevents unauthorized players picking up soul bound items or removing them from a container or inventory
  • 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, modified through crafting, enchanting, or with an anvil.

Commands
Code (Text):

commands:
  bindItem:
    description: Soul bind an item
    usage: /bindItem <username>
    permission: itemsoulbind.bind
  bindAll:
    description: Bind all items in inventory
    usage: /bindAll
    permission: itemsoulbind.bindall
  unbindItem:
    description: Remove soul bind protection from item
    usage: /unbindItem
    permission: itemsoulbind.unbind
  groupBindItem:
    description: Bind item to all players with permission itemsoulbind.group.<permission>
    usage: /groupBindItem <permission>
    permission: itemsoulbind.groupbinditem
  remoteBindItem:
    description: Remotely bind an item in a player's inventory
    usage: /remoteBindItem <player> slot|0-40|all
    permission: itemsoulbind.remotebind
  bindInvItems:
    description: Scan player's inventory and bind any items with the register string in the lore
    usage: /bindInvItems <username>
    permission: itemsoulbind.bindinvitems
  returnItems:
    description: Get found soul bound items back
    usage: /returnItems
    permission: itemsoulbind.returnitems
  isb-reload:
    description: Reload config. Console Only.
    usage: /isb-reload
    permission: itemsoulbind.admin
  bindOnUse:
    description: sets item to bind on use
    usage: /bindOnUse
    permission: itemsoulbind.admin
  bindOnEquip:
    description: sets item to bind on equip
    usage: /bindOnEquip
    permission: itemsoulbind.admin
  bindOnPickup:
    description: sets item to bind on pickup
    usage: /bindOnPickup
    permission: itemsoulbind.admin
 

Permissions
Code (Text):

permissions:
  itemsoulbind.admin:
    description: All permissions + reload command
    default: op
    children:
      itemsoulbind.bind: true
      itemsoulbind.bindall: true
      itemsoulbind.bind.others: true
      itemsoulbind.unbind: true
      itemsoulbind.groupbinditem: true
      itemsoulbind.remotebind: true
      itemsoulbind.notify: true
      itemsoulbind.bindinvitems: true
      itemsoulbind.bypass: true
      itemsoulbind.keepondeath: true
  itemsoulbind.bind:
    description: Allows use of /bindItem
    default: false
  itemsoulbind.bindall:
    description: Allows use of /bindAll
    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.groupbinditem:
    description: Allows use of /groupBindItem <permission>
    default: false
  itemsoulbind.remotebind:
    description: Allows use of /remoteBindItem <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%"
# Group bind string
#   Place permission after this string, terminated by a space or end of line
#   Example: %soulbindgroup%perm which will have permission itemsoulbind.group.perm
groupRegisterString: "%soulbindgroup%"

# SPECIAL BINDS - items with relevant bind string will only be bound in the specified conditions
# Color 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%"
# Similarly for group binds, using placeholder %group%
displayLoreMsgGroup: true
loreMsgGroup: "&9Soul bound to group %group%"

# 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"
denyMsgGroup: "&9This item is soul bound"
detectedItemMessage: "&cAn item soul bound to another player was removed from your inventory. Event has been logged."
detectedItemMessageGroup: "&cA soul bound item that you do not have access to has been detected in your inventory. Event has been logged."
detectedItemBroadcast: "was detected with an item soul bound to another player."
detectedItemBroadcastGroup: "was detected with a soul bound item they do not have access to."
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."
bindErrorRemoteNoItem: "Specific target player inventory slot is empty."
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.6
 


Version support: From now I will build the plugin for the minecraft version one behind the latest, for as long as such build does not break anything when running on the latest version. If it does, I will return to only releasing for the latest.
Contributing: Check out the GitHub and project board.


Report bugs and Exploits: HERE
Support: Discord



[​IMG]

Disclaimers: Plugin uses bStats to collect anonymous usage statistics.
Resource Information
Author:
----------
Total Downloads: 4,843
First Release: Feb 2, 2019
Last Update: Jul 21, 2024
Category: ---------------
All-Time Rating:
16 ratings
Find more info at www.mk7a.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings