Compare commits

...
Author SHA1 Message Date
Luck e9ea98e84e Integration tests against real server 2023-09-22 20:41:48 +01:00
Luck f12d3cd8ba Fix race error in bulk update integration test 2023-08-05 10:49:57 +01:00
Luck 71416baff2 Use driver class instead of datasource for Postgres (#3705) 2023-08-05 10:28:01 +01:00
Luck b8d1f52d7d Use ansi component serializer 2023-08-05 10:09:30 +01:00
Luck 6d8b6bd3fe Add jacoco report gradle plugin 2023-08-05 09:49:56 +01:00
Luck 8fbd79139d Add missing future join call to storage test 2023-06-25 22:36:31 +01:00
Luck 9f4082ca0b Add more unit/integration tests 2023-06-25 22:25:42 +01:00
Luck 77a5a7b41f Print test output when ran through Gradle 2023-06-25 14:47:37 +01:00
Luck f788088a69 Delete temporary H2 v1 to v2 migration script if exists (#3693) 2023-06-25 14:26:06 +01:00
powercas_gamer 7297fb862c whoops (#3691) 2023-06-24 09:12:06 +01:00
powercas_gamer 35dfc2c8f5 Render minimessage in prefix/suffix/meta values (#3672) 2023-06-24 00:24:16 +01:00
powercas_gamer 86cc90f48a Refactor gradle plugin version handling (#3665) 2023-06-24 00:15:03 +01:00
Mart feef08a256 Update GitHub URLs to new location (#3686) 2023-06-23 23:34:11 +01:00
Dominik 7a59536450 Add support for redis cluster (#3670) 2023-06-23 23:30:22 +01:00
Luck 9f1e74fa7c Fix user deletion not being correctly processed on SQL backends (#3664) 2023-06-18 21:38:19 +01:00
Luck 5dd808752c Update Forge/Fabric to 1.20.1 2023-06-14 21:28:21 +01:00
Drex 3542a6cc75 Improve console detection on Fabric/Forge (#3673) 2023-06-14 21:25:25 +01:00
powercas_gamer acd8d6e5a1 Include standalone data directory in gitignore (#3671) 2023-06-14 21:19:22 +01:00
Luck 081a4f8651 Fix Forge reobf shadowjar (#3675) 2023-06-14 21:18:24 +01:00
Luck 2e5a1d79a4 Switch back to official Postgres JDBC driver 2023-06-11 14:36:00 +01:00
LuckandAurelien d859085056 Update Fabric/Forge to Minecraft 1.20
Co-authored-by: Aurelien <aurelien.domino@gmail.com>
2023-06-11 11:17:17 +01:00
Luck da08be0b20 Fix github action to fetch repo with tags 2023-06-08 22:16:16 +01:00
Luck 8048427b38 Tag docker images with LP version 2023-06-08 22:01:21 +01:00
Luck 6d2a5a6317 Fix issues with postgres storage backend (#3647) 2023-06-08 21:28:15 +01:00
Luck 84bd2ee52a Add more tests 2023-05-02 00:07:48 +01:00
Luck bd08507150 Add automated tests for commands 2023-05-01 15:07:20 +01:00
Kamillaova 6d4ed224c8 Update mariadb driver (#3583) 2023-05-01 10:00:19 +01:00
Luck 9640271260 Reattempt RabbitMQ connection on first attempt 2023-05-01 10:00:05 +01:00
Josh cfe0d806a1 Add date on hover to actionlog (#3597) 2023-05-01 09:32:18 +01:00
Luck ef85fa8941 Fix docker tests 2023-05-01 09:31:39 +01:00
Luck 0ae751b533 Reformat import statements 2023-04-30 21:27:42 +01:00
lucko 90392511ef Implement messenger using Postgres listen/notify (#3641) 2023-04-30 21:09:43 +01:00
Luck 4068c71d5a Add integration tests for storage and messaging 2023-04-01 21:39:08 +01:00
Luck 6523e708a1 Add more tests 2023-04-01 17:35:50 +01:00
Luck e61ac8bef6 Add tests for messages/components/translations 2023-03-29 23:03:28 +01:00
Emily 85a49f0f44 Handle invalid empty command inputs (#3606) 2023-03-29 23:01:25 +01:00
Emily 1fb62d2616 Cleanup classloaders on shutdown (#3605) 2023-03-19 21:35:09 +00:00
Luck 5631a8be43 Compile forge/fabric against MC 1.19.4 2023-03-15 18:56:08 +00:00
bloodmc 62f2fc9714 Fix Forge player data corrupted on respawn (#3557, #3584, #3596, #3601) 2023-03-13 08:58:39 +00:00
Luck 536c9183fe Fix Nukkit maven repo 2023-03-07 22:18:22 +00:00
Glare 4037570fbb Add 'paste' to verbose command tab completions (#3598) 2023-03-01 23:29:35 +00:00
Emily 1f8b66cfe3 Fix suffix.duplicates config setting being ignored (#3592, #3590) 2023-02-19 18:00:11 +00:00
Luck ce6031ad52 Fix obtaining UserCapability on Forge for respawned players 2023-02-12 14:29:08 +00:00
Luck 1bfbd27701 Update fabric/forge versions 2023-01-29 11:01:00 +00:00
nikijaz a5ba53d765 Restore offline mode support for Fabric servers (#3576) 2023-01-29 10:41:38 +00:00
lucko 3ecdeacaf8 Add more unit tests (#3555) 2023-01-05 21:32:50 +00:00
J.T. McQuigg 4d726f4e8b Update Forge and Fabric to 1.19.3 (#3550) 2023-01-01 22:14:07 +00:00
Luck ed9dd031cb Add basic rate-limit for commands (#3546) 2022-12-28 22:49:41 +00:00
Luck 8e1553c0ed Use unix domain socket for Docker commands 2022-12-10 23:41:33 +00:00
Luck 5555cdac89 Update nukkit maven repository 2022-11-27 14:22:09 +00:00
Kacper Krzychała 0193c06f16 Add Nats messenger (#3525) 2022-11-26 18:06:15 +00:00
Luck 5ff9a12a72 Preload dependencies in Docker image 2022-10-22 00:07:49 +01:00
Drex dc22847fa3 Fabric offline permission check event (#3504) 2022-10-16 14:50:23 +01:00
Luck e35f46798b Upgrade h2 database engine to v2 (#3458) 2022-10-16 14:28:59 +01:00
Luck 495d951556 Declare module name for API (#3482) 2022-09-30 21:10:15 +01:00
maxcom1 8bbb6994b6 Don't pretty-print '/lp export' json (#3489) 2022-09-30 20:32:37 +01:00
Luck 44470c8843 Fix yaml usage on Forge/Fabric (#3381) 2022-09-30 20:20:57 +01:00
OOP-778 1790c0ad47 Fix concurrent errors in URLClassLoaderAccess (#3403) 2022-09-05 21:39:52 +01:00
BlockyTheDev a2e4a81e29 Update Paper maven repo (#3393) 2022-09-05 21:38:31 +01:00
Luck afc69046ad Fabric 1.19.2 2022-09-05 21:37:39 +01:00
Luck b6b3788f14 Change socket is verified check 2022-09-05 21:37:39 +01:00
CDAGaming 6e0e0e8ae9 Forge 1.19.2 (#3477) 2022-09-05 21:30:12 +01:00
Luck b1953632c5 Add healthcheck for standalone app 2022-08-05 20:33:33 +01:00
Luck fe0cb2df25 Fix Bukkit tab complete (#3449) 2022-08-03 22:14:11 +01:00
IzzelAliz 8ebdbdbf0b Fix Forge user data sometimes missing after switching worlds (#3447) 2022-08-03 20:46:22 +01:00
Potatoboy9999 106455a311 Fabric 1.19.1 (#3437) 2022-08-03 20:45:34 +01:00
Luck 55d291f975 Update dependencies for 1.19.1 support (#3440) 2022-08-03 20:14:14 +01:00
Alex Thomson ad08b158f7 Forge 1.19 (#3397) 2022-07-24 16:06:32 +01:00
Luck 48e5f428b5 Change standalone image name 2022-07-20 23:29:01 +01:00
Luck d36341c139 Implement standalone/cli app 2022-07-20 23:14:40 +01:00
Luck 8b0d6fd5d2 Fix compile 2022-07-18 21:38:44 +01:00
Luck fbc0787a1e Implement Fabric meta/options API 2022-07-17 11:54:14 +01:00
Luck bf93077474 MetaCache refactoring 2022-07-17 11:53:52 +01:00
Luck 016f35a6f0 Update Bukkit dependencies for full 1.19 support 2022-06-12 20:54:33 +01:00
Luck 9b2bbb3e53 Bump adventure version 2022-06-12 17:48:29 +01:00
lucko 79a08610e0 Increase memory allocation for Gradle 2022-06-12 10:55:51 +01:00
Aurélien 7824566ce5 Fabric 1.19 (#3394) 2022-06-11 21:14:14 +01:00
IzzelAliz a368509520 Use Forge default resolver when result is undefined (#3390) 2022-06-06 18:39:13 +01:00
Luck 62a8891b48 Fix buildscript 2022-05-20 20:12:56 +01:00
Alex Thomson 6421525f3a LuckPerms for Forge (#3262) 2022-05-20 20:09:04 +01:00
Luck 65a4c67745 Fix bug in Sponge PermissionServiceProxy 2022-05-19 18:12:42 +01:00
Luck e6cc817436 Update nexus mirror url 2022-05-15 18:22:21 +01:00
Luck c35958b88e Fix plugin message string encoding inconsistency (#3364) 2022-04-24 11:41:02 +01:00
Emily e0ee2c3b5f Resolve command entity selectors on Fabric (#3363) 2022-04-24 09:44:24 +01:00
Luck b3cdf67c4f Add error logging for failed plugin message parse (#3364) 2022-04-24 09:33:33 +01:00
Luck 207e4aa9f8 Show table prefix in a different colour 2022-04-08 21:02:31 +01:00
Zeromaniac 34873914bd Show sql table prefix if set in '/lp info' (#3360) 2022-04-08 20:35:40 +01:00
Luck 126631fce8 Load configuration from env or system props (#3294) 2022-04-03 15:21:18 +01:00
Luck 2e0a4d71a5 Fix redis close (#3353) 2022-03-27 16:50:31 +01:00
Luck 5647b2e5c6 Shutdown okhttp on plugin disable (#3347) 2022-03-23 20:15:03 +00:00
Luck eece15d415 Close web editor sockets on plugin disable (#3326) 2022-03-20 10:45:59 +00:00
Luck fb56189f0a Improve AbstractJavaScheduler (#3326) 2022-03-19 23:30:39 +00:00
Marton Schneider 405c5c3cf9 Fix typo with env var reading (#3345)
* resolves LuckPerms/LuckPerms#3339

* change server name from env var => add to a separate option for this

* fix missing variable assignment
2022-03-18 21:01:01 +00:00
Marton Schneider eeec818286 Allow server name to be specified with an env var (#3341) 2022-03-16 21:01:21 +00:00
Luck 138f2c1b3e Provide snakeyaml for Fabric (#3325) 2022-02-28 20:45:15 +00:00
Luck f840c76e44 Don't pretty-print exporter json (#3329) 2022-02-28 20:33:00 +00:00
Luck 775f1adf36 Support for command completions on Bukkit 1.18.2 2022-02-28 20:20:30 +00:00
Luck 8ed63159ce Set mongodb uuid representation (#3324) 2022-02-27 13:17:12 +00:00
Luck 4bdcca6566 Update mongodb driver 2022-02-20 22:41:58 +00:00
lucko b235234633 Sponge use jar-in-jar loader 2022-02-17 00:22:46 +00:00
Luck 5c8b0a604e Maintain order in editor users/groups collection 2022-02-16 19:53:33 +00:00
Luck 86d2523d33 Fix SpongePlayerCalculator errors 2022-02-11 23:25:31 +00:00
Luck 3eca6205ab Fix API buildscript 2022-02-09 22:15:09 +00:00
764 changed files with 17338 additions and 2313 deletions

No files matched your search

+127
View File
@@ -0,0 +1,127 @@
name: Build Gradle and Publish Docker image
on:
push:
branches:
- 'master'
tags:
- 'v*'
pull_request:
branches:
- 'master'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build-gradle:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: validate gradle wrapper
uses: gradle/wrapper-validation-action@v1
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Run build and tests with Gradle wrapper
run: ./gradlew test build -PdockerTests
- name: Publish test report
uses: mikepenz/action-junit-report@v3
if: success() || failure()
with:
report_paths: '**/build/test-results/test/TEST-*.xml'
annotate_notice: true
detailed_summary: true
- name: Upload all artifacts
uses: actions/upload-artifact@v3
with:
name: jars
path: |
bukkit/loader/build/libs/LuckPerms-Bukkit-*.jar
bukkit-legacy/loader/build/libs/LuckPerms-Bukkit-Legacy-*.jar
bungee/loader/build/libs/LuckPerms-Bungee-*.jar
sponge/loader/build/libs/LuckPerms-Sponge-*.jar
nukkit/loader/build/libs/LuckPerms-Nukkit-*.jar
velocity/build/libs/LuckPerms-Velocity-*.jar
fabric/build/libs/LuckPerms-Fabric-*.jar
forge/loader/build/libs/LuckPerms-Forge-*.jar
standalone/loader/build/libs/LuckPerms-Standalone-*.jar
- name: Upload standalone artifact
uses: actions/upload-artifact@v3
with:
name: standalone-binary
path: standalone/loader/build/libs/LuckPerms-Standalone-*.jar
build-docker:
needs: build-gradle
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Retrieve saved standalone jar artifact
uses: actions/download-artifact@v3
with:
name: standalone-binary
path: standalone/docker/
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Log in to the Container registry
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Determine the LuckPerms version
run: |
echo "luckperms_version=$(git describe --tags | awk -F "-" '{print $1 "." $2}')" >> "$GITHUB_ENV"
- name: Extract metadata for Docker
id: meta
uses: docker/metadata-action@v3
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
flavor: |
latest=${{ github.ref == 'refs/heads/master' }}
tags: |
type=schedule
type=ref,event=branch
type=ref,event=tag
type=ref,event=pr
type=raw,enable=${{ github.ref == 'refs/heads/master' }},value=${{ env.luckperms_version }}
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: standalone/docker/
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
+3
View File
@@ -1,3 +1,6 @@
### LuckPerms Standalone ###
standalone/loader/data/
### Gradle & IntelliJ ###
.gradle/
/.idea/
+2 -2
View File
@@ -8,7 +8,7 @@ Before reporting a bug or issue, please make sure that the issue is actually bei
If you're unsure, feel free to ask using the above resources BEFORE making a report.
Bugs or issues should be reported using the [GitHub Issues tab](https://github.com/lucko/LuckPerms/issues).
Bugs or issues should be reported using the [GitHub Issues tab](https://github.com/LuckPerms/LuckPerms/issues).
### :pencil: Want to contribute code?
#### Pull Requests
@@ -23,4 +23,4 @@ The project is split up into a few separate modules.
* **API** - The public, semantically versioned API used by other plugins wishing to integrate with and retrieve data from LuckPerms. This module (for the most part) does not contain any implementation itself, and is provided by the plugin.
* **Common** - The common module contains most of the code which implements the respective LuckPerms plugins. This abstract module reduces duplicated code throughout the project.
* **Bukkit, BungeeCord, Sponge, Nukkit, Velocity & Fabric** - Each use the common module to implement plugins on the respective server platforms.
* **Bukkit, BungeeCord, Fabric, Forge, Nukkit, Sponge & Velocity** - Each use the common module to implement plugins on the respective server platforms.
+10 -4
View File
@@ -24,18 +24,24 @@ For more information, see the wiki article on [Why LuckPerms?](https://luckperms
LuckPerms uses Gradle to handle dependencies & building.
#### Requirements
* Java 8 JDK or newer
* Java 17 JDK or newer
* Git
#### Compiling from source
```sh
git clone https://github.com/lucko/LuckPerms.git
git clone https://github.com/LuckPerms/LuckPerms.git
cd LuckPerms/
./gradlew build
```
You can find the output jars in the `loader/build/libs` or `build/libs` directories.
## Tests
There are some automated tests which run during each build.
* Unit tests are defined in [`common/src/test`](https://github.com/LuckPerms/LuckPerms/tree/master/common/src/test)
* Integration tests are defined in [`standalone/src/test`](https://github.com/LuckPerms/LuckPerms/tree/master/standalone/src/test).
## Contributing
#### Pull Requests
If you make any changes or improvements to the plugin which you think would be beneficial to others, please consider making a pull request to merge your changes back into the upstream project. (especially if your changes are bug fixes!)
@@ -47,7 +53,7 @@ The project is split up into a few separate modules.
* **API** - The public, semantically versioned API used by other plugins wishing to integrate with and retrieve data from LuckPerms. This module (for the most part) does not contain any implementation itself, and is provided by the plugin.
* **Common** - The common module contains most of the code which implements the respective LuckPerms plugins. This abstract module reduces duplicated code throughout the project.
* **Bukkit, BungeeCord, Sponge, Fabric, Nukkit & Velocity** - Each use the common module to implement plugins on the respective server platforms.
* **Bukkit, BungeeCord, Fabric, Forge, Nukkit, Sponge & Velocity** - Each use the common module to implement plugins on the respective server platforms.
## License
LuckPerms is licensed under the permissive MIT license. Please see [`LICENSE.txt`](https://github.com/lucko/LuckPerms/blob/master/LICENSE.txt) for more info.
LuckPerms is licensed under the permissive MIT license. Please see [`LICENSE.txt`](https://github.com/LuckPerms/LuckPerms/blob/master/LICENSE.txt) for more info.
+32 -29
View File
@@ -1,9 +1,15 @@
group = 'net.luckperms'
project.version = '5.3'
project.version = '5.4'
jar {
manifest {
attributes('Automatic-Module-Name': 'net.luckperms.api')
}
}
dependencies {
compileOnly 'org.checkerframework:checker-qual:3.12.0'
compileOnly 'org.jetbrains:annotations:20.1.0'
compileOnly 'org.checkerframework:checker-qual:3.21.2'
compileOnly 'org.jetbrains:annotations:23.1.0'
}
// Only used occasionally for deployment - not needed for normal builds.
@@ -18,12 +24,12 @@ if (project.hasProperty('sonatypeUsername') && project.hasProperty('sonatypePass
options.charSet = 'UTF-8'
options.links(
'https://checkerframework.org/api/',
'https://javadoc.io/static/org.jetbrains/annotations/20.1.0/'
'https://javadoc.io/static/org.jetbrains/annotations/23.0.0/'
)
options.addStringOption('Xdoclint:none', '-quiet')
options.addStringOption('-since', '5.0,5.1,5.2,5.3,5.4')
if (JavaVersion.current() > JavaVersion.VERSION_1_8) {
options.addBooleanOption('-no-module-directories', true)
options.links.add('https://docs.oracle.com/en/java/javase/11/docs/api/')
} else {
options.links.add('https://docs.oracle.com/javase/8/docs/api/')
@@ -45,11 +51,6 @@ if (project.hasProperty('sonatypeUsername') && project.hasProperty('sonatypePass
archives sourcesJar
}
signing {
useGpgCmd()
sign configurations.archives
}
publishing {
repositories {
maven {
@@ -73,44 +74,46 @@ if (project.hasProperty('sonatypeUsername') && project.hasProperty('sonatypePass
artifact javadocJar
pom {
name 'LuckPerms API'
description 'A permissions plugin for Minecraft servers.'
url 'https://luckperms.net'
name = 'LuckPerms API'
description = 'A permissions plugin for Minecraft servers.'
url = 'https://luckperms.net'
licenses {
license {
name 'MIT'
url 'https://opensource.org/licenses/MIT'
name = 'MIT'
url = 'https://opensource.org/licenses/MIT'
}
}
developers {
developer {
id 'lucko'
name 'Luck'
url 'https://lucko.me'
email 'git@lucko.me'
id = 'lucko'
name = 'Luck'
url = 'https://lucko.me'
email = 'git@lucko.me'
}
}
scm {
connection 'scm:git:https://github.com/lucko/LuckPerms.git'
developerConnection 'scm:git:git@github.com:lucko/LuckPerms.git'
url 'https://github.com/lucko/LuckPerms'
}
ciManagement {
system 'Jenkins'
url 'https://ci.lucko.me/job/LuckPerms'
connection = 'scm:git:https://github.com/LuckPerms/LuckPerms.git'
developerConnection = 'scm:git:git@github.com:LuckPerms/LuckPerms.git'
url = 'https://github.com/LuckPerms/LuckPerms'
}
issueManagement {
system 'GitHub'
url 'https://github.com/lucko/LuckPerms/issues'
system = 'GitHub'
url = 'https://github.com/LuckPerms/LuckPerms/issues'
}
}
}
}
}
signing {
useGpgCmd()
sign configurations.archives
sign publishing.publications.mavenJava
required = true
}
}
*/
+2 -1
View File
@@ -8,10 +8,11 @@
<li><a target="_top" href="https://luckperms.net">Project Website</a></li>
<li><a target="_top" href="https://luckperms.net/wiki/Developer-API">Wiki - API Introduction</a></li>
<li><a target="_top" href="https://luckperms.net/wiki/Developer-API-Usage">Wiki - API Usage</a></li>
<li><a target="_top" href="https://github.com/LuckPerms/LuckPerms">Source Code</a></li>
</ul>
<h4>Maven</h4>
<p>
The API artifact is deployed to Maven Central under
The API artifact is deployed to Maven Central with
<a target="_top" href="https://search.maven.org/artifact/net.luckperms/api">
group id: <b><code>net.luckperms</code></b>, artifact id: <b><code>api</code></b>.
</a>
@@ -46,7 +46,6 @@ import net.luckperms.api.platform.PluginMetadata;
import net.luckperms.api.query.QueryOptionsRegistry;
import net.luckperms.api.track.Track;
import net.luckperms.api.track.TrackManager;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.ApiStatus.Internal;
@@ -26,7 +26,6 @@
package net.luckperms.api.actionlog;
import net.luckperms.api.LuckPermsProvider;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -26,7 +26,6 @@
package net.luckperms.api.actionlog;
import net.luckperms.api.messaging.MessagingService;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.concurrent.CompletableFuture;
@@ -26,7 +26,6 @@
package net.luckperms.api.cacheddata;
import net.luckperms.api.query.QueryOptions;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -30,7 +30,6 @@ import net.luckperms.api.model.PermissionHolder;
import net.luckperms.api.model.group.Group;
import net.luckperms.api.model.user.User;
import net.luckperms.api.query.QueryOptions;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.concurrent.CompletableFuture;
@@ -29,7 +29,7 @@ import net.luckperms.api.metastacking.MetaStackDefinition;
import net.luckperms.api.node.types.MetaNode;
import net.luckperms.api.node.types.PrefixNode;
import net.luckperms.api.node.types.SuffixNode;
import net.luckperms.api.node.types.WeightNode;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.jetbrains.annotations.Unmodifiable;
@@ -177,6 +177,30 @@ public interface CachedMetaData extends CachedData {
return querySuffix().result();
}
/**
* Query for a weight.
*
* <p>This method will always return a {@link Result}, and the
* {@link Result#result() inner result} {@link Integer} will never be null.
* A value of {@code 0} is equivalent to null.</p>
*
* @return a result containing the weight
* @since 5.5
*/
@NonNull Result<Integer, WeightNode> queryWeight();
/**
* Gets the weight.
*
* <p>If the there is no defined weight, {@code 0} is returned.</p>
*
* @return the weight
* @since 5.5
*/
default int getWeight() {
return queryWeight().result();
}
/**
* Gets a map of all accumulated {@link MetaNode meta}.
*
@@ -27,7 +27,6 @@ package net.luckperms.api.cacheddata;
import net.luckperms.api.node.Node;
import net.luckperms.api.util.Tristate;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.Unmodifiable;
@@ -26,7 +26,6 @@
package net.luckperms.api.cacheddata;
import net.luckperms.api.node.Node;
import org.checkerframework.checker.nullness.qual.Nullable;
/**
@@ -28,7 +28,6 @@ package net.luckperms.api.context;
import net.luckperms.api.model.user.User;
import net.luckperms.api.query.QueryMode;
import net.luckperms.api.query.QueryOptions;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.ApiStatus.Internal;
@@ -26,7 +26,6 @@
package net.luckperms.api.context;
import net.luckperms.api.LuckPermsProvider;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.Objects;
@@ -26,7 +26,6 @@
package net.luckperms.api.context;
import net.luckperms.api.LuckPermsProvider;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.Objects;
@@ -26,7 +26,6 @@
package net.luckperms.api.event;
import net.luckperms.api.LuckPerms;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -28,7 +28,6 @@ package net.luckperms.api.event.context;
import net.luckperms.api.context.ContextManager;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.Optional;
@@ -28,7 +28,6 @@ package net.luckperms.api.event.extension;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.extension.Extension;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -29,7 +29,6 @@ import net.luckperms.api.cacheddata.CachedDataManager;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.model.group.Group;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -29,7 +29,6 @@ import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.cause.CreationCause;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.model.group.Group;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -29,7 +29,6 @@ import net.luckperms.api.cacheddata.CachedDataManager;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.model.group.Group;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -29,7 +29,6 @@ import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.cause.DeletionCause;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.node.Node;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.Set;
@@ -28,7 +28,6 @@ package net.luckperms.api.event.group;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.model.group.Group;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -29,7 +29,6 @@ import net.luckperms.api.actionlog.Action;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.type.Cancellable;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -29,7 +29,6 @@ import net.luckperms.api.actionlog.Action;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.type.Cancellable;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.UUID;
@@ -30,7 +30,6 @@ import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.type.Cancellable;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.platform.PlatformEntity;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -29,7 +29,6 @@ import net.luckperms.api.actionlog.Action;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.type.Cancellable;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -28,7 +28,6 @@ package net.luckperms.api.event.log;
import net.luckperms.api.actionlog.Action;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.UUID;
@@ -27,7 +27,6 @@ package net.luckperms.api.event.node;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.node.Node;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.Unmodifiable;
@@ -27,7 +27,6 @@ package net.luckperms.api.event.node;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.node.Node;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.Unmodifiable;
@@ -32,7 +32,6 @@ import net.luckperms.api.model.data.DataType;
import net.luckperms.api.model.group.Group;
import net.luckperms.api.model.user.User;
import net.luckperms.api.node.Node;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.Unmodifiable;
@@ -27,7 +27,6 @@ package net.luckperms.api.event.node;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.node.Node;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.Unmodifiable;
@@ -29,7 +29,6 @@ import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.model.PlayerSaveResult;
import net.luckperms.api.model.user.UserManager;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.UUID;
@@ -29,7 +29,6 @@ import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.model.user.User;
import net.luckperms.api.util.Result;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -28,7 +28,6 @@ package net.luckperms.api.event.player.lookup;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.type.ResultEvent;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.Objects;
@@ -28,7 +28,6 @@ package net.luckperms.api.event.player.lookup;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.type.ResultEvent;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -28,7 +28,6 @@ package net.luckperms.api.event.player.lookup;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.type.ResultEvent;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -27,7 +27,6 @@ package net.luckperms.api.event.player.lookup;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -26,7 +26,6 @@
package net.luckperms.api.event.source;
import net.luckperms.api.platform.PlatformEntity;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -26,7 +26,6 @@
package net.luckperms.api.event.source;
import net.luckperms.api.platform.PlatformEntity;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -28,7 +28,6 @@ package net.luckperms.api.event.sync;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.type.Cancellable;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.UUID;
@@ -29,7 +29,6 @@ import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.cause.CreationCause;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.track.Track;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -28,7 +28,6 @@ package net.luckperms.api.event.track;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.cause.DeletionCause;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.List;
@@ -28,7 +28,6 @@ package net.luckperms.api.event.track;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.track.Track;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -26,7 +26,6 @@
package net.luckperms.api.event.track.mutate;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -28,7 +28,6 @@ package net.luckperms.api.event.track.mutate;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.track.Track;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.Unmodifiable;
@@ -26,7 +26,6 @@
package net.luckperms.api.event.track.mutate;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -26,7 +26,6 @@
package net.luckperms.api.event.type;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -26,7 +26,6 @@
package net.luckperms.api.event.type;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.concurrent.atomic.AtomicReference;
@@ -27,7 +27,6 @@ package net.luckperms.api.event.type;
import net.luckperms.api.event.source.Source;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -29,7 +29,6 @@ import net.luckperms.api.cacheddata.CachedDataManager;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.model.user.User;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -29,7 +29,6 @@ import net.luckperms.api.cacheddata.CachedDataManager;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.model.user.User;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -27,7 +27,6 @@ package net.luckperms.api.event.user;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.UUID;
@@ -28,7 +28,6 @@ package net.luckperms.api.event.user;
import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.model.user.User;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -29,7 +29,6 @@ import net.luckperms.api.event.LuckPermsEvent;
import net.luckperms.api.event.type.Cancellable;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.model.user.User;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -30,7 +30,6 @@ import net.luckperms.api.event.type.Sourced;
import net.luckperms.api.event.util.Param;
import net.luckperms.api.model.user.User;
import net.luckperms.api.track.Track;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.Optional;
@@ -27,7 +27,6 @@ package net.luckperms.api.messaging;
import net.luckperms.api.LuckPerms;
import net.luckperms.api.model.user.User;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -27,7 +27,6 @@ package net.luckperms.api.messenger;
import net.luckperms.api.messenger.message.Message;
import net.luckperms.api.messenger.message.OutgoingMessage;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.ApiStatus.NonExtendable;
@@ -27,7 +27,6 @@ package net.luckperms.api.messenger;
import net.luckperms.api.messenger.message.Message;
import net.luckperms.api.messenger.message.OutgoingMessage;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.ApiStatus.OverrideOnly;
@@ -26,7 +26,6 @@
package net.luckperms.api.messenger;
import net.luckperms.api.LuckPerms;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.ApiStatus.OverrideOnly;
@@ -26,7 +26,6 @@
package net.luckperms.api.messenger.message;
import net.luckperms.api.messenger.Messenger;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.ApiStatus.NonExtendable;
@@ -26,7 +26,6 @@
package net.luckperms.api.messenger.message;
import net.luckperms.api.messenger.IncomingMessageConsumer;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -27,7 +27,6 @@ package net.luckperms.api.messenger.message.type;
import net.luckperms.api.actionlog.Action;
import net.luckperms.api.messenger.message.Message;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -26,7 +26,6 @@
package net.luckperms.api.messenger.message.type;
import net.luckperms.api.messenger.message.Message;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.UUID;
@@ -26,7 +26,6 @@
package net.luckperms.api.metastacking;
import net.luckperms.api.query.OptionKey;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.Unmodifiable;
@@ -27,7 +27,6 @@ package net.luckperms.api.metastacking;
import net.luckperms.api.node.ChatMetaType;
import net.luckperms.api.node.types.ChatMetaNode;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -35,7 +35,6 @@ import net.luckperms.api.node.Node;
import net.luckperms.api.node.NodeType;
import net.luckperms.api.query.Flag;
import net.luckperms.api.query.QueryOptions;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.Unmodifiable;
@@ -26,7 +26,6 @@
package net.luckperms.api.model;
import net.luckperms.api.model.user.UserManager;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.jetbrains.annotations.Unmodifiable;
@@ -29,7 +29,6 @@ import net.luckperms.api.model.PermissionHolder;
import net.luckperms.api.node.Node;
import net.luckperms.api.track.Track;
import net.luckperms.api.util.Result;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -35,7 +35,6 @@ import net.luckperms.api.model.user.UserManager;
import net.luckperms.api.node.Node;
import net.luckperms.api.node.NodeEqualityPredicate;
import net.luckperms.api.util.Tristate;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.Unmodifiable;
@@ -27,7 +27,6 @@ package net.luckperms.api.model.group;
import net.luckperms.api.model.PermissionHolder;
import net.luckperms.api.query.QueryOptions;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -28,7 +28,6 @@ package net.luckperms.api.model.group;
import net.luckperms.api.node.HeldNode;
import net.luckperms.api.node.Node;
import net.luckperms.api.node.matcher.NodeMatcher;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.jetbrains.annotations.Unmodifiable;
@@ -27,7 +27,6 @@ package net.luckperms.api.model.user;
import net.luckperms.api.model.PermissionHolder;
import net.luckperms.api.model.data.DataMutateResult;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -29,7 +29,6 @@ import net.luckperms.api.model.PlayerSaveResult;
import net.luckperms.api.node.HeldNode;
import net.luckperms.api.node.Node;
import net.luckperms.api.node.matcher.NodeMatcher;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.jetbrains.annotations.Unmodifiable;
@@ -28,7 +28,6 @@ package net.luckperms.api.node;
import net.luckperms.api.node.types.ChatMetaNode;
import net.luckperms.api.node.types.PrefixNode;
import net.luckperms.api.node.types.SuffixNode;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.Locale;
@@ -26,7 +26,6 @@
package net.luckperms.api.node;
import net.luckperms.api.model.PermissionHolder;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -36,7 +36,6 @@ import net.luckperms.api.node.types.PrefixNode;
import net.luckperms.api.node.types.RegexPermissionNode;
import net.luckperms.api.node.types.SuffixNode;
import net.luckperms.api.node.types.WeightNode;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.jetbrains.annotations.ApiStatus.NonExtendable;
@@ -27,7 +27,6 @@ package net.luckperms.api.node;
import net.luckperms.api.context.ContextSet;
import net.luckperms.api.node.metadata.NodeMetadataKey;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.jetbrains.annotations.ApiStatus.NonExtendable;
@@ -33,7 +33,6 @@ import net.luckperms.api.node.types.PrefixNode;
import net.luckperms.api.node.types.RegexPermissionNode;
import net.luckperms.api.node.types.SuffixNode;
import net.luckperms.api.node.types.WeightNode;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.ApiStatus.Internal;
@@ -34,7 +34,6 @@ import net.luckperms.api.node.types.PrefixNode;
import net.luckperms.api.node.types.RegexPermissionNode;
import net.luckperms.api.node.types.SuffixNode;
import net.luckperms.api.node.types.WeightNode;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.Objects;
@@ -30,7 +30,6 @@ import net.luckperms.api.node.Node;
import net.luckperms.api.node.NodeEqualityPredicate;
import net.luckperms.api.node.NodeType;
import net.luckperms.api.node.types.MetaNode;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.ApiStatus.NonExtendable;
@@ -29,7 +29,6 @@ import net.luckperms.api.node.Node;
import net.luckperms.api.node.NodeEqualityPredicate;
import net.luckperms.api.node.NodeType;
import net.luckperms.api.node.types.MetaNode;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.ApiStatus.Internal;
@@ -29,7 +29,6 @@ import net.luckperms.api.model.PermissionHolder;
import net.luckperms.api.model.data.DataType;
import net.luckperms.api.node.Node;
import net.luckperms.api.node.metadata.NodeMetadataKey;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.ApiStatus.NonExtendable;
@@ -28,7 +28,6 @@ package net.luckperms.api.node.types;
import net.luckperms.api.node.ChatMetaType;
import net.luckperms.api.node.NodeBuilder;
import net.luckperms.api.node.ScopedNode;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -30,7 +30,6 @@ import net.luckperms.api.node.Node;
import net.luckperms.api.node.NodeBuilder;
import net.luckperms.api.node.NodeType;
import net.luckperms.api.node.ScopedNode;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -79,6 +78,7 @@ public interface DisplayNameNode extends ScopedNode<DisplayNameNode, DisplayName
*
* @param displayName the display name
* @return the builder
* @throws IllegalArgumentException if {@code displayName} is empty
*/
@NonNull Builder displayName(@NonNull String displayName);
@@ -31,7 +31,6 @@ import net.luckperms.api.node.Node;
import net.luckperms.api.node.NodeBuilder;
import net.luckperms.api.node.NodeType;
import net.luckperms.api.node.ScopedNode;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -96,6 +95,7 @@ public interface InheritanceNode extends ScopedNode<InheritanceNode, Inheritance
*
* @param group the group name
* @return the builder
* @throws IllegalArgumentException if {@code group} is not a valid group name
*/
@NonNull Builder group(@NonNull String group);
@@ -30,7 +30,6 @@ import net.luckperms.api.node.Node;
import net.luckperms.api.node.NodeBuilder;
import net.luckperms.api.node.NodeType;
import net.luckperms.api.node.ScopedNode;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -87,6 +86,7 @@ public interface MetaNode extends ScopedNode<MetaNode, MetaNode.Builder> {
*
* @param key the meta key
* @return the builder
* @throws IllegalArgumentException if {@code key} is empty
*/
@NonNull Builder key(@NonNull String key);
@@ -30,7 +30,6 @@ import net.luckperms.api.node.Node;
import net.luckperms.api.node.NodeBuilder;
import net.luckperms.api.node.NodeType;
import net.luckperms.api.node.ScopedNode;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.OptionalInt;
@@ -104,6 +103,7 @@ public interface PermissionNode extends ScopedNode<PermissionNode, PermissionNod
*
* @param permission the permission
* @return the builder
* @throws IllegalArgumentException if {@code permission} is empty
*/
@NonNull Builder permission(@NonNull String permission);
@@ -28,7 +28,6 @@ package net.luckperms.api.node.types;
import net.luckperms.api.LuckPermsProvider;
import net.luckperms.api.node.Node;
import net.luckperms.api.node.NodeType;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -30,7 +30,6 @@ import net.luckperms.api.node.Node;
import net.luckperms.api.node.NodeBuilder;
import net.luckperms.api.node.NodeType;
import net.luckperms.api.node.ScopedNode;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.Optional;
@@ -101,6 +100,7 @@ public interface RegexPermissionNode extends ScopedNode<RegexPermissionNode, Reg
*
* @param pattern the pattern
* @return the builder
* @throws IllegalArgumentException if {@code pattern} is empty
*/
@NonNull Builder pattern(@NonNull String pattern);
@@ -28,7 +28,6 @@ package net.luckperms.api.node.types;
import net.luckperms.api.LuckPermsProvider;
import net.luckperms.api.node.Node;
import net.luckperms.api.node.NodeType;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -30,7 +30,6 @@ import net.luckperms.api.node.Node;
import net.luckperms.api.node.NodeBuilder;
import net.luckperms.api.node.NodeType;
import net.luckperms.api.node.ScopedNode;
import org.checkerframework.checker.nullness.qual.NonNull;
/**
@@ -75,7 +75,9 @@ public interface Platform {
SPONGE("Sponge"),
NUKKIT("Nukkit"),
VELOCITY("Velocity"),
FABRIC("Fabric");
FABRIC("Fabric"),
FORGE("Forge"),
STANDALONE("Standalone");
private final String friendlyName;
@@ -33,7 +33,6 @@ import net.luckperms.api.context.ImmutableContextSet;
import net.luckperms.api.model.user.User;
import net.luckperms.api.model.user.UserManager;
import net.luckperms.api.query.QueryOptions;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.UUID;
@@ -26,7 +26,6 @@
package net.luckperms.api.query;
import net.luckperms.api.node.metadata.NodeMetadataKey;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.jetbrains.annotations.ApiStatus.NonExtendable;
@@ -29,7 +29,6 @@ import net.luckperms.api.LuckPermsProvider;
import net.luckperms.api.context.ContextSatisfyMode;
import net.luckperms.api.context.ContextSet;
import net.luckperms.api.context.ImmutableContextSet;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.jetbrains.annotations.ApiStatus.NonExtendable;
@@ -27,7 +27,6 @@ package net.luckperms.api.query.dataorder;
import net.luckperms.api.model.data.DataType;
import net.luckperms.api.query.QueryOptions;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.Arrays;
@@ -28,7 +28,6 @@ package net.luckperms.api.query.dataorder;
import net.luckperms.api.model.PermissionHolder;
import net.luckperms.api.model.data.DataType;
import net.luckperms.api.query.OptionKey;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.Comparator;
Loaded 100 of 764 files, more files were not shown because too many files have changed in this diff. Show more