-
Notifications
You must be signed in to change notification settings - Fork 7
features player pay
The /pay command (alias: /pagar) allows transferring money between players either directly or via an interactive GUI menu. It integrates SkinsRestorer skins to display custom player heads in the menu.
/pay <player> <amount> [note]
Transfers money instantly to the target player if they are online. If the player is offline and offline-uuid-fallback: true, the payment is queued as an offline payment (see corresponding section).
Applicable Permissions:
-
vault.payβ Enables general use of/pay(default:true) -
vault.pay.bypass_minβ Bypasses the minimum limit (default:op) -
vault.pay.bypass_maxβ Bypasses the maximum limit (default:op)
Run /pay by itself to open the menu listing all online players as player heads (PLAYER_HEAD). The inventory size is configured in pay_menu.size (multiple of 9, default 27).
Head skin resolution follows this priority order (PayMenuService.java:92):
- Live player
GameProfile(reflection) - Modern
PlayerProfileAPI - SkinsRestorer API β If the plugin is installed, extracts skin texture/signature
- Legacy
setOwningPlayer/setOwnerfallback
With pay_menu.show_self: false (default) your own head is excluded from the list.
Clicking on a head or running /pay Notch opens a 9-slot sub-menu with 4 actions (PayMenuService.java:424-477):
| Slot | Item | Action |
|---|---|---|
| 1 | Emerald | Pay β Opens Quick Pay menu |
| 3 | Paper | View balance β Shows target's balance |
| 5 | Redstone | Charge β Request payment (clickable) |
| 7 | Gold Ingot | Loan β Direct access to loan menu |
After selecting Pay or Charge, the plugin enters chat input mode. Type the amount and press Enter. To cancel, type cancel or cancelar (configurable in pay.prompt.cancel_words).
The limits pay_limits.min (1) and pay_limits.max (100000) are applied both to chat input and the direct command. The bypass_min / bypass_max permissions (or the wildcard vault.pay.bypass_limits) ignore them.
In config.yml:
pay_limits:
min: 1
max: 100000If the value is β€ 0, the limit is disabled. The pay.amount_too_small / pay.amount_too_large errors use %min% / %max% placeholders formatted with the currency symbol.
When choosing Charge in the sub-menu, the plugin sends the recipient a clickable message with RUN_COMMAND:
/pay <requester> <amount>
If the recipient is offline, the request is stored:
-
In memory (
pendingByRecipient) if no MySQL -
In MySQL table
vault_charge_requestsifstorage.use_mysql: true
On login, a maximum of pay_pending.max_on_join: 5 requests are delivered; the rest remain queued for the next connection.
Vault Economy v2.1.0 Β· Compatible with Spigot 1.8.8 β 1.21.x
π¦ Modrinth Β·
π¬ Discord Β·
Java 17 (legacy) Β· Java 21 (modern)
Documentation generated on 2026-09-03 Β· Vault Project Team
- π Home
- π First Install
- π§βπ« Getting Started
- β Basic FAQ
- π Formats and Localization
- π± Multi-currency
- π’ Abbreviation (k / M / B / T)
- π Complete Command List
- π‘οΈ Complete Permission List
- βοΈ config.yml Reference
- π Supported Languages
- π Modrinth Updates
- π° Player-to-Player Payments
- π¦ Bank System
- π΅ Physical Notes
- πΈ Loans
- π Transaction History
- π Top Players
- βΈοΈ Offline Payments
- π³ Charges / Payment Requests
- π Discord Webhook
- π οΈ Installation Errors
- π« Players Can't Pay
- 𧨠Balances Wiped on Restart
- π Bank Doesn't Pay Interest
- π§Ύ Invalid / Expired Notes
- π©Ί Complete Step-by-Step Troubleshooting
- πΊοΈ Separate Balances Per World
- π Migration from EssentialsX
- π PlaceholderAPI (25+ placeholders)
- π€ SkinsRestorer Β· GUI Heads
- π LuckPerms
- ποΈ MySQL / HikariCP
-
Java API
- π¬ Getting Started
- π‘ Events and Transactions
- π SimpleEconomy Hooks
- π Skript
- π§° Contribute Β· Dual Maven Build
- π Changelog v2.1.0
- π Support