Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
5c61077
Add UUID support to Vault.
LlmDl Apr 4, 2021
747940c
Improve UUID methods' names, dropping the word Player.
LlmDl Sep 28, 2021
e0743da
Remove the now un-needed AbstractEconomy class.
LlmDl Oct 12, 2021
b1e408b
Update pom with tentative version numbering.
LlmDl Jun 28, 2022
6570692
Deprecate vault package.
LlmDl Jun 28, 2022
5348352
Add vault2 package.
LlmDl Jun 28, 2022
1a73308
Economy v2.
LlmDl Jun 28, 2022
918bda2
Update README to include new version, example code.
LlmDl Jun 28, 2022
7129ffb
Add account name to the createAccount method.
LlmDl Jun 28, 2022
698c623
Fix typo in JavaDoc
LlmDl Aug 3, 2022
1af24b2
Fix typo in JavaDoc
LlmDl Aug 3, 2022
7c7d0ab
Implement requested changes.
LlmDl Aug 3, 2022
3ed3ad7
Merge branch 'master' into feature/uuid_support
LlmDl Dec 10, 2023
d739d52
Replace double usage with BigDecimal, to bring Vault2 further into the
LlmDl Dec 11, 2023
79bb998
Remove unneeded space in the readme, while we're already altering the
LlmDl Dec 11, 2023
b52495b
Alter readme to use BigDecimal in example.
LlmDl Dec 11, 2023
c491a54
Rebranded to VaultUnlocked because accepting PRs and adding actual im…
creatorfromhell Jun 12, 2024
5776aaf
Update Maven compiler plugin
creatorfromhell Jun 12, 2024
7d94726
Update README.md.
creatorfromhell Jun 12, 2024
3fb336e
Remove abstracteconomy, it wasn't even that abstract
creatorfromhell Jun 12, 2024
6e69e20
Update gitignore
creatorfromhell Jun 12, 2024
ab14d7f
Update gitignore
creatorfromhell Jun 12, 2024
d7441f2
Merge branch 'pr/138'
creatorfromhell Jun 12, 2024
6a88d39
Cleanup code from vault2.
creatorfromhell Jun 12, 2024
eb5b5c6
Multicurrency support, and plugin name for transactions to attach sou…
creatorfromhell Jun 12, 2024
b4ff409
List -> collection.
creatorfromhell Jun 12, 2024
9f70379
Optional for last known name since it could not exist depending on ca…
creatorfromhell Jun 12, 2024
41028be
Add alt format method.
creatorfromhell Jun 12, 2024
b4267e3
Update pom.
creatorfromhell Jun 12, 2024
a36fcb4
Update pom.
creatorfromhell Jun 12, 2024
4f68b49
Add NotNull to specific methods for clarity.
creatorfromhell Jun 13, 2024
f60ac4f
Update README.md
creatorfromhell Jun 13, 2024
f158f98
Update version.
creatorfromhell Aug 11, 2024
92bc7ae
Update Version; Readd AbstractEconomy to old source branch.
creatorfromhell Aug 25, 2024
741f317
Replace banks with accounts that have members and permissions.
creatorfromhell Aug 30, 2024
ff79045
Added "String pluginName" parameter to display function
Fedjoyd Oct 6, 2024
c6c69d6
Update maven.yml
creatorfromhell Oct 6, 2024
f781fc9
Update maven.yml
creatorfromhell Oct 6, 2024
b5e6492
Update maven.yml
creatorfromhell Oct 6, 2024
85f8288
Update maven.yml
creatorfromhell Oct 6, 2024
f098820
Merge pull request #10 from Fedjoyd/patch-1
creatorfromhell Oct 6, 2024
69b46bf
Update Version, Add Component for format methods, add deprecation.
creatorfromhell Oct 6, 2024
a6107cb
Add parameters config to the compiler configs.
creatorfromhell Oct 11, 2024
ebdabeb
Bump to 2.7, remove Component requirement.
creatorfromhell Oct 23, 2024
fc0f108
Update license header to LGPL for AccountPermission.
creatorfromhell Oct 23, 2024
6579ca3
Add deleteAccount method, and update parameters to be final for consi…
creatorfromhell Oct 23, 2024
5725fb0
Add new createAccount methods with parameter to indicate if player ac…
creatorfromhell Dec 18, 2024
1eb37ed
Add deprecations to old createAccount Methods, and update version
creatorfromhell Dec 20, 2024
c876bf3
Merge pull request #12 from TheNewEconomy/feat/non-player-method
creatorfromhell Dec 20, 2024
537ef58
Add annotations to Economy API classes.
creatorfromhell Dec 28, 2024
3326373
Upload Economy Badge standards.
creatorfromhell Dec 28, 2024
78a686a
Add economy badge files.
creatorfromhell Dec 29, 2024
88bc5be
Add deprecated javadocs and annotations with as of version.
creatorfromhell Dec 29, 2024
e23ee01
Add issue templates for feature request and badge review.
creatorfromhell Dec 29, 2024
af9db98
Add changelog files to repository.
creatorfromhell Dec 29, 2024
bca7291
Updated comments in deprecateed method Javadocs, and README version.
creatorfromhell Dec 29, 2024
f52750c
Update more comments in javadocs.
creatorfromhell Dec 29, 2024
d7e380d
Modify badge review standard and issue template.
creatorfromhell Dec 29, 2024
351823f
Merge pull request #13 from TheNewEconomy/feat/annotation
creatorfromhell Dec 29, 2024
465a989
Update README.md
creatorfromhell Dec 29, 2024
d52b7bb
Update request-badge-review.yml
creatorfromhell Dec 29, 2024
65b2f3f
Add set method to Economy.java
creatorfromhell Mar 27, 2025
ea41b20
Update maven.yml
ThatPotatoDev Apr 4, 2025
68c75b9
Merge pull request #16 from MCdragonmasters/master
creatorfromhell Apr 4, 2025
1afad2c
Update release.yml
creatorfromhell Apr 4, 2025
afb3b0b
Update release.yml
creatorfromhell Apr 4, 2025
ccc0b35
Update release.yml
creatorfromhell Apr 4, 2025
698e841
Update javadocs.
creatorfromhell Apr 4, 2025
f2503f4
Merge branch 'master' of https://github.com/TheNewEconomy/VaultUnlock…
creatorfromhell Apr 4, 2025
99e2bc9
Update javadocs.
creatorfromhell Apr 4, 2025
fbc63e1
Update javadocs.
creatorfromhell Apr 5, 2025
e27b13e
Update release.yml
creatorfromhell Apr 5, 2025
111644c
Create javadoc.yml
creatorfromhell Apr 5, 2025
5f75dad
Update javadocs.
creatorfromhell Apr 5, 2025
d1fcf71
Update javadoc.yml
creatorfromhell Apr 5, 2025
bf5f1a2
Delete .github/workflows/release.yml
creatorfromhell Apr 5, 2025
1bbc0fd
Update README.md
creatorfromhell Apr 5, 2025
aac434f
Update README.md
creatorfromhell Apr 5, 2025
983233c
Bump version.
creatorfromhell Jun 1, 2025
90ec400
Bump version.
creatorfromhell Jun 17, 2025
bb9fd92
Bump version.
creatorfromhell Jul 1, 2025
da09248
Bump version, add accountsOwnedBy, accountsMemberOf, accountsAccessTo…
creatorfromhell Jul 12, 2025
0b6539f
Update version to 2.15 and changelog for release
creatorfromhell Jul 23, 2025
20af028
Add Gradle to GitIgnore file
TheFlagCourier Jul 30, 2025
324c981
Add initial Gradle files
TheFlagCourier Jul 30, 2025
bf42fc0
Establish POM-Parity; Update wrapper to gradle 9.0.0; shorten dep names.
TheFlagCourier Aug 4, 2025
b84d7fa
Apply CodeMC Publishing Changes
TheFlagCourier Aug 4, 2025
45d44a4
Fix Missing "License" block
TheFlagCourier Aug 4, 2025
3417997
Removed usage of @NotNull on primitive type
ThomasWega Aug 5, 2025
0b7455e
Merge pull request #21 from TheFlagCourier/master
creatorfromhell Aug 5, 2025
2494d9b
Merge pull request #22 from ThomasWega/patch-1
creatorfromhell Aug 5, 2025
07824e0
Update repository URLs, and CI workflows
creatorfromhell Aug 5, 2025
233a0ce
Merge pull request #23 from TheNewEconomy/fix/README-gradle
creatorfromhell Aug 5, 2025
c04612c
Replace `mavenLocal()` with `mavenCentral()` in `build.gradle.kts` an…
creatorfromhell Aug 6, 2025
bd77abb
Update plugin URL in `build.gradle.kts` and add overloaded `fractiona…
creatorfromhell Aug 6, 2025
25f0eba
Update to 1.21.9
creatorfromhell Oct 1, 2025
2092a52
Update gradle build version number.
creatorfromhell Oct 1, 2025
b3d90e4
Update changelog files for work towards 2.17.
creatorfromhell Oct 6, 2025
a28b15d
Update changelog and `Economy` interface for 2.17
creatorfromhell Oct 27, 2025
72d0af9
Merge pull request #25 from TheNewEconomy/feat/doc-and-method-consist…
creatorfromhell Oct 27, 2025
14d2340
Remove `Permission` class from VaultAPI.
creatorfromhell Nov 24, 2025
c62043a
Remove `Chat` class from VaultAPI.
creatorfromhell Nov 24, 2025
47878ee
Refactor group-related methods in `Permission` and `Chat` APIs for co…
creatorfromhell Jan 10, 2026
374b22b
Make `Subject` fields immutable and add `fromPlayer` factory method.
creatorfromhell Jan 10, 2026
8c2c164
Add context and subject enhancements, new async operations, and docum…
creatorfromhell Jan 10, 2026
3fad1dc
Extract `fromPlayer` method to new `BukkitHelper` class and remove fr…
creatorfromhell Jan 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .badge/economy badge.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .badge/economy badge.psd
Binary file not shown.
12 changes: 12 additions & 0 deletions .changelog/2.10.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# 2.10.0

## API Changes
- Implemented set api methods, which can be used to set the balance for accounts.
```java
EconomyResponse set(@NotNull final String pluginName, @NotNull final UUID accountID, @NotNull final BigDecimal amount);
EconomyResponse set(@NotNull final String pluginName, @NotNull final UUID accountID, @NotNull final String worldName, @NotNull final BigDecimal amount);
EconomyResponse set(@NotNull final String pluginName, @NotNull final UUID accountID, @NotNull final String worldName, @NotNull final String currency, @NotNull final BigDecimal amount);
```

# 2.13
- Added support for 1.21.7
39 changes: 39 additions & 0 deletions .changelog/2.14.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# 2.14
- Added a few new methods for grabbing accounts that specific accounts have access to.
```java

