Skip to main content

Numerical Storage

Versatile system for managing currencies, mana pools, and upgraded bank accounts.

The Numerical Storage Extension provides a generic framework for managing numeric data. Use it to create custom currencies, RPG stat pools, or upgradable bank accounts with interest rates and GUI management.

This page documents the public artifact. The BTC custom artifact is maintained separately: it targets Java 25, uses the BTC MiniPlaceholders syntax and BTC GUI stack, and must not be mixed with the official public test server.

Features

  • Multi-Currency: Define unlimited unique storages (Gold, Tokens, Mana).
  • Leveling System: Players can upgrade their storage to increase capacity and interest rates.
  • Interest: Scheduled interest payouts based on Cron expressions.
  • Banking GUI: Complete interface for depositing, withdrawing, and upgrading.
  • Safe persistence: asynchronous asset I/O, per-artifact mutation locks, short-lived cache and schema migration.
  • Profile mode: optional profile-aware keys when the Profiles integration is installed.

Quick Start

  • 1. Configure Settings — Start with the configuration entry: definition. This defines global settings for the extension. → definition

Commands

All commands use the /ns prefix.

CommandDescriptionPermission
/ns open <id>Open storage menu.typewriter.ns.open
/ns add <id> <amount>Add balance (Console).typewriter.ns.add
/ns remove <id> <amount>Deduct balance (Console).typewriter.ns.remove
/ns level <id> <value>Set level (Console).typewriter.ns.level
/ns reset <id>Wipe data (Console).typewriter.ns.reset

Placeholders

Use these placeholders to display values. Replace <id> with your storage Definition ID.

PlaceholderDescription
%typewriter_ns_balance_<id>%Current balance.
%typewriter_ns_level_<id>%Current level index.
%typewriter_ns_capacity_<id>%Max balance capacity.
%typewriter_ns_interest_<id>%Current interest rate.
%typewriter_ns_interest_cooldown_<id>%Time until next payout.
%typewriter_ns_name_<id>%Display name.
%typewriter_ns_prefix_<id>%Currency prefix symbol.

Permissions

PermissionDescription
typewriter.ns.openOpen a numerical storage menu.
typewriter.ns.addAdd to a stored value.
typewriter.ns.removeRemove from a stored value.
typewriter.ns.resetReset a stored value.
typewriter.ns.levelManage storage levels.

Custom BTC variant

The custom artifact exposes the same values through MiniPlaceholders tags such as <ns_balance:bank> and <ns_level:bank>. Its Java 25 JAR, BTC GUI dependency and MiniPlaceholders engine must stay on the custom server only.

Dependencies

ExtensionRequiredUsage
GUI ExtensionRequiredMenu rendering and layout system.
PlaceholderAPIOptionalFor @Placeholder fields.
VaultOptionalDirect economy transactions in VAULT mode.

Data migration

New writes use a technical artifact path and JSON schema version 2. A legacy file based on the old semantic artifactId is backed up under backups/numericalstorage/ and migrated on first access. Back up the TypeWriter assets/ directory before upgrading.