-
Notifications
You must be signed in to change notification settings - Fork 2
Commands and Permissions
AshleyThew edited this page Jul 5, 2026
·
1 revision
Bank command and permission behavior is split into command and permission subsystems. Admins can tune both without code changes.
Command root is /bank.
Subcommands are loaded from BankCommandConfiguration and runtime config, with player checks for disabled worlds/gamemodes.
Subsystem split:
- Command token subsystem (
conf/commands.yml): command words, aliases, node names. - Permission-check subsystem (
conf/permissions.yml): feature gates and value-prefix checks. - Open access subsystem (
Bank.Type.*andBank.Opentype.Subset.*): where open routes are allowed.
Primary files:
-
conf/commands.yml: command words, aliases, permission nodes, argument info. -
conf/permissions.yml: non-command permission checks (open types, slot/tabs, interest tiers, loan tiers).
Reference files:
Command branch baseline:
Bank:
Command: bank
Argument:
Open:
Command: open
Permission: bank.open.commandPermission check baseline:
Permission:
Open:
Sign:
Check: true
Permission: bank.open.signAdmin alignment checklist:
- Enable command path in
conf/commands.yml. - Grant matching permission node to target group.
- Ensure behavior-level checks in
conf/permissions.ymldo not block the action. - If using subset restrictions, verify
Bank.Opentype.Subset.*permits the intended open target.
Player command groups:
/bank info/bank open/bank money .../bank exp .../bank cheque .../bank top ...
Admin command groups:
/bank admin reload|save|reset|open|force open|lock|lookup/bank admin money .../bank admin exp .../bank admin slots .../bank admin item .../bank admin permission .../bank admin tax .../bank admin npc setopentypes .../bank admin block add|remove/bank eco give|set|take
Admin quick command matrix:
| Goal | Command | Typical args |
|---|---|---|
| Save all data now | /bank admin save |
- |
| Reload config and systems | /bank admin reload |
- |
| Inspect player bank | /bank admin open |
<player> |
| Force-open bypass | /bank admin force open |
<player> |
| Unlock/lock account | /bank admin lock |
<player> <true/false> |
| Correct money | /bank admin money add |
<player> <amount> |
| Correct exp | /bank admin exp add |
<player> <amount> |
| Register bank block | /bank admin block add |
- |
| Set NPC open types | /bank admin npc setopentypes |
[types...] |
Important current behavior:
-
commands.ymlcurrently maps bothAdmin > Tax > InfoandAdmin > Tax > Withdrawto command tokenwithdraw.
Examples from generated config:
- Command:
bank.money,bank.money.deposit,bank.admin.reload - Feature access:
bank.open.sign,bank.open.citizens,bank.items.deposit,bank.items.withdraw - Permission-value prefixes:
bank.loan.amount.,bank.loan.interest.,bank.item.slots.,bank.tabs.,bank.money.interest.online.
- Loan bounds:
bank.loan.amount.*,bank.loan.interest.* - Item capacity:
bank.item.slots.*,bank.tabs.* - Interest rate tiers:
bank.money.interest.*,bank.exp.interest.*
No command metadata is stored in player data. Command behavior is configuration-backed.
- Give player money command access only:
- enable
Bank > Moneycommand nodes inconf/commands.yml - grant
bank.moneyand needed children
- enable
- Permit 18 tabs through permission system:
- grant
bank.tabs.18
- grant
Restrict direct open commands to money only:
- Enable subset system in
config.yml. - Enable command subset channel with
Bank.Opentype.Subset.Command.Enabled: true. - Grant only needed open command nodes (for example
bank.open.command.money) fromconf/commands.yml. - Test as normal player.
Bank:
Opentype:
Subset:
Enabled: true
Command:
Enabled: true- Command appears but fails permission: verify both node grant and
conf/permissions.ymlchecks. - Console open subset fails: verify
Bank.Opentype.Subset.Command.Enabled.
- 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