Skip to content

Conversation

@creatorfromhell
Copy link
Contributor

No description provided.

LlmDl and others added 30 commits April 4, 2021 10:32
This commit adds UUID support to Vault, allowing plugins to bypass the
OfflinePlayer methods which result in Bukkit trying to resolve a player
to associate with the OfflinePlayer (via the server playercache and if
that player doesn't exist via Mojang.)

This is incredibly useful for any plugin which wants to have an Economy
account that isn't associated with a player. This includes Towny,
Factions, Shops plugins and others.

Most importantly: having UUID methods will give these plugins an avenue
to update from using the String accountName methods deprecated since
Vault 1.4, which doesn't result in slow OfflinePlayer creation.

AbstractEconomy has been updated so that the various Economy plugins
supported internally by Vault will have support for the new methods in
the same manner as when the OfflinePlayer methods were added.

Small javadoc typos have also been fixed up (extra {'s, an additional
{@link, etc.)
These methods are meant for players, non-players and anything with a
UUID.
To match the PR I have opened at the Vault repo, which has had the
native economy plugin support removed, the VaultAPI plugin no longer
requires the AbstractEconomy class.

Removal means that this Pull Request no longer calls
Bukkit.getOfflinePlayer(uuid), making this much safer.
Add jetbrains annotations & remove mention of specifc economy plugins.
All classes are the same as their v1 selves.
New methods include:

- UUID-focused methods replacing the Name and OfflinePlayer methods.

- getUUIDNameMap() which makes the economy plugin able to supply a Map
of UUIDs and last-known-names on request. This will be used to replace
the code in Vault which converts between economy plugins (and is
currently only able to convert accounts belonging to players which have
logged in.) The @nullable annotation is used here in order to declare
that the last-known-name of the account is allowed to be null.

- getAccountName(UUID) which will return the last-known-name of an
account or null.

Other Changes:

- Minor changes to javadocs.
Co-authored-by: Morgan <cerealcable@users.noreply.github.com>
Co-authored-by: Morgan <cerealcable@users.noreply.github.com>
- Added renameAccount(UUID, String).
- Remove @nullable annotation and remove repo/dependency from pom.xml.
- Fixed typo in javadoc in Economy.
future.

Major clean up of javadocs in the Economy class.
creatorfromhell and others added 17 commits June 13, 2024 09:56
I added the "String pluginName" parameter to the function: fractionalDigits, format, getDefaultCurrency, defaultCurrencyNamePlural and defaultCurrencyNameSingular for the creation of an economy plugin that redirects the calls of these functions to different currencies depending on the plugin that calls them

(for example in my multi-currency economy plugin I created a possibility to define a currency on a plugin the modifications I made allow these plugins to display the amounts in the right currency (in case the calling plugin does not support multi-currency))
Added "String pluginName" parameter to display function
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants