
a plugin that lets players link there inventory together for example a bedrock and java account

Link two player inventories — live — with an opt-in request/accept flow and strong safeguards. Designed for PaperMC 1.21.x and Java 21.
⚠️ Irreversible: When a link is accepted, the accepting player’s current inventory is cleared and replaced with the requester’s. This cannot be undone. Linking to unknown players is not recommended.
/link → /link accept / /link deny.live-sync: true|false)true: both players can be online; inventories mirror in real-time (click, drag, drop, pickup).false: only one linked player may be online; the second gets kicked with a configurable message./link.plugins/InventoryLink/playerdata/<PlayerName>/ inventory.yml — serialized snapshots link.yml — partner name + flags (e.g., pendingClearOnJoin)& color codes.If your server supports Bedrock via GeyserMC + Floodgate, a Java player can link their own Bedrock account:
"." or a custom prefix). /link <bedrockUsernameWithPrefix>
/link accept <javaPlayerName>
This is ideal for players who switch between Java and Bedrock and want a single, shared inventory.
/link <player> — Send a link request to <player> /link accept <player> — Accept a pending request from <player> /link deny <player> — Deny a pending request from <player> /inventorylink reload — Reload config.yml (permission: inventorylink.admin)Permissions
inventorylink.link — default: true inventorylink.admin — default: opplugins/InventoryLink/config.yml)live-sync: true # Allow both linked players online & mirror live
sync-debounce-ms: 200 # Debounce mirroring to avoid loops
kick-message: "&cYour linked partner is already online. Live sync is disabled on this server."
clear-on-death: true # Also clears partner on death; offline partners clear on next join
request-timeout-seconds: 60 # Expire pending /link requests
block-command-while-linked: true
messages:
already-linked: "&cYou are already inventory-linked and cannot use /link."
target-already-linked: "&cThat player is already inventory-linked and cannot accept new links."
request-expired: "&cThat link request has expired. Please send a new one."
request-sent: "&aLink request sent to %target%."
request-received: "&e%sender% wants to link inventories with you. &cAccepting will CLEAR your current inventory and cannot be undone. Linking to unknown players is not a good idea."
accept-hint: "&aType /link accept %sender% or /link deny %sender%"
accepted: "&aYou are now linked with %other%. Inventories are now synced."
denied: "&eYou denied the link request from %other%."
partner-join-kick: "&cYour linked partner is already online. Live sync is disabled on this server."
reloaded: "&aInventoryLink config reloaded."
pending-cleared-on-join: "&eYour inventory was cleared due to your partner's recent death."
/link <player> — Target receives warnings + accept/deny instructions. live-sync: true, both inventories mirror in real-time. plugins/ on a Paper 1.21.x server. plugins/InventoryLink/config.yml. /inventorylink reload or restart.MIT — keep the license and don’t hold the author liable. Contributions welcome.