-
Notifications
You must be signed in to change notification settings - Fork 128
Feat/permissions v2 #176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
creatorfromhell
wants to merge
106
commits into
MilkBowl:master
from
TheNewEconomy:feat/permissions-v2
Closed
Feat/permissions v2 #176
creatorfromhell
wants to merge
106
commits into
MilkBowl:master
from
TheNewEconomy:feat/permissions-v2
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
…provements is such a radical idea.
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.