Skip to content
Max Lee edited this page Mar 29, 2023 · 6 revisions

Tresor title

Tresor is a Vault-compatible abstraction library for Bukkit plugins.

It offers lots of services to let plugins more easily hook into common plugin types like economies, block protection, or authentication plugins! It brings with it all the compatibility that Vault offers plus a lot more services as well as modern re-implementations of the traditional Economy, Chat, and Permissions services.

Right now the project is still in development!
If you want to help out or suggest things, please do so on the issue tracker!

Why Tresor?

The original Vault API and plugin is almost a decade ago. Lots of things have changed in that time, not only did Mojang also make a big move to support the ability to change usernames which lead to the introduction of unique IDs (UUID) being the main way of referencing a player but also did the server plugin ecosystem mature and found new ways of how to run a Minecraft server.

In all that time the Vault project did little to move with the general trend, refused to offer additional, common services, and only barely supported modern features like name changes in existing services. To this day parts of the Vault API remain unusable in certain situations (mainly regarding offline player support) due to the lack of time and thought invested in improving the existing API. Even when community members tried to suggest improvements and voice their want for more offered services those were ignored. Out of that frustration the idea for Tresor was born (at this point over 5 years ago already) and lots of time has been spent taking note of the needs of the ecosystem and planning out how this should work.

During that planning time the following requirements were identified:

  • Keeping compatibility with existing Vault service providers
  • Adding services for more plugin types
  • Improving offline player and name change support
  • Offering the ability for server admins to select which service provider a specific plugin will use
  • Easy conversion of the data from one plugin to another offering the same service provider
  • The ability to interface with plugins and their data asynchronously (e.g. to query an offline player's data from a database on a separate thread)
  • Using industry standard approaches like BigDecimal (for money transactions) and CompletableFutures for async data querying
  • Providing more and better resources for developers and server admins alike regarding how to interface with he plugin
  • And in general a more open approach to development

Basically: Tresor it to Vault what Paper is to Spigot ‒ a principles "fork".

Why "Tresor"?

"Tresor" (pronounced "tresór") means "safe" or "vault" in German with more of a focus on the safe meaning of vault, therefore carrying a certain strength in the term itself as the name of this kind of project.

Also we are Germans here at Minebench so a (catchy) German translation is quite fitting.

Clone this wiki locally