AwesomeKeycards
AwesomeKeycards lets you turn any item into a digital keycard, lock interactive blocks, and share access with trusted players.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
AwesomeKeycards
AwesomeKeycards
Version: NeonDev Version: PaperMC 1.21.8 Version: Kotlin (2.3.0-Beta2) using Gradle + Shadow + run-paper. Version: 1.4.1
AwesomeKeycards lets you turn any item into a digital keycard, lock interactive blocks, and share access with trusted players. It is designed for modern survival servers that want lightweight door/loot protection without relying on heavy land-claim systems.
---
Feature Highlights
- 🔐 Audit log – `/keycard create [global|team <team>] <label>` converts the held item with a unique ID, plus optional color/style/auto-close/double/notify/cooldown presets. - 🚪 Audit log – lock doors, trapdoors, fence gates, buttons, chests, barrels, furnaces, shulkers, etc. Only matching keycards (or shared users) can interact. - 👥 Audit log – card owners can grant or revoke access via `/keycard access add/remove/list`, perfect for roommates or faction mates. - 🧩 Audit log – create personal (default), `global`, or `team <name>` keys to match open-access lobbies or scoreboard-managed squads. - 🎛️ Audit log – set accent color, effect style, auto-close timer, double-door sync, owner alerts, and cooldown defaults right on the `create` command. - 📦 Audit log – `/keycard vault` lists every keycard with quick cloning and revoke options that also clean up locks. - 👁️ Audit log – shift-right-click a locked block with any keycard to see its linked key, owner, and a copyable ID (admins only). - 🚪 Audit log – `/keycard door` (owner, no admin perm) controls auto-close timers, double-door syncing, owner alerts, cooldowns, style presets, nicknames, and a copy/paste clipboard for fast setup. - 🌈 Audit log – pick classic, stealth, or spark effects per lock to change particle colors and sounds. - 🔔 Audit log – optional pings when someone uses your lock, throttled to avoid spam. - ⏱️ Audit log – rate-limit rapid spam on doors or buttons with a per-lock delay. - 🧾 Audit log – instant summary of the targeted lock’s nickname and toggles via `/keycard door status`. - 🗂️ Audit log – copy/paste lock settings between doors to set up bases quickly. - 🎨 Audit log – particle trails + jingles on lock/unlock and a subtle denied tone when access is blocked. - 💾 Audit log – locks saved to `locks.yml`, cards + ACL to `keycards.yml`, ensuring safety across restarts. - ⚙️ Audit log – admin-only workflow for creating/locking, but anyone with the access permission can manage sharing for their own cards. - 🧠 Audit log – optional allow/deny lists plus automatic pruning of team keys tied to removed teams keep ACLs clean. - 📜 Audit log – `/keycard audits` tail recent lock/unlock attempts with player, key short ID, and location.
---
Commands
| Command | Permission | Description | |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------| | `/keycard create [global/team <team>] <label> [color=<name>] [style=<preset>] [autoclose=<seconds/off>] [double=<on/off>] [notify=<on/off>] [cooldown=<seconds/off>]` | `awesomekeycards.admin` | Converts the held item into a labeled keycard with optional defaults for future locks. | | `/keycard lock` | `awesomekeycards.admin` | Links the held keycard to the block you are looking at (6 block reach). | | `/keycard unlock` | `awesomekeycards.admin` | Unlocks a block if you hold the linked keycard. | | `/keycard access add <player>` | `awesomekeycards.access` | Grants another player the ability to use the current keycard. | | `/keycard access remove <player>` | `awesomekeycards.access` | Revokes access for a player. | | `/keycard access list` | `awesomekeycards.access` | Lists everyone who can use the current keycard. | | `/keycard view` | `awesomekeycards.access` | Displays owner, scope, and sharing details for the held keycard. | | `/keycard door <status/autoclose/double/notify/cooldown/style/nickname/copy/paste>` | `awesomekeycards.access` (owner or admin) | Customize the targeted locked block: timers, double-door syncing, alerts, styles, nicknames, and clipboard actions. | | `/keycard vault [page]` | `awesomekeycards.admin` | Browse all stored keycards, clone them, or revoke + clean locks. | | `/keycard audits [player] [count]` | `awesomekeycards.admin` | Show the most recent audit lines; defaults to 10 entries. |
> Hold the keycard item in your main hand before running any command. > By default `awesomekeycards.admin` is OP-only, while `awesomekeycards.access` is granted to all players so they can manage their own cards.
Example: `/keycard create global Lobby color=gold style=sparks autoclose=5 double=off notify=on cooldown=3`
---
Supported Blocks
- All buttons, buttons, buttons, and buttons (via Bukkit tags). - Utility blocks: levers, barrels, chests (normal & trapped), furnaces, smokers, blast furnaces, droppers, dispensers, hoppers, shulker boxes (all colors). - When locking double-doors, aim at the lower half; the plugin normalizes coordinates so both halves stay linked and, if enabled, will sync open/close on both sides.
---
Keycard Types
- Team – default behavior. Owner plus manually shared UUIDs can operate linked blocks. - Team – `/keycard create global <label>` lets every player interact with blocks locked to that key (great for spawn doors that still log activity). - Team – `/keycard create team <teamName> <label>` ties the lock to a vanilla scoreboard team (`/team add Guards`). Any member of that team can open the block without needing the physical item.
Use `/keycard view` while holding a card to confirm its scope, owner, and share list before distributing copies.
---
Door Customization (no admin needed)
Owners (or admins) looking at a locked block can run `/keycard door ...`: - `status` – show nickname plus all toggles for the targeted lock. - `autoclose <seconds|off>` – close doors/fence gates/trapdoors automatically after a delay. - `double <on|off>` – open/close both halves of a double door together. - `notify <on|off>` – ping the owner when others use the lock (throttled). - `cooldown <seconds|off>` – add a short delay to prevent spammy toggling. - `style <classic|stealth|sparks>` – change particles/sounds per lock. - `nickname <name|off>` – friendly label shown in status/alerts. - `copy` / `paste` – clone all these settings between locks to set up bases quickly.
Defaults you set on `/keycard create` (color, style, auto-close, double-door, alerts, cooldown) are saved on the keycard and applied to locks the next time you link that card to a block. All customization uses the `awesomekeycards.access` permission (default true) and only requires owning the key, not server admin.
---
Configuration
- `teamAccess.allow` / `teamAccess.deny` (lists) gate which scoreboard teams can be used for team keycards; leave `allow` empty to allow all by default. - `teamAccess.watchdogIntervalTicks` controls how often stale/blocked team keycards are pruned. - Audit logs are written to `plugins/AwesomeKeycards/audit.log` and can be tailed in-game with `/keycard audits`.