/**
* Retrieves a list of account IDs owned by the specified account ID.
*
* @param pluginName the name of the plugin
* @param accountID the unique identifier of the account
* @return a list of account names owned by the specified account ID
*
* @since 2.14
*/
List<String> accountsOwnedBy(@NotNull final String pluginName, @NotNull final UUID accountID)

/**
* Retrieves a list of account IDs that the specified account is a member of.
*
* @param pluginName the name of the plugin
* @param accountID the UUID of the account to check membership for
* @return a List of String values representing the accounts that the account is a member of
*
* @since 2.14
*/
List<String> accountsMemberOf(@NotNull final String pluginName, @NotNull final UUID accountID)

/**
* Retrieves a list of account IDs that the specified account has the specified permissions for.
*
* @param pluginName the name of the plugin
* @param accountID the UUID of the account to check access for
* @param permissions variable number of permissions to check for
* @return a list of accounts that the account has the specified permissions to
*
* @since 2.14
*/
List<String> accountsAccessTo(@NotNull final String pluginName, @NotNull final UUID accountID, @NotNull final AccountPermission... permissions)

```
2 changes: 2 additions & 0 deletions .changelog/2.15.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# 2.15
- Added support for 1.21.7
2 changes: 2 additions & 0 deletions .changelog/2.16.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# 2.16
- Added support for 1.21.9
17 changes: 17 additions & 0 deletions .changelog/2.17.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 2.17
- Added support for 1.21.10
- Added clarity to documentation for default behavior if the provider doesn't support share accounts.
- Added clarity to documentation for default behavior if the provider does not support multi-currency.
- Added clarity to documentation for default behavior if the provider doesn't support multiple worlds.
- Deprecated ```List<String> accountsAccessTo(@NotNull final String pluginName, @NotNull final UUID accountID, @NotNull final AccountPermission... permissions)```
- This method will be removed in a future release as the string return allows ambiguity.
- Deprecated ```List<String> accountsMemberOf(@NotNull final String pluginName, @NotNull final UUID accountID)```
- This method will be removed in a future release as the string return allows ambiguity.
- Deprecated ```List<String> accountsOwnedBy(@NotNull final String pluginName, @NotNull final UUID accountID)```
- This method will be removed in a future release as the string return allows ambiguity.
- Added ```List<UUID> accountsWithAccessTo(@NotNull final String pluginName, @NotNull final UUID accountID, @NotNull final AccountPermission... permissions)```
- This method is a replacement for the now deprecated ```List<String> accountsAccessTo(@NotNull final String pluginName, @NotNull final UUID accountID, @NotNull final AccountPermission... permissions)```
- Added ```List<UUID> accountsWithMembershipTo(@NotNull final String pluginName, @NotNull final UUID accountID)```
- This method is a replacement for the now deprecated ```List<String> accountsMemberOf(@NotNull final String pluginName, @NotNull final UUID accountID)```
- Added ```List<UUID> accountsWithOwnerOf(@NotNull final String pluginName, @NotNull final UUID accountID)```
- This method is a replacement for the now deprecated ```List<String> accountsOwnedBy(@NotNull final String pluginName, @NotNull final UUID accountID)```
5 changes: 5 additions & 0 deletions .changelog/2.18.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# 2.18

## API Changes
- Revamped Permission API to include a modern permission API for VaultUnlocked specifically.
- Revamped Chat API to include a modern chat API for VaultUnlocked specifically.
16 changes: 16 additions & 0 deletions .changelog/2.9.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# 2.9.0

## API Changes
- Added standards for minimum Vault Unlocked Support. Projects that meet these standards may request
a review to use the badge associated with the API type(economy, etc) that they use.
- Added balance methods in same format as the old getBalance methods.

## Plugin Changes

## Fixes

## Deprecations
- Deprecated getBalance methods, these are marked for removal in 3 releases. Use balance methods instead.
- Deprecated createAccount methods without nonPlayer. Use the methods that include the nonPlayer parameter.

## Removals
11 changes: 11 additions & 0 deletions .changelog/template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Version

## API Changes

## Plugin Changes

## Fixes

## Deprecations

## Removals
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/request-a-feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Feature Request
description: Suggest a feature to be added in order to help Vault Unlocked improve.
title: "[FEAT]: "
labels: [ "feature" ]
assignees:
- creatorfromhell

body:
- type: markdown
attributes:
value: Thanks for helping to improve Vault Unlocked with feature requests!
- type: textarea
attributes:
label: Feature Description
description: Describe the feature you're requesting to be added here.
placeholder: |
Example: "Add a new method that gives everyone funds!"
validations:
required: true
- type: textarea
attributes:
label: Reasoning
description: Why should this be added? What is the use-case?
placeholder: |
Example: "Global wealth!@#!@#!"
validations:
required: true
108 changes: 108 additions & 0 deletions .github/ISSUE_TEMPLATE/request-badge-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: BADGE REVIEW
description: Request a review of a project for a Vault Unlocked Support Badge.
title: "[BADGE REVIEW]: "
labels: [ "badge review" ]
assignees:
- creatorfromhell

body:
- type: dropdown
id: dropdown-1
attributes:
label: Badge Type
description: The type of badge that is being requested.
options:
- Economy
default: 0
validations:
required: true
- type: input
id: input-2
attributes:
label: Project Name
description: The name of your project
placeholder: Example Project
validations:
required: true
- type: input
id: input-3
attributes:
label: Project URL
description: The URL of your project.
placeholder: https://tnemc.net
validations:
required: true
- type: input
id: input-4
attributes:
label: Source URL
description: The source of your project.
placeholder: https://github.com/TheNewEconomy/VaultUnlockedAPI
validations:
required: true

### Economy Plugin Checklist

- type: checkboxes
id: core-functionality
attributes:
label: Core Functionality
description: Implement all required functionality from the Economy interface.
options:
- label: "Fully implement all non-default methods from the Economy interface"
required: false
- label: "Implement boolean hasSharedAccountSupport()"
required: false
- label: "Implement boolean hasMultiCurrencySupport()"
required: false
- label: "Default to the base currency if multi-currency functionality is not supported"
required: false
- label: "Specify lack of multi-currency support on the project page or GitHub repository"
required: false

- type: checkboxes
id: optional-features
attributes:
label: Optional Features
description: Implement optional shared account methods.
options:
- label: "Implement createSharedAccount(String pluginName, UUID accountID, String name, UUID owner)"
required: false
- label: I confirm that I have not read these checkboxes, so I just ticked them all.
required: false
- label: "Implement isAccountOwner(String pluginName, UUID accountID, UUID uuid)"
required: false
- label: "Implement addAccountMember(String pluginName, UUID accountID, UUID uuid, AccountPermission... permissions)"
required: false
- label: "Implement removeAccountMember(String pluginName, UUID accountID, UUID uuid)"
required: false
- label: "Implement hasAccountPermission(String pluginName, UUID accountID, UUID uuid, AccountPermission permission)"
required: false
- label: "Implement updateAccountPermission(String pluginName, UUID accountID, UUID uuid, AccountPermission permission, boolean value)"
required: false

- type: checkboxes
id: user-plugin-methods
attributes:
label: Economy User Plugin Methods
description: Implement the required methods for Economy User Plugins.
options:
- label: "Implement balance(String pluginName, UUID accountID)"
required: false
- label: "Implement withdraw(String pluginName, UUID accountID, BigDecimal amount)"
required: false
- label: "Implement deposit(String pluginName, UUID accountID, BigDecimal amount)"
required: false

- type: checkboxes
id: multi-currency-support
attributes:
label: Multi-Currency Support
description: Verify and document multi-currency support.
options:
- label: "Properly implement hasMultiCurrencySupport() and ensure it returns true if supported"
required: false
- label: "Provide functional implementation for currencies()"
required: false
- label: "Provide functional implementation for getDefaultCurrency(String pluginName)"
required: false
49 changes: 49 additions & 0 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Java CI with Gradle

on:
push:
branches:
- master
- main

pull_request:
branches:
- master
- main

jobs:
build:

runs-on: ubuntu-latest

steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
cache: gradle


- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4

- name: Build with Gradle
run: ./gradlew build

- uses: actions/upload-artifact@v4
with:
name: VaultUnlockedAPI
path: |
**/build/libs/*.jar
37 changes: 37 additions & 0 deletions .github/workflows/javadoc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Deploy Javadoc

on:
push:
branches:
- master
- main

jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: write # if you have a protection rule on your repository, you'll need to give write permission to the workflow.

steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
cache: gradle


- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4

- name: Deploy JavaDoc 🚀
uses: MathieuSoysal/Javadoc-publisher.yml@v3.0.2
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
javadoc-branch: gh-pages
java-version: 21
target-folder: javadoc # url will be https://<username>.github.io/<repo>/javadoc, This can be left as nothing to generate javadocs in the root folder.
project: gradle
17 changes: 9 additions & 8 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,25 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up JDK 1.8
uses: actions/setup-java@v1
uses: actions/setup-java@v3
with:
java-version: 1.8
java-version: '8'
distribution: 'temurin'
- name: Cache Maven packages
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build Release
run: mvn -B package --file pom.xml
- name: Build javadoc
run: mvn -B javadoc:jar --file pom.xml
#- name: Build javadoc
# run: mvn -B javadoc:jar --file pom.xml
- name: Stage the artifact
run: mkdir staging && cp target/*.jar staging
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
with:
name: VaultAPI
name: VaultUnlockedAPI
path: staging
Loading