Bank UI Pages
The Bank plugin uses Hytale's native UI system with InteractiveCustomUIPage and ContainerWindow for drag-and-drop support. This page documents every player-facing UI element.
Bank Page (Main UI)
How to open: Interact with a bank NPC (press F) or use /ksbank
The bank page uses a 3-panel layout:
Left Panel — Settings
| Element | Type | Description |
|---|---|---|
| View mode | Section header | Label for the view toggle section |
| Sort dropdown | Dropdown | Sort items: Default, A-Z, Z-A, Rarity |
| Scroll toggle | Button | Switch between scrollbar mode and paginated view |
| Search | Text Input | Search for items across all pages by name |
Settings are saved per player and persist across sessions.
Center Panel — Bank Storage
| Element | Type | Description |
|---|---|---|
| ItemGrid | Native ItemGrid | Drag-and-drop grid displaying bank items. Uses DecoratedContainer styling |
| Page selector | Popup | Click to open page overview — shows all unlocked pages with navigation |
| Page navigation | Buttons | Previous/Next page buttons (Bank_Prev/Bank_Next items) |
| Item slots | Grid cells | Each slot shows the item icon with quantity. Custom BankSlot.png background |
The ItemGrid uses native Hytale drag-and-drop:
- Drag items between bank and inventory
- Shift+Click to quickly move items from inventory to bank
- Right-click to split stacks
- Items are validated server-side — restricted items are rejected by
BankItemContainer
Right Panel — Economy
| Element | Type | Description |
|---|---|---|
| Balance display | Labels | Shows balance for each detected economy provider |
| Currency withdraw | Button | Withdraw currency to inventory as coin items |
| Provider selector | Dropdown | Choose which economy provider to use for upgrades |
Page Overview Popup
How to open: Click the page indicator in the bank UI
Shows all bank pages in a list:
| Element | Type | Description |
|---|---|---|
| Page rows | List | Each row shows page number, used/total slots, and items count |
| Buy button | Button (per row) | Purchase the next locked page — shows cost in the selected currency |
| Lock icon | Display | Shown on pages that are locked (not yet purchased) |
| Shop info button | Button | "Want more pages?" link to web shop (if configured) |
Each locked page row displays a buy button with the exact cost. Players can purchase pages directly from this overview without a separate dialog.
History Page
How to open: /ksbank history
| Element | Type | Description |
|---|---|---|
| Entry list | Scrollable list | Shows the 20 most recent transactions |
| Entry format | Display | `DD.MM HH:mm |
| Color coding | Visual | Deposits in green (#66ff66), withdrawals in red (#ff6666) |
| Item icons | Display | Item icons shown next to each entry |
NPC Interaction
When a player interacts with a bank NPC (press F):
- The
BankCitizenHandlerdetects the interaction - The NPC's dialog greeting is shown (if configured)
- The bank page opens automatically with the player's data
- World group is resolved based on the player's current world
The bank NPC requires a citizen profile with the bank role configured in the KyuubiSoft Citizens system.
Item Restriction Feedback
When a player tries to deposit a restricted item:
- The item is rejected server-side by
BankItemContainerslot validation - The item bounces back to the player's cursor
- No error message is shown — the slot simply refuses the item
This applies to both drag-and-drop and Shift+Click operations.