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 29 commits April 4, 2025 20:28
Bumped project version from 2.14 to 2.15 in `pom.xml`. Added a new changelog file for version 2.15 and corrected a typo in the 2.14 changelog header.
- Restructured, moving the group, version, and description towards the top.
- Reverted back to Bukkit 1.13.1 (for supposed compatibility)
  - Reason: Updating this dependency, even to 1.13.2, is outside the scope of the gradle PR.
  - Swapping to an alternative provider for bukkit is also not my call to make.
- Expressly exclude gson, guava, commons-lang, junit, and snakeyaml transitive dependencies.
- Combine the 'java {}' declarations, and add withJavadocJar(). Removed vendor restriction on the toolchain.
- Add 'pom{}' information to the publishing block.
- add 'repositories{}' information to the publishing block.
- add options.compilerArgs.add("-parameters") to match Maven's compiler args
- add equiv. Javadoc config
- gradle-wrapper: Update to gradle 9.0.0
- Toolchain: Use JDK 8
Tooling: Implement Gradle 9.0.0
Removed usage of @NotNull on primitive type
Updated repository URLs and dependency versions in README.md for consistency and updated the Javadoc workflow to use Gradle instead of Maven. Added a new Gradle CI workflow for building the project and uploading artifacts.
Update repository URLs, and CI workflows
…d removed extra newline in `settings.gradle.kts`.
…lDigits` for specifying a currency method in `Economy` interface. Close #24
- Added detailed clarification in the `Economy` interface documentation regarding default behavior for unsupported features.
- Deprecated ambiguous methods returning `List<String>` in favor of new methods returning `List<UUID>`.
- Updated Gradle build version to `2.17`.
- Updated changelog for changes in version `2.17`.
- Completely removed the `Permission` API implementation, including deprecated methods and transient permission handling.
- Fully removed the `Chat` API implementation, including all related methods and deprecated functionality.
…nsistency.

- Standardized method signatures by removing redundant `Subject` parameters.
- Improved documentation for clarity and usability.
- Added new constructors and utilities in `Context` and `Subject` classes.
…entation.

- Refactored `Context` and `Subject` APIs, introducing enums `SubjectType` and `LookupMode`.
- Added new async methods for permission and chat operations, including `copyPermissionsAsync`, `getPrefixAsync`, and more.
- Improved context handling with `ContextKeys` and new utilities like `fromWorld`.
- Enhanced method documentation for better usability and clarity.
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.

6 participants