MCPcopy Index your code
hub / github.com/ArcanePlugins/Treasury

github.com/ArcanePlugins/Treasury @2.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2.0.1 ↗ · + Follow
968 symbols 2,624 edges 161 files 276 documented · 29%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Treasury Logo

Welcome to Treasury

A powerful multi-platform library for next-level plugin integrations.

by lokka30, MrIvanPlays, Jikoo, and several kind contributors.

WikiFAQDiscordRepository


Synopsis

Treasury is a library plugin which provides other plugins on your server a standardised way of communicating with each other through Treasury's API suite. It aims to be a modern spin on Vault, offering concurrency support, multi-platform support, and a variety of other bonuses.

For example, you may have a virtual economy set up on your server where players can buy and sell goods. Using Treasury's Economy API, your Shops plugin can make transactions in the economy to whichever economy 'provider' plugin you have installed without them directly speaking to each other. This avoids plugins having to create an integration for every single other plugin they wish to support.

Treasury is best known for its Economy API, but it also provides APIs for Events, Services, and more to come. All of Treasury's APIs work on multiple platforms, from Bukkit to Velocity and even Minestom. Treasury's APIs take strong inspiration from existing ones and aim to offer the best experience to share without any platform dependence.

We aim to keep Treasury stable, robust, lightweight, powerful, and supported. To achieve this, Treasury maintainers conduct deep reviews into any changes to the plugin, especially additions to the APIs so that we can guarantee their stability for the future. Free support is provided on our community Discord where maintainers, helpers, and other users discuss.

Want to learn more about Treasury? Continue reading here.

Want to empower your plugin with Treasury's APIs? Check out the Quickstart guides.


License

Treasury is free, libre software. It is a community project which thrives via community contributions. See LICENSE.md for more details.

bStats

Never heard of bStats? Read more below.

View Notice

Treasury utilizes bStats metrics, as do thousands of other Minecraft plugins and software, from PaperMC to EssentialsX. This service collects very basic data on the server which is all public, e.g., how many servers are running Treasury, how many players are online, and so on. None of this data can be pinpointed back to a individual server, they all contribute to a single pool of data. This basic data is extremely valuable for the project's maintainers to ensure the needs of Treasury's userbase are best catered for.

All of the collected data is available here.

Should you wish to opt-out of bStats, simply disable it in the bStats config.yml file.

Extension points exported contracts — how you extend this code

CommandSource (Interface)
Represents an executor of a command @author MrIvanPlays @since v1.0.0 [10 implementers]
core/src/main/java/me/lokka30/treasury/plugin/core/command/CommandSource.java
Currency (Interface)
One of Treasury's core features is multi-currency support. This allows economy providers and plugins to use different cu [2 …
api/src/main/java/me/lokka30/treasury/api/economy/currency/Currency.java
Subcommand (Interface)
Represents a treasury subcommand. @author lokka30, MrIvanPlays @since v1.0.0 [12 implementers]
core/src/main/java/me/lokka30/treasury/plugin/core/command/Subcommand.java
EconomyProvider (Interface)
Implementors providing and managing economy data create a class which implements this interface to be registered in Trea [1 …
api/src/main/java/me/lokka30/treasury/api/economy/EconomyProvider.java
Logger (Interface)
Represents a logger interface, which is to be implemented by platforms. @author MrIvanPlays @since v1.0.0 [10 implementers]
core/src/main/java/me/lokka30/treasury/plugin/core/logging/Logger.java
Account (Interface)
An Account is something that holds a balance and is associated with an identifier, which is specific to the account type [1 …
api/src/main/java/me/lokka30/treasury/api/economy/account/Account.java
Scheduler (Interface)
Represents a scheduler wrapper. @author MrIvanPlays @since v1.0.0 [10 implementers]
core/src/main/java/me/lokka30/treasury/plugin/core/schedule/Scheduler.java
AccountAccessor (Interface)
This is a buffer interface designed to instantiate accessors for PlayerAccount player accounts and {@link NonPla [1 implementers]
api/src/main/java/me/lokka30/treasury/api/economy/account/accessor/AccountAccessor.java

Core symbols most depended-on inside this repo

get
called by 133
api/src/main/java/me/lokka30/treasury/api/common/service/Service.java
sendMessage
called by 40
core/src/main/java/me/lokka30/treasury/plugin/core/command/CommandSource.java
getInstance
called by 39
core/src/main/java/me/lokka30/treasury/plugin/core/TreasuryPlugin.java
add
called by 39
api/src/main/java/me/lokka30/treasury/api/common/misc/SortedList.java
of
called by 37
core/src/main/java/me/lokka30/treasury/plugin/core/config/messaging/Message.java
placeholder
called by 33
core/src/main/java/me/lokka30/treasury/plugin/core/config/messaging/MessagePlaceholder.java
logger
called by 30
core/src/main/java/me/lokka30/treasury/plugin/core/TreasuryPlugin.java
join
called by 27
api/src/main/java/me/lokka30/treasury/api/common/event/Completion.java

Shape

Method 785
Class 148
Interface 20
Enum 15

Languages

Java100%

Modules by API surface

core/src/main/java/me/lokka30/treasury/plugin/core/command/subcommand/economy/migrate/MigrationEconomy.java25 symbols
api/src/main/java/me/lokka30/treasury/api/economy/transaction/EconomyTransaction.java22 symbols
platform/bungeecord/src/main/java/me/lokka30/treasury/plugin/bungeecord/BungeeTreasuryPlugin.java21 symbols
platform/sponge/src/main/java/me/lokka30/treasury/plugin/sponge/SpongeTreasuryPlugin.java20 symbols
platform/minestom/src/main/java/me/lokka30/treasury/plugin/minestom/MinestomTreasuryPlugin.java20 symbols
platform/bukkit/src/main/java/me/lokka30/treasury/plugin/bukkit/BukkitTreasuryPlugin.java20 symbols
platform/velocity/src/main/java/me/lokka30/treasury/plugin/velocity/VelocityTreasuryPlugin.java19 symbols
api/src/main/java/me/lokka30/treasury/api/economy/account/Account.java17 symbols
core/src/main/java/me/lokka30/treasury/plugin/core/command/subcommand/economy/migrate/CurrenciesMigrator.java15 symbols
core/src/main/java/me/lokka30/treasury/plugin/core/TreasuryPlugin.java15 symbols
platform/sponge/src/main/java/me/lokka30/treasury/plugin/sponge/apiimpl/economy/SpongeToTreasuryCurrencyImpl.java14 symbols
platform/sponge/src/main/java/me/lokka30/treasury/plugin/sponge/apiimpl/economy/AbstractAccountImpl.java14 symbols

For agents

$ claude mcp add Treasury \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact