Bank

A persistent per-player bank system for Hytale servers using the native Container API for drag-and-drop item storage, with NPC integration, item restrictions, transaction history, and multi-language support.
Features
Native Drag & Drop
- Built on Hytale's Container API (
SimpleItemContainer,ContainerWindow,PageManager.setPageWithWindows) - Native drag-and-drop, shift-click, and stack-split behavior — no custom UI workarounds
- Feels like a natural game inventory, not a plugin page
Multi-Page Storage
- Multiple bank pages per player with configurable slot counts
- Pages unlockable via progression, currency, or admin command
- Smooth page navigation within the bank UI
NPC Integration
- Open the bank by interacting with designated bank NPCs
- NPC dialog integration with configurable greeting messages
- Works with the KyuubiSoft Citizens system
Item Restrictions
- Blacklist mode — Block specific items from being stored
- Whitelist mode — Only allow specific items
- Configurable per bank page or globally
- Restrictions enforced server-side via
DelegateItemContainerslot validation
Transaction History
- All deposits and withdrawals logged to SQLite database
- Queryable transaction history per player
- Timestamps and item details recorded for admin auditing
Auto-Save
- Automatic periodic saves to prevent data loss
- Save on player disconnect and server shutdown
- Dirty-flag system to minimize unnecessary writes
Admin Commands
- View and manage any player's bank contents
- Grant or revoke bank pages
- Reload configuration without server restart
Localization
- 9 languages supported out of the box
- Per-player language selection via
/kslang - All UI labels, notifications, and NPC dialogs fully localized
Commands
| Command | Description |
|---|---|
/ksbank | Open your bank (if not at an NPC) |
/ksbankadmin | Admin management commands |
Requirements
- Hytale Server with plugin support
- Works standalone or with KyuubiSoft Core for enhanced features (shared economy, NPC system, localization)
Configuration
config.json— Bank settings (page sizes, auto-save interval, restriction mode)restrictions.json— Item blacklist/whitelist definitionslang/— Localization files for all 9 supported languages- Transaction data stored in
transactions.db(SQLite)