diff --git a/api/build.gradle b/api/build.gradle index f7268878d..eabc5bf12 100644 --- a/api/build.gradle +++ b/api/build.gradle @@ -2,7 +2,8 @@ group = 'net.luckperms' project.version = '5.2' dependencies { - compileOnly 'org.checkerframework:checker-qual:2.5.5' + compileOnly 'org.checkerframework:checker-qual:3.8.0' + compileOnly 'org.jetbrains:annotations:20.1.0' } // Only used occasionally for deployment - not needed for normal builds. diff --git a/api/src/main/java/net/luckperms/api/node/Node.java b/api/src/main/java/net/luckperms/api/node/Node.java index e8cd7e7ff..b9013c101 100644 --- a/api/src/main/java/net/luckperms/api/node/Node.java +++ b/api/src/main/java/net/luckperms/api/node/Node.java @@ -39,6 +39,7 @@ 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; import java.time.Duration; import java.time.Instant; @@ -97,6 +98,7 @@ import java.util.stream.Stream; * *
The core node state must be immutable in all implementations.
*/ +@NonExtendable public interface Node { /** diff --git a/api/src/main/java/net/luckperms/api/node/matcher/NodeMatcher.java b/api/src/main/java/net/luckperms/api/node/matcher/NodeMatcher.java index f735fec8c..0b5ed8029 100644 --- a/api/src/main/java/net/luckperms/api/node/matcher/NodeMatcher.java +++ b/api/src/main/java/net/luckperms/api/node/matcher/NodeMatcher.java @@ -32,15 +32,19 @@ 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; import java.util.function.Predicate; /** * A predicate which matches certain {@link Node}s. * + *API users should not implement this interface directly.
+ * * @param