-
Notifications
You must be signed in to change notification settings - Fork 2
GUI and Inventory Interactions
AshleyThew edited this page Jul 5, 2026
·
1 revision
Bank uses inventory-based interfaces for all player banking actions. Admins control this through multiple GUI-related subsystems.
BankInventories maps each UI to an inventory handler and descriptor from conf/inventories.yml.
BankInventoriesManager enforces world/gamemode restrictions, lock state, permissions, and optional open-type subset gating.
Open-type enum values:
-
ALL,MENU,ITEMS,MONEY,EXP,LOANS,CHEQUES
Important current behavior:
-
getBankInventories(OpenTypes...)explicitly routesMENU,ITEMS,MONEY, andEXP. -
LOANSandCHEQUESare valid enum values but are not directly routed by that method and currently fall back to main menu selection.
- Menu layout subsystem:
conf/inventories.yml - GUI item template subsystem:
conf/items.ymlandconf/default_items.yml - Access route subsystem:
Bank.Type.* - Open target restriction subsystem:
Bank.Opentype.Subset.* - Security gate subsystem:
Bank.Pin.*
Key GUI config areas:
conf/inventories.ymlconf/items.yml-
Bank.Opentype.Subset.*inconfig.yml Bank.Pin.Enabled
Reference files:
PIN and open-route baseline:
Bank:
Pin:
Enabled: true
Opentype:
Subset:
Enabled: true
Command:
Enabled: true
Citizens:
Enabled: true
Sign:
Enabled: trueSubsystem notes:
- If you change inventory button actions, verify command and permission mappings still match.
- If subset restrictions are enabled, test each open route after edits.
- If PIN is enabled, first-open flow changes for players without validated PIN state.
GUI entry commands:
/bank/bank open/bank money open/bank exp open/bank admin open <player>
GUI access checks use both command permissions and inventory descriptor permissions from config.
GUI state is mostly runtime; persistent data is stored in account info models.
- PIN enabled and not passed: open request is redirected to PIN entry inventory.
- Money-only mode enabled:
/bankopens money inventory directly instead of main menu.
Open subset policy profile:
- Enable
Bank.Opentype.Subset.Enabled. - Enable the channels you want:
Command,Citizens, and/orSign. - Use command permissions to limit which open commands players can run.
- Validate with both player and admin accounts.
- GUI opens wrong section: verify
Onlymode toggles and open-type subset settings. - Admin open denied: verify admin inventory permission and extra admin permission settings.
- Loans or cheques open target not direct-routing: expected behavior in current selector; users can still reach through main menu.
- System Architecture and Lifecycle
- Commands and Permissions
- Account and Balance Model
- Transactions and Money Flow Rules
- Storage and Persistence
- Configuration System
- GUI and Inventory Interactions
- Integrations and Access Modes
- Error Handling and Edge Cases
- Admin Operations and Troubleshooting
- Backup, Recovery, and Migration
- Version Compatibility and Known Limitations
- command_baltop.yml
- commands.yml
- config.yml
- convert.yml
- default_items.yml
- hiscores.yml
- inventories.yml
- itemblacklist.yml
- items.yml
- language.yml
- mysql.yml
- permissions.yml
- sounds.yml
- upgrade.yml
- Discord Support Config:
- command_baltop.yml
- commands.yml
- config.yml
- convert.yml
- default_items.yml
- hiscores.yml
- inventories.yml
- itemblacklist.yml
- items.yml
- language.yml
- mongo.yml
- mysql.yml
- permissions.yml
- sounds.yml Config:
- command_baltop.yml
- commands.yml
- config.yml
- convert.yml
- default_items.yml
- hiscores.yml
- inventories.yml
- itemblacklist.yml
- items.yml
- language.yml
- mongo.yml
- mysql.yml
- permissions.yml
- sounds.yml Config:
- command_baltop.yml
- commands.yml
- config.yml
- convert.yml
- default_items.yml
- hiscores.yml
- inventories.yml
- itemblacklist.yml
- items.yml
- language.yml
- mongo.yml
- mysql.yml
- permissions.yml
- sounds.yml