diff --git a/paper-api/src/main/java/com/destroystokyo/paper/event/brigadier/CommandRegisteredEvent.java b/paper-api/src/main/java/com/destroystokyo/paper/event/brigadier/CommandRegisteredEvent.java
index acc2bd2ec56e..8dc9dbc8f919 100644
--- a/paper-api/src/main/java/com/destroystokyo/paper/event/brigadier/CommandRegisteredEvent.java
+++ b/paper-api/src/main/java/com/destroystokyo/paper/event/brigadier/CommandRegisteredEvent.java
@@ -9,7 +9,6 @@
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.bukkit.event.server.ServerEvent;
-import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
/**
@@ -19,10 +18,8 @@
* This is done at Plugin Enable time after commands have been registered, but may also
* run at a later point in the server lifetime due to plugins, a server reload, etc.
*
- * This is a draft/experimental API and is subject to change.
* @deprecated For removal, use the new brigadier api.
*/
-@ApiStatus.Experimental
@Deprecated(since = "1.20.6")
@Warning(reason = "This event has been superseded by the Commands API and will be removed in a future release. Listen to LifecycleEvents.COMMANDS instead.", value = true)
public class CommandRegisteredEvent extends ServerEvent implements Cancellable {
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/BasicCommand.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/BasicCommand.java
index c89d6c4c38e2..d067bb896685 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/BasicCommand.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/BasicCommand.java
@@ -4,15 +4,12 @@
import java.util.Collections;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.ApiStatus;
-import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
/**
* Implementing this interface allows for easily creating "Bukkit-style" {@code String[] args} commands.
* The implementation handles converting the command to a representation compatible with Brigadier on registration, usually in the form of {@literal /commandlabel }.
*/
-@ApiStatus.Experimental
-@NullMarked
@FunctionalInterface
public interface BasicCommand {
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/CommandSourceStack.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/CommandSourceStack.java
index 109c0a89e252..a6e01ffa3f30 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/CommandSourceStack.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/CommandSourceStack.java
@@ -6,7 +6,6 @@
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Entity;
import org.jetbrains.annotations.ApiStatus;
-import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
/**
@@ -21,8 +20,6 @@
* exist yet, or no specific sender is available. Methods on such a {@link CommandSender}
* will either have no effect or throw an {@link UnsupportedOperationException}.
*/
-@ApiStatus.Experimental
-@NullMarked
@ApiStatus.NonExtendable
public interface CommandSourceStack {
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/Commands.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/Commands.java
index 3c2d08662da8..6545a34b54a9 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/Commands.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/Commands.java
@@ -17,7 +17,6 @@
import java.util.function.Predicate;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Unmodifiable;
-import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
/**
@@ -60,8 +59,6 @@
*
* @see io.papermc.paper.plugin.lifecycle.event.types.LifecycleEvents#COMMANDS
*/
-@ApiStatus.Experimental
-@NullMarked
@ApiStatus.NonExtendable
public interface Commands extends Registrar {
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/MessageComponentSerializer.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/MessageComponentSerializer.java
index 19f3dc12426b..ea19ba9ba724 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/MessageComponentSerializer.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/MessageComponentSerializer.java
@@ -1,16 +1,15 @@
package io.papermc.paper.command.brigadier;
import com.mojang.brigadier.Message;
+import java.util.Optional;
+import java.util.ServiceLoader;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.serializer.ComponentSerializer;
import org.jetbrains.annotations.ApiStatus;
-import org.jspecify.annotations.NullMarked;
/**
* A component serializer for converting between {@link Message} and {@link Component}.
*/
-@ApiStatus.Experimental
-@NullMarked
@ApiStatus.NonExtendable
public interface MessageComponentSerializer extends ComponentSerializer {
@@ -20,6 +19,10 @@ public interface MessageComponentSerializer extends ComponentSerializer PROVIDER = ServiceLoader.load(MessageComponentSerializer.class)
+ .findFirst();
+ }
+ return Holder.PROVIDER.orElseThrow();
}
}
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/MessageComponentSerializerHolder.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/MessageComponentSerializerHolder.java
deleted file mode 100644
index 2db12952461c..000000000000
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/MessageComponentSerializerHolder.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.papermc.paper.command.brigadier;
-
-import java.util.Optional;
-import java.util.ServiceLoader;
-import org.jetbrains.annotations.ApiStatus;
-
-@ApiStatus.Internal
-final class MessageComponentSerializerHolder {
-
- static final Optional PROVIDER = ServiceLoader.load(MessageComponentSerializer.class)
- .findFirst();
-}
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/ArgumentTypes.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/ArgumentTypes.java
index 440cfcfa58a1..3e54a49a7743 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/ArgumentTypes.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/ArgumentTypes.java
@@ -28,8 +28,6 @@
import org.bukkit.inventory.ItemStack;
import org.bukkit.scoreboard.Criteria;
import org.bukkit.scoreboard.DisplaySlot;
-import org.jetbrains.annotations.ApiStatus;
-import org.jspecify.annotations.NullMarked;
import static io.papermc.paper.command.brigadier.argument.VanillaArgumentProvider.provider;
@@ -41,8 +39,6 @@
*
* {@link CustomArgumentType} is provided for customizing parsing or result types server-side, while sending the vanilla argument type to the client.
*/
-@ApiStatus.Experimental
-@NullMarked
public final class ArgumentTypes {
/**
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/CustomArgumentType.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/CustomArgumentType.java
index 14be89fab5bf..1b38609134b8 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/CustomArgumentType.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/CustomArgumentType.java
@@ -9,7 +9,6 @@
import java.util.Collection;
import java.util.concurrent.CompletableFuture;
import org.jetbrains.annotations.ApiStatus;
-import org.jspecify.annotations.NullMarked;
/**
* An argument type that wraps around a native-to-vanilla argument type.
@@ -23,8 +22,6 @@
* @param custom type
* @param type with an argument native to vanilla Minecraft (from {@link ArgumentTypes})
*/
-@ApiStatus.Experimental
-@NullMarked
public interface CustomArgumentType extends ArgumentType {
/**
@@ -107,7 +104,6 @@ default CompletableFuture listSuggestions(final CommandContext<
* @param custom type
* @param type with an argument native to vanilla Minecraft (from {@link ArgumentTypes})
*/
- @ApiStatus.Experimental
interface Converted extends CustomArgumentType {
@ApiStatus.NonExtendable
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/RegistryArgumentExtractor.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/RegistryArgumentExtractor.java
index c6123342df96..5c72fffd7893 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/RegistryArgumentExtractor.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/RegistryArgumentExtractor.java
@@ -3,12 +3,10 @@
import com.mojang.brigadier.context.CommandContext;
import io.papermc.paper.registry.RegistryKey;
import io.papermc.paper.registry.TypedKey;
-import org.jspecify.annotations.NullMarked;
/**
* Utilities for extracting registry-related arguments from a {@link CommandContext}.
*/
-@NullMarked
public final class RegistryArgumentExtractor {
/**
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/SignedMessageResolver.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/SignedMessageResolver.java
index 2f2c1729c5d9..d77a89cd2523 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/SignedMessageResolver.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/SignedMessageResolver.java
@@ -6,15 +6,12 @@
import java.util.concurrent.CompletableFuture;
import net.kyori.adventure.chat.SignedMessage;
import org.jetbrains.annotations.ApiStatus;
-import org.jspecify.annotations.NullMarked;
/**
* A resolver for a {@link SignedMessage}
*
* @see ArgumentTypes#signedMessage()
*/
-@ApiStatus.Experimental
-@NullMarked
@ApiStatus.NonExtendable
public interface SignedMessageResolver {
@@ -38,5 +35,4 @@ public interface SignedMessageResolver {
* @throws CommandSyntaxException syntax exception
*/
CompletableFuture resolveSignedMessage(String argumentName, CommandContext context) throws CommandSyntaxException;
-
}
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/VanillaArgumentProvider.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/VanillaArgumentProvider.java
index 7f30fc567d84..b70b32a3bec1 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/VanillaArgumentProvider.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/VanillaArgumentProvider.java
@@ -31,10 +31,8 @@
import org.bukkit.scoreboard.Criteria;
import org.bukkit.scoreboard.DisplaySlot;
import org.jetbrains.annotations.ApiStatus;
-import org.jspecify.annotations.NullMarked;
@ApiStatus.Internal
-@NullMarked
interface VanillaArgumentProvider {
Optional PROVIDER = ServiceLoader.load(VanillaArgumentProvider.class)
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/package-info.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/package-info.java
new file mode 100644
index 000000000000..e2056d494cdf
--- /dev/null
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Arguments.
+ */
+@NullMarked
+package io.papermc.paper.command.brigadier.argument;
+
+import org.jspecify.annotations.NullMarked;
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/predicate/ItemStackPredicate.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/predicate/ItemStackPredicate.java
index ba0cfb3c53f6..d943b810c922 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/predicate/ItemStackPredicate.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/predicate/ItemStackPredicate.java
@@ -9,7 +9,6 @@
*
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#itemPredicate()
*/
-@ApiStatus.Experimental
@ApiStatus.NonExtendable
public interface ItemStackPredicate extends Predicate {
}
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/predicate/package-info.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/predicate/package-info.java
new file mode 100644
index 000000000000..6f8a8ed057dd
--- /dev/null
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/predicate/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Predicates for argument types.
+ */
+@NullMarked
+package io.papermc.paper.command.brigadier.argument.predicate;
+
+import org.jspecify.annotations.NullMarked;
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/DoubleRangeProvider.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/DoubleRangeProvider.java
index 82c978ba42a7..639f011788df 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/DoubleRangeProvider.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/DoubleRangeProvider.java
@@ -7,8 +7,6 @@
*
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#doubleRange()
*/
-@ApiStatus.Experimental
@ApiStatus.NonExtendable
public non-sealed interface DoubleRangeProvider extends RangeProvider {
-
}
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/IntegerRangeProvider.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/IntegerRangeProvider.java
index 06ffff68d265..9eb21f9fe2f0 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/IntegerRangeProvider.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/IntegerRangeProvider.java
@@ -7,8 +7,6 @@
*
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#integerRange()
*/
-@ApiStatus.Experimental
@ApiStatus.NonExtendable
public non-sealed interface IntegerRangeProvider extends RangeProvider {
-
}
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/RangeProvider.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/RangeProvider.java
index af1c01ab0d21..55c438cfd7c0 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/RangeProvider.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/RangeProvider.java
@@ -1,8 +1,6 @@
package io.papermc.paper.command.brigadier.argument.range;
import com.google.common.collect.Range;
-import org.jetbrains.annotations.ApiStatus;
-import org.jspecify.annotations.NullMarked;
/**
* A provider for a range of numbers
@@ -10,8 +8,6 @@
* @param
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes
*/
-@ApiStatus.Experimental
-@NullMarked
public sealed interface RangeProvider> permits DoubleRangeProvider, IntegerRangeProvider {
/**
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/package-info.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/package-info.java
new file mode 100644
index 000000000000..647543a80675
--- /dev/null
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/range/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Range providers.
+ */
+@NullMarked
+package io.papermc.paper.command.brigadier.argument.range;
+
+import org.jspecify.annotations.NullMarked;
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/ArgumentResolver.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/ArgumentResolver.java
index 60439269d8b1..c4ee1c4ddb1d 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/ArgumentResolver.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/ArgumentResolver.java
@@ -3,7 +3,6 @@
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import io.papermc.paper.command.brigadier.CommandSourceStack;
import org.jetbrains.annotations.ApiStatus;
-import org.jspecify.annotations.NullMarked;
/**
* An {@link ArgumentResolver} is capable of resolving
@@ -12,8 +11,6 @@
* @param resolved type
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes
*/
-@ApiStatus.Experimental
-@NullMarked
@ApiStatus.NonExtendable
public interface ArgumentResolver {
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/BlockPositionResolver.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/BlockPositionResolver.java
index 908f40dbf3e5..e36eb473e781 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/BlockPositionResolver.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/BlockPositionResolver.java
@@ -10,7 +10,6 @@
*
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#blockPosition()
*/
-@ApiStatus.Experimental
@ApiStatus.NonExtendable
public interface BlockPositionResolver extends ArgumentResolver {
}
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/FinePositionResolver.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/FinePositionResolver.java
index e2fc26016b8d..eec86caefbae 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/FinePositionResolver.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/FinePositionResolver.java
@@ -11,7 +11,6 @@
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#finePosition()
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#finePosition(boolean)
*/
-@ApiStatus.Experimental
@ApiStatus.NonExtendable
public interface FinePositionResolver extends ArgumentResolver {
}
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/PlayerProfileListResolver.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/PlayerProfileListResolver.java
index 89024e67fd81..be7581e81988 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/PlayerProfileListResolver.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/PlayerProfileListResolver.java
@@ -11,7 +11,6 @@
*
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#playerProfiles()
*/
-@ApiStatus.Experimental
@ApiStatus.NonExtendable
public interface PlayerProfileListResolver extends ArgumentResolver> {
}
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/RotationResolver.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/RotationResolver.java
index fe697d183c15..f492be72244e 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/RotationResolver.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/RotationResolver.java
@@ -10,7 +10,6 @@
*
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#rotation()
*/
-@ApiStatus.Experimental
@ApiStatus.NonExtendable
public interface RotationResolver extends ArgumentResolver {
}
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/package-info.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/package-info.java
new file mode 100644
index 000000000000..e9ae2e330651
--- /dev/null
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Argument resolvers.
+ */
+@NullMarked
+package io.papermc.paper.command.brigadier.argument.resolvers;
+
+import org.jspecify.annotations.NullMarked;
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/EntitySelectorArgumentResolver.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/EntitySelectorArgumentResolver.java
index 15d05c280401..2be666576970 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/EntitySelectorArgumentResolver.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/EntitySelectorArgumentResolver.java
@@ -13,7 +13,6 @@
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#entity()
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#entities()
*/
-@ApiStatus.Experimental
@ApiStatus.NonExtendable
public interface EntitySelectorArgumentResolver extends SelectorArgumentResolver> {
}
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/PlayerSelectorArgumentResolver.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/PlayerSelectorArgumentResolver.java
index a973555b7a01..5b19949cfe6f 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/PlayerSelectorArgumentResolver.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/PlayerSelectorArgumentResolver.java
@@ -13,7 +13,6 @@
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#player()
* @see io.papermc.paper.command.brigadier.argument.ArgumentTypes#players()
*/
-@ApiStatus.Experimental
@ApiStatus.NonExtendable
public interface PlayerSelectorArgumentResolver extends SelectorArgumentResolver> {
}
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/SelectorArgumentResolver.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/SelectorArgumentResolver.java
index 906ce6eff30e..46542a155f94 100644
--- a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/SelectorArgumentResolver.java
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/SelectorArgumentResolver.java
@@ -11,7 +11,6 @@
* @param resolved type
* @see Target Selectors
*/
-@ApiStatus.Experimental
@ApiStatus.NonExtendable
public interface SelectorArgumentResolver extends ArgumentResolver {
}
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/package-info.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/package-info.java
new file mode 100644
index 000000000000..35fc5b0bc96f
--- /dev/null
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/argument/resolvers/selector/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Entity selector argument resolvers.
+ */
+@NullMarked
+package io.papermc.paper.command.brigadier.argument.resolvers.selector;
+
+import org.jspecify.annotations.NullMarked;
diff --git a/paper-api/src/main/java/io/papermc/paper/command/brigadier/package-info.java b/paper-api/src/main/java/io/papermc/paper/command/brigadier/package-info.java
new file mode 100644
index 000000000000..8b4ac5c70399
--- /dev/null
+++ b/paper-api/src/main/java/io/papermc/paper/command/brigadier/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * Brigadier connection API.
+ */
+@NullMarked
+package io.papermc.paper.command.brigadier;
+
+import org.jspecify.annotations.NullMarked;
diff --git a/paper-api/src/main/java/io/papermc/paper/datacomponent/DataComponentView.java b/paper-api/src/main/java/io/papermc/paper/datacomponent/DataComponentView.java
index 2eebdb41e0b8..4e6e5a774cfb 100644
--- a/paper-api/src/main/java/io/papermc/paper/datacomponent/DataComponentView.java
+++ b/paper-api/src/main/java/io/papermc/paper/datacomponent/DataComponentView.java
@@ -15,7 +15,6 @@
@NullMarked
@ApiStatus.NonExtendable
public interface DataComponentView {
- // Paper start - data component API
/**
* Gets the value for the data component type on this stack.
*
diff --git a/paper-api/src/main/java/io/papermc/paper/plugin/configuration/PluginMeta.java b/paper-api/src/main/java/io/papermc/paper/plugin/configuration/PluginMeta.java
index 3c768d5ccf49..2114651bd68c 100644
--- a/paper-api/src/main/java/io/papermc/paper/plugin/configuration/PluginMeta.java
+++ b/paper-api/src/main/java/io/papermc/paper/plugin/configuration/PluginMeta.java
@@ -12,7 +12,6 @@
/**
* This class acts as an abstraction for a plugin configuration.
*/
-@ApiStatus.Experimental // Subject to change!
@NullMarked
@ApiStatus.NonExtendable
public interface PluginMeta {
@@ -161,7 +160,6 @@ default String getDisplayName() {
*
* @return an immutable list of permissions
*/
- // TODO: Do we even want this? Why not just use the bootstrapper
List getPermissions();
/**
@@ -170,7 +168,6 @@ default String getDisplayName() {
* @return the bukkit permission default container.
* @see #getPermissions()
*/
- // TODO: Do we even want this? Why not just use the bootstrapper
PermissionDefault getPermissionDefault();
/**
diff --git a/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/handler/configuration/package-info.java b/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/handler/configuration/package-info.java
index 2bfedd627045..9d9172244667 100644
--- a/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/handler/configuration/package-info.java
+++ b/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/handler/configuration/package-info.java
@@ -1,6 +1,4 @@
-@ApiStatus.Experimental
@NullMarked
package io.papermc.paper.plugin.lifecycle.event.handler.configuration;
-import org.jetbrains.annotations.ApiStatus;
import org.jspecify.annotations.NullMarked;
diff --git a/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/handler/package-info.java b/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/handler/package-info.java
index 15cf1464cc36..6e769d8ed53c 100644
--- a/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/handler/package-info.java
+++ b/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/handler/package-info.java
@@ -1,6 +1,4 @@
-@ApiStatus.Experimental
@NullMarked
package io.papermc.paper.plugin.lifecycle.event.handler;
-import org.jetbrains.annotations.ApiStatus;
import org.jspecify.annotations.NullMarked;
diff --git a/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/package-info.java b/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/package-info.java
index 2047a99c61c0..8fe8f0eae222 100644
--- a/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/package-info.java
+++ b/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/package-info.java
@@ -1,6 +1,4 @@
-@ApiStatus.Experimental
@NullMarked
package io.papermc.paper.plugin.lifecycle.event;
-import org.jetbrains.annotations.ApiStatus;
import org.jspecify.annotations.NullMarked;
diff --git a/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/registrar/package-info.java b/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/registrar/package-info.java
index 4b55c80ac3c5..26d51efd04c2 100644
--- a/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/registrar/package-info.java
+++ b/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/registrar/package-info.java
@@ -1,6 +1,4 @@
-@ApiStatus.Experimental
@NullMarked
package io.papermc.paper.plugin.lifecycle.event.registrar;
-import org.jetbrains.annotations.ApiStatus;
import org.jspecify.annotations.NullMarked;
diff --git a/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/types/LifecycleEvents.java b/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/types/LifecycleEvents.java
index 4145cda3930d..d5b63fb1c6a1 100644
--- a/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/types/LifecycleEvents.java
+++ b/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/types/LifecycleEvents.java
@@ -29,6 +29,7 @@ public final class LifecycleEvents {
* These events are for registering tags to the server's tag system. You can register a handler for these events
* only in {@link io.papermc.paper.plugin.bootstrap.PluginBootstrap#bootstrap(BootstrapContext)}.
*/
+ @ApiStatus.Experimental
public static final TagEventTypeProvider TAGS = LifecycleEventTypeProvider.provider().tagProvider();
@@ -37,6 +38,7 @@ public final class LifecycleEvents {
* can register a handler for this event only in {@link io.papermc.paper.plugin.bootstrap.PluginBootstrap#bootstrap(BootstrapContext)}.
* @see DatapackRegistrar an example of a datapack being discovered
*/
+ @ApiStatus.Experimental
public static final LifecycleEventType.Prioritizable> DATAPACK_DISCOVERY = bootstrapPrioritized("datapack_discovery");
//
diff --git a/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/types/package-info.java b/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/types/package-info.java
index a3257da32ebe..624b43c4da2c 100644
--- a/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/types/package-info.java
+++ b/paper-api/src/main/java/io/papermc/paper/plugin/lifecycle/event/types/package-info.java
@@ -1,6 +1,4 @@
-@ApiStatus.Experimental
@NullMarked
package io.papermc.paper.plugin.lifecycle.event.types;
-import org.jetbrains.annotations.ApiStatus;
import org.jspecify.annotations.NullMarked;
diff --git a/paper-api/src/main/java/io/papermc/paper/registry/RegistryKey.java b/paper-api/src/main/java/io/papermc/paper/registry/RegistryKey.java
index d26c40e9b84b..ef057b02d842 100644
--- a/paper-api/src/main/java/io/papermc/paper/registry/RegistryKey.java
+++ b/paper-api/src/main/java/io/papermc/paper/registry/RegistryKey.java
@@ -36,7 +36,6 @@
import org.bukkit.map.MapCursor;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.potion.PotionType;
-import org.jetbrains.annotations.ApiStatus;
import org.jspecify.annotations.NullMarked;
import static io.papermc.paper.registry.RegistryKeyImpl.create;
@@ -253,7 +252,6 @@ default TypedKey typedKey(@KeyPattern final String key) {
* @param key the key of the typed key.
* @return the constructed tag key.
*/
- @ApiStatus.Experimental
default TagKey tagKey(final Key key) {
return TagKey.create(this, key);
}
@@ -264,7 +262,6 @@ default TagKey tagKey(final Key key) {
* @param key the string representation of the key that will be passed to {@link Key#key(String)}.
* @return the constructed tag key.
*/
- @ApiStatus.Experimental
default TagKey tagKey(@KeyPattern final String key) {
return TagKey.create(this, key);
}
diff --git a/paper-api/src/main/java/io/papermc/paper/registry/event/RegistryComposeEvent.java b/paper-api/src/main/java/io/papermc/paper/registry/event/RegistryComposeEvent.java
index 465d0fc40482..346cca9055c4 100644
--- a/paper-api/src/main/java/io/papermc/paper/registry/event/RegistryComposeEvent.java
+++ b/paper-api/src/main/java/io/papermc/paper/registry/event/RegistryComposeEvent.java
@@ -14,7 +14,6 @@
* @param registry entry type
* @param registry entry builder type
*/
-@ApiStatus.Experimental
@ApiStatus.NonExtendable
public interface RegistryComposeEvent> extends RegistryEvent {
diff --git a/paper-api/src/main/java/io/papermc/paper/registry/tag/TagKey.java b/paper-api/src/main/java/io/papermc/paper/registry/tag/TagKey.java
index 4dda9298604c..c530c86384f5 100644
--- a/paper-api/src/main/java/io/papermc/paper/registry/tag/TagKey.java
+++ b/paper-api/src/main/java/io/papermc/paper/registry/tag/TagKey.java
@@ -1,15 +1,12 @@
package io.papermc.paper.registry.tag;
import io.papermc.paper.registry.RegistryKey;
-import io.papermc.paper.registry.TypedKey;
import net.kyori.adventure.key.Key;
import net.kyori.adventure.key.KeyPattern;
import net.kyori.adventure.key.Keyed;
-import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jspecify.annotations.NullMarked;
-@ApiStatus.Experimental
@NullMarked
public sealed interface TagKey extends Keyed permits TagKeyImpl {
@@ -35,7 +32,6 @@ static TagKey create(final RegistryKey registryKey, final Key key) {
* @return a new tag key
* @see Key#key(String)
*/
- @ApiStatus.Experimental
static TagKey create(final RegistryKey registryKey, @KeyPattern final String key) {
return create(registryKey, Key.key(key));
}
diff --git a/paper-api/src/main/java/org/bukkit/FeatureFlag.java b/paper-api/src/main/java/org/bukkit/FeatureFlag.java
index 3d8bd1f169a9..bd2f1d8b7db6 100644
--- a/paper-api/src/main/java/org/bukkit/FeatureFlag.java
+++ b/paper-api/src/main/java/org/bukkit/FeatureFlag.java
@@ -1,12 +1,10 @@
package org.bukkit;
-// Paper start - overhaul FeatureFlag API
import com.google.common.base.Preconditions;
import java.util.List;
import net.kyori.adventure.key.Key;
import net.kyori.adventure.util.Index;
import org.intellij.lang.annotations.Subst;
-// Paper end - overhaul FeatureFlag API
import org.jetbrains.annotations.ApiStatus;
/**
@@ -75,6 +73,5 @@ private static FeatureFlag create(@Subst("vanilla") final String name) {
private static FeatureFlag deprecated(@Subst("vanilla") final String name) {
return new FeatureFlagImpl.Deprecated(NamespacedKey.minecraft(name));
}
- // Paper end - overhaul FeatureFlag API
}
diff --git a/paper-api/src/main/java/org/bukkit/Input.java b/paper-api/src/main/java/org/bukkit/Input.java
index 7665b18e32f5..d09605b97a57 100644
--- a/paper-api/src/main/java/org/bukkit/Input.java
+++ b/paper-api/src/main/java/org/bukkit/Input.java
@@ -1,11 +1,8 @@
package org.bukkit;
-import org.jetbrains.annotations.ApiStatus;
-
/**
* Represents a movement input applied to an entity.
*/
-@ApiStatus.Experimental
public interface Input {
/**
diff --git a/paper-api/src/main/java/org/bukkit/JukeboxSong.java b/paper-api/src/main/java/org/bukkit/JukeboxSong.java
index 3561888f62e4..5d61a862b17c 100644
--- a/paper-api/src/main/java/org/bukkit/JukeboxSong.java
+++ b/paper-api/src/main/java/org/bukkit/JukeboxSong.java
@@ -2,13 +2,12 @@
import io.papermc.paper.registry.RegistryAccess;
import io.papermc.paper.registry.RegistryKey;
-import org.jetbrains.annotations.ApiStatus;
-import org.jetbrains.annotations.NotNull;
+import org.jspecify.annotations.NullMarked;
/**
* Represents a song which may play in a Jukebox.
*/
-@ApiStatus.Experimental
+@NullMarked
public interface JukeboxSong extends Keyed, Translatable {
// Start generate - JukeboxSong
@@ -56,18 +55,15 @@ public interface JukeboxSong extends Keyed, Translatable {
JukeboxSong WARD = get("ward");
// End generate - JukeboxSong
- @NotNull
- private static JukeboxSong get(@NotNull String key) {
+ private static JukeboxSong get(String key) {
return RegistryAccess.registryAccess().getRegistry(RegistryKey.JUKEBOX_SONG).getOrThrow(NamespacedKey.minecraft(key));
}
- // Paper start - adventure
/**
* @deprecated this method assumes that jukebox song description will
* always be a translatable component which is not guaranteed.
*/
@Override
@Deprecated(forRemoval = true)
- @org.jetbrains.annotations.NotNull String getTranslationKey();
- // Paper end - adventure
+ String getTranslationKey();
}
diff --git a/paper-api/src/main/java/org/bukkit/Material.java b/paper-api/src/main/java/org/bukkit/Material.java
index 71692549035f..f4048590c428 100644
--- a/paper-api/src/main/java/org/bukkit/Material.java
+++ b/paper-api/src/main/java/org/bukkit/Material.java
@@ -3577,9 +3577,7 @@ public float getCompostChance() {
* Tries to convert this Material to an item type
*
* @return the converted item type or null
- * @apiNote only for internal use
*/
- @ApiStatus.Internal
@Nullable
@org.jetbrains.annotations.Contract(pure = true) // Paper
public ItemType asItemType() {
@@ -3590,9 +3588,7 @@ public ItemType asItemType() {
* Tries to convert this Material to a block type
*
* @return the converted block type or null
- * @apiNote only for internal use
*/
- @ApiStatus.Internal
@Nullable
@org.jetbrains.annotations.Contract(pure = true) // Paper
public BlockType asBlockType() {
diff --git a/paper-api/src/main/java/org/bukkit/Registry.java b/paper-api/src/main/java/org/bukkit/Registry.java
index e882045d19e1..9bf238bab6d7 100644
--- a/paper-api/src/main/java/org/bukkit/Registry.java
+++ b/paper-api/src/main/java/org/bukkit/Registry.java
@@ -122,7 +122,6 @@ public Iterator iterator() {
*
* @see BlockType
*/
- @ApiStatus.Experimental
Registry BLOCK = registryFor(RegistryKey.BLOCK);
/**
* Custom boss bars.
@@ -179,7 +178,6 @@ public Iterator iterator() {
*
* @see ItemType
*/
- @ApiStatus.Experimental
Registry ITEM = registryFor(RegistryKey.ITEM);
/**
* Default server loot tables.
@@ -480,7 +478,6 @@ default NamespacedKey getKeyOrThrow(final T value) {
* @throws UnsupportedOperationException if this registry doesn't have or support tags
* @see #getTag(TagKey)
*/
- @ApiStatus.Experimental
boolean hasTag(TagKey key);
/**
@@ -507,8 +504,8 @@ default NamespacedKey getKeyOrThrow(final T value) {
* @see Tag#resolve(Registry)
*/
@ApiStatus.Experimental
- default Collection getTagValues(TagKey key) {
- Tag tag = getTag(key);
+ default Collection getTagValues(final TagKey key) {
+ Tag tag = this.getTag(key);
return tag.resolve(this);
}
diff --git a/paper-api/src/main/java/org/bukkit/block/BlockState.java b/paper-api/src/main/java/org/bukkit/block/BlockState.java
index ce7cdcf0cd92..93129898b309 100644
--- a/paper-api/src/main/java/org/bukkit/block/BlockState.java
+++ b/paper-api/src/main/java/org/bukkit/block/BlockState.java
@@ -60,7 +60,6 @@ public interface BlockState extends Metadatable {
* @return a copy of the block state
*/
@NotNull
- @ApiStatus.Experimental
BlockState copy();
/**
@@ -70,7 +69,6 @@ public interface BlockState extends Metadatable {
* @return the new block state
*/
@NotNull
- @ApiStatus.Experimental
BlockState copy(@NotNull Location location);
/**
diff --git a/paper-api/src/main/java/org/bukkit/block/data/BlockData.java b/paper-api/src/main/java/org/bukkit/block/data/BlockData.java
index 0ecc54bd810a..3a6184e2165b 100644
--- a/paper-api/src/main/java/org/bukkit/block/data/BlockData.java
+++ b/paper-api/src/main/java/org/bukkit/block/data/BlockData.java
@@ -277,7 +277,6 @@ public interface BlockData extends Cloneable {
* @return a new {@link BlockState}
*/
@NotNull
- @ApiStatus.Experimental
BlockState createBlockState();
// Paper start - destroy speed API
diff --git a/paper-api/src/main/java/org/bukkit/damage/DamageEffect.java b/paper-api/src/main/java/org/bukkit/damage/DamageEffect.java
index 2e442f146907..ecf6ea91f62b 100644
--- a/paper-api/src/main/java/org/bukkit/damage/DamageEffect.java
+++ b/paper-api/src/main/java/org/bukkit/damage/DamageEffect.java
@@ -10,7 +10,6 @@
* Represents a type of effect that occurs when damage is inflicted. Currently,
* effects only determine the sound that plays.
*/
-@ApiStatus.Experimental
public interface DamageEffect {
/**
diff --git a/paper-api/src/main/java/org/bukkit/damage/DamageScaling.java b/paper-api/src/main/java/org/bukkit/damage/DamageScaling.java
index 1c8ad044d86d..fea254fe46f3 100644
--- a/paper-api/src/main/java/org/bukkit/damage/DamageScaling.java
+++ b/paper-api/src/main/java/org/bukkit/damage/DamageScaling.java
@@ -1,12 +1,10 @@
package org.bukkit.damage;
import org.bukkit.entity.Player;
-import org.jetbrains.annotations.ApiStatus;
/**
* A means of damage scaling with respect to the server's difficulty.
*/
-@ApiStatus.Experimental
public enum DamageScaling {
/**
diff --git a/paper-api/src/main/java/org/bukkit/damage/DamageSource.java b/paper-api/src/main/java/org/bukkit/damage/DamageSource.java
index 54fa3ebe541a..2a1a2a50e789 100644
--- a/paper-api/src/main/java/org/bukkit/damage/DamageSource.java
+++ b/paper-api/src/main/java/org/bukkit/damage/DamageSource.java
@@ -3,14 +3,12 @@
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
-import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* Represents a source of damage.
*/
-@ApiStatus.Experimental
public interface DamageSource {
/**
diff --git a/paper-api/src/main/java/org/bukkit/damage/DamageType.java b/paper-api/src/main/java/org/bukkit/damage/DamageType.java
index a638e1afcdb0..f813d72354b6 100644
--- a/paper-api/src/main/java/org/bukkit/damage/DamageType.java
+++ b/paper-api/src/main/java/org/bukkit/damage/DamageType.java
@@ -4,9 +4,7 @@
import io.papermc.paper.registry.RegistryKey;
import org.bukkit.Keyed;
import org.bukkit.NamespacedKey;
-import org.bukkit.Registry;
import org.bukkit.Translatable;
-import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
/**
@@ -18,7 +16,6 @@
*
* @see Minecraft Wiki
*/
-@ApiStatus.Experimental
public interface DamageType extends Keyed, Translatable {
// Start generate - DamageType
diff --git a/paper-api/src/main/java/org/bukkit/damage/DeathMessageType.java b/paper-api/src/main/java/org/bukkit/damage/DeathMessageType.java
index e182eb4df2ab..5fd490519dff 100644
--- a/paper-api/src/main/java/org/bukkit/damage/DeathMessageType.java
+++ b/paper-api/src/main/java/org/bukkit/damage/DeathMessageType.java
@@ -1,11 +1,8 @@
package org.bukkit.damage;
-import org.jetbrains.annotations.ApiStatus;
-
/**
* Represents a type of death message used by a {@link DamageSource}.
*/
-@ApiStatus.Experimental
public enum DeathMessageType {
/**
diff --git a/paper-api/src/main/java/org/bukkit/damage/package-info.java b/paper-api/src/main/java/org/bukkit/damage/package-info.java
index c2ff9942be2a..c7be54d6012b 100644
--- a/paper-api/src/main/java/org/bukkit/damage/package-info.java
+++ b/paper-api/src/main/java/org/bukkit/damage/package-info.java
@@ -1,5 +1,7 @@
/**
* Classes concerning damage types and sources applicable to living entities.
*/
-@org.jetbrains.annotations.ApiStatus.Experimental
+@ApiStatus.Experimental
package org.bukkit.damage;
+
+import org.jetbrains.annotations.ApiStatus;
diff --git a/paper-api/src/main/java/org/bukkit/entity/AbstractArrow.java b/paper-api/src/main/java/org/bukkit/entity/AbstractArrow.java
index 7555d641ccd0..9fb484eee66e 100644
--- a/paper-api/src/main/java/org/bukkit/entity/AbstractArrow.java
+++ b/paper-api/src/main/java/org/bukkit/entity/AbstractArrow.java
@@ -1,12 +1,11 @@
package org.bukkit.entity;
+import java.util.List;
import org.bukkit.block.Block;
import org.bukkit.inventory.ItemStack;
-import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.Unmodifiable;
-import java.util.List;
/**
* Represents an arrow.
@@ -157,7 +156,6 @@ public interface AbstractArrow extends Projectile {
* @deprecated use {@link #getItemStack()}
*/
@NotNull
- @ApiStatus.Experimental
@Deprecated(forRemoval = true, since = "1.20.4") // Paper
public ItemStack getItem();
@@ -167,7 +165,6 @@ public interface AbstractArrow extends Projectile {
* @param item ItemStack set to be picked up
* @deprecated use {@link #setItemStack(ItemStack)}
*/
- @ApiStatus.Experimental
@Deprecated(forRemoval = true, since = "1.20.4") // Paper
public void setItem(@NotNull ItemStack item);
@@ -177,7 +174,6 @@ public interface AbstractArrow extends Projectile {
* @return The firing ItemStack
*/
@Nullable // Paper
- @ApiStatus.Experimental
public ItemStack getWeapon();
/**
@@ -185,7 +181,6 @@ public interface AbstractArrow extends Projectile {
*
* @param item The firing ItemStack
*/
- @ApiStatus.Experimental
public void setWeapon(@NotNull ItemStack item);
/**
diff --git a/paper-api/src/main/java/org/bukkit/entity/Player.java b/paper-api/src/main/java/org/bukkit/entity/Player.java
index acb7a39ac64b..3584ca0a89f5 100644
--- a/paper-api/src/main/java/org/bukkit/entity/Player.java
+++ b/paper-api/src/main/java/org/bukkit/entity/Player.java
@@ -621,7 +621,6 @@ default void kick(final net.kyori.adventure.text.@Nullable Component message) {
*
* @return current input
*/
- @ApiStatus.Experimental
public Input getCurrentInput();
/**
@@ -1251,7 +1250,6 @@ void sendSignChange(Location loc, java.util.@Nullable List extends net.kyori.a
* @throws IllegalArgumentException if location is null
* @throws IllegalArgumentException if tileState is null
*/
- @ApiStatus.Experimental
public void sendBlockUpdate(Location loc, TileState tileState) throws IllegalArgumentException;
/**
diff --git a/paper-api/src/main/java/org/bukkit/event/block/BlockDispenseLootEvent.java b/paper-api/src/main/java/org/bukkit/event/block/BlockDispenseLootEvent.java
index f0a66d428f8d..651a9f9e7061 100644
--- a/paper-api/src/main/java/org/bukkit/event/block/BlockDispenseLootEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/block/BlockDispenseLootEvent.java
@@ -20,7 +20,6 @@
* Example: A player unlocks a trial chamber vault and the vault block dispenses
* its loot.
*/
-@ApiStatus.Experimental
public class BlockDispenseLootEvent extends BlockEvent implements Cancellable {
private static final HandlerList HANDLER_LIST = new HandlerList();
diff --git a/paper-api/src/main/java/org/bukkit/event/block/VaultDisplayItemEvent.java b/paper-api/src/main/java/org/bukkit/event/block/VaultDisplayItemEvent.java
index 825f9003b48f..36dadd6edd7c 100644
--- a/paper-api/src/main/java/org/bukkit/event/block/VaultDisplayItemEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/block/VaultDisplayItemEvent.java
@@ -11,7 +11,6 @@
/**
* Called when a vault in a trial chamber is about to display an item.
*/
-@ApiStatus.Experimental
public class VaultDisplayItemEvent extends BlockEvent implements Cancellable {
private static final HandlerList HANDLER_LIST = new HandlerList();
diff --git a/paper-api/src/main/java/org/bukkit/event/player/PlayerInputEvent.java b/paper-api/src/main/java/org/bukkit/event/player/PlayerInputEvent.java
index 202c06ad68b7..edd304f1b4cd 100644
--- a/paper-api/src/main/java/org/bukkit/event/player/PlayerInputEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/player/PlayerInputEvent.java
@@ -11,7 +11,6 @@
*
* @see Player#getCurrentInput()
*/
-@ApiStatus.Experimental
public class PlayerInputEvent extends PlayerEvent {
private static final HandlerList HANDLER_LIST = new HandlerList();
diff --git a/paper-api/src/main/java/org/bukkit/inventory/EquipmentSlotGroup.java b/paper-api/src/main/java/org/bukkit/inventory/EquipmentSlotGroup.java
index c2bde1cb8fa6..55fb25a25301 100644
--- a/paper-api/src/main/java/org/bukkit/inventory/EquipmentSlotGroup.java
+++ b/paper-api/src/main/java/org/bukkit/inventory/EquipmentSlotGroup.java
@@ -12,7 +12,6 @@
/**
* Represents a group of {@link EquipmentSlot}.
*/
-@ApiStatus.Experimental
public final class EquipmentSlotGroup implements Predicate {
private static final Map BY_NAME = new HashMap<>();
diff --git a/paper-api/src/main/java/org/bukkit/plugin/java/JavaPlugin.java b/paper-api/src/main/java/org/bukkit/plugin/java/JavaPlugin.java
index e46a3720e6c9..7bdbfbd48329 100644
--- a/paper-api/src/main/java/org/bukkit/plugin/java/JavaPlugin.java
+++ b/paper-api/src/main/java/org/bukkit/plugin/java/JavaPlugin.java
@@ -372,7 +372,6 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
* @param basicCommand the basic command instance to register
* @see LifecycleEvents#COMMANDS
*/
- @ApiStatus.Experimental
public void registerCommand(final String label, final BasicCommand basicCommand) {
this.registerCommand(label, null, Collections.emptyList(), basicCommand);
}
@@ -392,7 +391,6 @@ public void registerCommand(final String label, final BasicCommand basicCommand)
* @param basicCommand the basic command instance to register
* @see LifecycleEvents#COMMANDS
*/
- @ApiStatus.Experimental
public void registerCommand(final String label, final @Nullable String description, final BasicCommand basicCommand) {
this.registerCommand(label, description, Collections.emptyList(), basicCommand);
}
@@ -412,7 +410,6 @@ public void registerCommand(final String label, final @Nullable String descripti
* @param basicCommand the basic command instance to register
* @see LifecycleEvents#COMMANDS
*/
- @ApiStatus.Experimental
public void registerCommand(final String label, final Collection aliases, final BasicCommand basicCommand) {
this.registerCommand(label, null, aliases, basicCommand);
}
@@ -433,7 +430,6 @@ public void registerCommand(final String label, final Collection aliases
* @param basicCommand the basic command instance to register
* @see LifecycleEvents#COMMANDS
*/
- @ApiStatus.Experimental
public void registerCommand(final String label, final @Nullable String description, final Collection aliases, final BasicCommand basicCommand) {
this.getLifecycleManager().registerEventHandler(LifecycleEvents.COMMANDS, event -> {
event.registrar().register(label, description, aliases, basicCommand);
diff --git a/paper-api/src/main/java/org/bukkit/spawner/TrialSpawnerConfiguration.java b/paper-api/src/main/java/org/bukkit/spawner/TrialSpawnerConfiguration.java
index e5c2a1eb7ed6..6e00cc7ae574 100644
--- a/paper-api/src/main/java/org/bukkit/spawner/TrialSpawnerConfiguration.java
+++ b/paper-api/src/main/java/org/bukkit/spawner/TrialSpawnerConfiguration.java
@@ -2,13 +2,12 @@
import java.util.Map;
import org.bukkit.loot.LootTable;
-import org.jetbrains.annotations.ApiStatus;
-import org.jetbrains.annotations.NotNull;
+import org.jspecify.annotations.NullMarked;
/**
* Represents one of the configurations of a trial spawner.
*/
-@ApiStatus.Experimental
+@NullMarked
public interface TrialSpawnerConfiguration extends BaseSpawner {
/**
@@ -17,7 +16,7 @@ public interface TrialSpawnerConfiguration extends BaseSpawner {
*
* @return the number of entities
*/
- public float getBaseSpawnsBeforeCooldown();
+ float getBaseSpawnsBeforeCooldown();
/**
* Sets the base number of entities the spawner will spawn before going into
@@ -25,7 +24,7 @@ public interface TrialSpawnerConfiguration extends BaseSpawner {
*
* @param amount the number of entities
*/
- public void setBaseSpawnsBeforeCooldown(float amount);
+ void setBaseSpawnsBeforeCooldown(float amount);
/**
* Gets the base number of entities this spawner can track at once.
@@ -34,7 +33,7 @@ public interface TrialSpawnerConfiguration extends BaseSpawner {
*
* @return the number of entities
*/
- public float getBaseSimultaneousEntities();
+ float getBaseSimultaneousEntities();
/**
* Sets the base number of entities this spawner can track at once.
@@ -43,7 +42,7 @@ public interface TrialSpawnerConfiguration extends BaseSpawner {
*
* @param amount the number of entities
*/
- public void setBaseSimultaneousEntities(float amount);
+ void setBaseSimultaneousEntities(float amount);
/**
* Gets the additional number of entities the spawner will spawn per tracked player
@@ -51,7 +50,7 @@ public interface TrialSpawnerConfiguration extends BaseSpawner {
*
* @return the number of entities
*/
- public float getAdditionalSpawnsBeforeCooldown();
+ float getAdditionalSpawnsBeforeCooldown();
/**
* Sets the additional number of entities the spawner will spawn per tracked player
@@ -59,7 +58,7 @@ public interface TrialSpawnerConfiguration extends BaseSpawner {
*
* @param amount the number of entities
*/
- public void setAdditionalSpawnsBeforeCooldown(float amount);
+ void setAdditionalSpawnsBeforeCooldown(float amount);
/**
* Gets the additional number of entities this spawner can track at once per
@@ -69,7 +68,7 @@ public interface TrialSpawnerConfiguration extends BaseSpawner {
*
* @return the number of entities
*/
- public float getAdditionalSimultaneousEntities();
+ float getAdditionalSimultaneousEntities();
/**
* Sets the additional number of entities this spawner can track at once per
@@ -79,26 +78,25 @@ public interface TrialSpawnerConfiguration extends BaseSpawner {
*
* @param amount the number of entities
*/
- public void setAdditionalSimultaneousEntities(float amount);
+ void setAdditionalSimultaneousEntities(float amount);
/**
* Gets a list of {@link LootTable}s this spawner can pick a reward from as
* well as their associated weight to be chosen.
*
* @return a map of loot tables and their associated weight, or an empty
- * map if there are none
+ * map if there are none
*/
- @NotNull
- public Map getPossibleRewards();
+ Map getPossibleRewards();
/**
* Add a {@link LootTable} to the list of tables this spawner can pick a reward
* from with a given weight.
*
- * @param table the loot table
+ * @param table the loot table
* @param weight the weight, must be at least 1
*/
- public void addPossibleReward(@NotNull LootTable table, int weight);
+ void addPossibleReward(LootTable table, int weight);
/**
* Removes the provided {@link LootTable} from the list of tables this spawner
@@ -106,7 +104,7 @@ public interface TrialSpawnerConfiguration extends BaseSpawner {
*
* @param table the loot table
*/
- public void removePossibleReward(@NotNull LootTable table);
+ void removePossibleReward(LootTable table);
/**
* Sets the list of {@link LootTable}s and their weights this spawner can pick a
@@ -115,7 +113,7 @@ public interface TrialSpawnerConfiguration extends BaseSpawner {
* 1.
*
* @param rewards a map of loot tables and their weights, or null to clear all
- * possible tables
+ * possible tables
*/
- public void setPossibleRewards(@NotNull Map rewards);
+ void setPossibleRewards(Map rewards);
}
diff --git a/paper-generator/src/main/java/io/papermc/generator/types/registry/GeneratedTagKeyType.java b/paper-generator/src/main/java/io/papermc/generator/types/registry/GeneratedTagKeyType.java
index 76249ac8f835..063ebd9066e5 100644
--- a/paper-generator/src/main/java/io/papermc/generator/types/registry/GeneratedTagKeyType.java
+++ b/paper-generator/src/main/java/io/papermc/generator/types/registry/GeneratedTagKeyType.java
@@ -48,7 +48,6 @@ private MethodSpec.Builder createMethod(TypeName returnType) {
.addCode("return $T.create($T.$L, $N);", TagKey.class, RegistryKey.class, this.entry.registryKeyField(), keyParam)
.returns(returnType);
if (publicCreateKeyMethod) {
- create.addAnnotation(EXPERIMENTAL_API_ANNOTATION); // TODO remove once not experimental
create.addJavadoc(Javadocs.CREATED_TAG_KEY_JAVADOC, this.entry.apiClass(), this.entry.registryKey().location().toString());
}
return create;
@@ -90,8 +89,6 @@ protected TypeSpec getTypeSpec() {
if (allExperimental.get()) {
typeBuilder.addAnnotation(EXPERIMENTAL_API_ANNOTATION);
createMethod.addAnnotation(EXPERIMENTAL_API_ANNOTATION);
- } else {
- typeBuilder.addAnnotation(EXPERIMENTAL_API_ANNOTATION); // TODO experimental API
}
return typeBuilder.addMethod(createMethod.build()).build();
}