Skip to main content
← All guides

Building a Bank Menu in GUIPlus with the Chat Fetcher and Saved Fields

By , the developer behind these plugins ·

A bank is the menu that shows what GUIPlus does beyond buttons: it takes a number from the player in chat, checks it, moves money through your economy plugin and remembers a balance per player. None of that needs a bank plugin. This guide builds one in the in-game editor, one feature at a time, and ends with the checks to run before players see it.

What the bank needs from GUIPlus

GUIPlus configures items, conditions, click events, scenes, chat fetchers and economy actions from in-game system menus, so the whole bank is built by clicking, not by editing YAML. Four of its features do the work: the chat fetcher takes free-form input in chat and pairs with conditions and click events; conditions gate any item or scene, with has-balance, is-integer, is-double, has-permission and cooldown among them; click events give, set or remove money through your economy plugin and can save information per player, with a bank balance as the documented example; and animation scenes cover the transaction itself. Money events run against the economy plugin you already use, so you need one installed.

GUIPlus supports Spigot and Paper 1.16 through 26.2 and costs €14.99 (price at time of writing) as a one-time purchase with free lifetime updates. The GUIPlus documentation has the exact syntax of each field; this guide is about which feature to reach for at each step.

Step 1: the menu and its command

Create the menu in the editor and add three items: Deposit, Withdraw and Balance. The item editor sets name, lore, conditions and click events per item, and the item cloner duplicates the first button so the other two start from the same look. Then give the menu its own command: command aliases turn /guiplus bank into /bank, and can take over /bank from another plugin if one already owns it, which is exactly the case when you are replacing a bank plugin.

Step 2: the deposit button

The Deposit item gets a click event that opens a chat fetcher. The fetcher prompts the player in chat, captures the answer, then runs its click event if the conditions pass, so the checks go on the fetcher, not the button. Two conditions do the guarding: is-integer (or is-double, if you allow decimals) rejects anything that is not a number, and has-balance makes sure the player can afford the deposit. Every condition-able element carries its own fail message, so write a plain one for each case rather than leaving the default.

When the conditions pass, the event chain runs: a money-remove event takes the amount through your economy plugin, a save-information event records the player’s bank balance in the myField:myValue form GUIPlus uses for per-player fields, and a message or title confirms the deposit. Finish with the close-inventory event or leave the menu open, whichever feels right for your server.

  • Fetcher promptAsk for a whole number; the exit message can be shown or hidden per fetcher.
  • Conditions on the fetcheris-integer, then has-balance, each with its own fail message.
  • Click events, in ordermoney-remove, save-information for the balance field, then a message or title.

Step 3: the withdraw button

Withdraw is the mirror image: a chat fetcher asks for the amount, is-integer checks the input, and the click events run money-give and save-information to bring the stored balance down. The has-balance condition is not the right guard here because it checks the economy balance, not the bank field; use the saved field for that check and, until you have tested it thoroughly, keep a permission condition on the button so only staff can withdraw while you verify the numbers.

Add a cooldown condition to both buttons, with the cooldown length set in the editor. A bank without a cooldown is a menu players will spam, and the cooldown condition carries its own fail message to explain the wait.

Step 4: showing the balance

The Balance item is the simplest of the three: a click event that messages the player or sends a title with the stored field. Because click events can read back information saved per player, this is where the bank balance you have been writing comes out. If you want the number visible without a click, the animated lores editor cycles any sequence of lore lines on an item, so a lore frame can carry the balance line alongside a hint on how to deposit.

Step 5: a scene for the transaction

Scenes let you create any animation you wish for a menu, and a bank transaction is one of the two examples the plugin itself gives. Build a short scene in the scene editor for a successful deposit and tie it to the click event, so it plays only after the money moved. Scenes can also open conditionally: show scene A, check the conditions, then show scene B, which is how a "counting" animation can lead into a "done" screen only when the deposit went through, and how other plugins can be part of the sequence through events.

Guarding it: permissions, pickers and custom items

A has-permission condition on the whole menu, or on the Withdraw button alone, is how ranks get bank access as a perk. For staff, the player picker runs a command against a chosen online player and the offline player picker does the same for players who are not online, so an admin bank menu can adjust a balance without typing names. If your server uses custom items from ItemsAdder, Oraxen, Nexo or AdvancedEnchantments, NBT support means they work as the menu’s icons too.

The checklist before players see it

Run through every case with a test account before removing the permission condition, and keep a note of the economy balance and the bank field at each step.

  • Non-numbers are rejectedLetters, negative numbers and an empty answer all hit the is-integer fail message.
  • Overdrafts are blockedA deposit larger than the economy balance stops at has-balance; a withdrawal larger than the bank field stops at your field check.
  • Money and field agreeAfter a deposit and a withdrawal, the economy balance and the saved field add up to where they started.
  • Cooldowns holdA second click inside the cooldown shows the cooldown fail message and moves nothing.
  • The alias is claimed/bank opens this menu and not the old plugin’s.

Related plugins

GUIPlus
Complete GUI editing suite. In-game editor, animations, conditions, events — no YAML required.

More guides on these plugins

Bank Menu in GUIPlus [Step-by-Step] | InfinitePlugins