diff --git a/paper-api/src/main/java/org/bukkit/Bukkit.java b/paper-api/src/main/java/org/bukkit/Bukkit.java index 122e66d21bf9..f5d69b1586ab 100644 --- a/paper-api/src/main/java/org/bukkit/Bukkit.java +++ b/paper-api/src/main/java/org/bukkit/Bukkit.java @@ -1079,7 +1079,10 @@ public static Logger getLogger() { * * @param name the name of the command to retrieve * @return a plugin command if found, null otherwise + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ + @Deprecated(since = "26.3") @Nullable public static PluginCommand getPluginCommand(@NotNull String name) { return server.getPluginCommand(name); @@ -1348,7 +1351,10 @@ public static boolean removeRecipe(@NotNull NamespacedKey key, boolean resendRec * Gets a list of command aliases defined in the server properties. * * @return a map of aliases to command names + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ + @Deprecated(since = "26.3") @NotNull public static Map getCommandAliases() { return server.getCommandAliases(); @@ -2658,7 +2664,10 @@ public static UnsafeValues getUnsafe() { * Gets the active {@link org.bukkit.command.CommandMap} * * @return the active command map + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ + @Deprecated(since = "26.3") @NotNull public static org.bukkit.command.CommandMap getCommandMap() { return server.getCommandMap(); @@ -2675,7 +2684,10 @@ public static void reloadPermissions() { * Reload the Command Aliases in commands.yml * * @return Whether the reload was successful + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ + @Deprecated(since = "26.3") public static boolean reloadCommandAliases() { return server.reloadCommandAliases(); } diff --git a/paper-api/src/main/java/org/bukkit/Server.java b/paper-api/src/main/java/org/bukkit/Server.java index a8e67888e63a..2de70df79541 100644 --- a/paper-api/src/main/java/org/bukkit/Server.java +++ b/paper-api/src/main/java/org/bukkit/Server.java @@ -995,7 +995,10 @@ default ItemStack createExplorerMap(@NotNull World world, @NotNull Location loca * * @param name the name of the command to retrieve * @return a plugin command if found, null otherwise + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ + @Deprecated(since = "26.3") @Nullable public PluginCommand getPluginCommand(@NotNull String name); @@ -1239,7 +1242,10 @@ default boolean removeRecipe(@NotNull NamespacedKey key) { * Gets a list of command aliases defined in the server properties. * * @return a map of aliases to command names + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ + @Deprecated(since = "26.3") @NotNull public Map getCommandAliases(); @@ -2207,7 +2213,10 @@ default int getAmbientSpawnLimit() { * Gets the active {@link org.bukkit.command.CommandMap} * * @return the active command map + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ + @Deprecated(since = "26.3") @NotNull org.bukkit.command.CommandMap getCommandMap(); @@ -2486,6 +2495,11 @@ public void restart() { void reloadPermissions(); // Paper + /** + * @deprecated plugin developers should prefer to use the + * Brigadier command API + */ + @Deprecated(since = "26.3") boolean reloadCommandAliases(); // Paper // Paper start - allow preventing player name suggestions by default diff --git a/paper-api/src/main/java/org/bukkit/command/Command.java b/paper-api/src/main/java/org/bukkit/command/Command.java index 3171a20c8fcf..234976f273d3 100644 --- a/paper-api/src/main/java/org/bukkit/command/Command.java +++ b/paper-api/src/main/java/org/bukkit/command/Command.java @@ -20,7 +20,11 @@ /** * Represents a Command, which executes various tasks upon user input + * + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ +@Deprecated(since = "26.3") public abstract class Command { private String name; private String nextLabel; diff --git a/paper-api/src/main/java/org/bukkit/command/CommandExecutor.java b/paper-api/src/main/java/org/bukkit/command/CommandExecutor.java index 8d7139467f71..7cac04ec62fe 100644 --- a/paper-api/src/main/java/org/bukkit/command/CommandExecutor.java +++ b/paper-api/src/main/java/org/bukkit/command/CommandExecutor.java @@ -4,7 +4,11 @@ /** * Represents a class which contains a single method for executing commands + * + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ +@Deprecated(since = "26.3") public interface CommandExecutor { /** @@ -18,6 +22,9 @@ public interface CommandExecutor { * @param label Alias of the command which was used * @param args Passed command arguments * @return true if a valid command, otherwise false + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ + @Deprecated(since = "26.3") public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String @NotNull [] args); } diff --git a/paper-api/src/main/java/org/bukkit/command/CommandMap.java b/paper-api/src/main/java/org/bukkit/command/CommandMap.java index 864c263bbd4d..e1beabc126f2 100644 --- a/paper-api/src/main/java/org/bukkit/command/CommandMap.java +++ b/paper-api/src/main/java/org/bukkit/command/CommandMap.java @@ -5,6 +5,11 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +/** + * @deprecated plugin developers should prefer to use the + * Brigadier command API + */ +@Deprecated(since = "26.3") public interface CommandMap { /** diff --git a/paper-api/src/main/java/org/bukkit/command/FormattedCommandAlias.java b/paper-api/src/main/java/org/bukkit/command/FormattedCommandAlias.java index 59fada9b1eb7..278694138952 100644 --- a/paper-api/src/main/java/org/bukkit/command/FormattedCommandAlias.java +++ b/paper-api/src/main/java/org/bukkit/command/FormattedCommandAlias.java @@ -9,6 +9,11 @@ import org.bukkit.Bukkit; import org.jetbrains.annotations.NotNull; +/** + * @deprecated plugin developers should prefer to use the + * Brigadier command API + */ +@Deprecated(since = "26.3") public class FormattedCommandAlias extends Command { private final String[] formatStrings; diff --git a/paper-api/src/main/java/org/bukkit/command/MultipleCommandAlias.java b/paper-api/src/main/java/org/bukkit/command/MultipleCommandAlias.java index 9a47b364d09d..0e50fb186827 100644 --- a/paper-api/src/main/java/org/bukkit/command/MultipleCommandAlias.java +++ b/paper-api/src/main/java/org/bukkit/command/MultipleCommandAlias.java @@ -4,7 +4,11 @@ /** * Represents a command that delegates to one or more other commands + * + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ +@Deprecated(since = "26.3") public class MultipleCommandAlias extends Command { private Command[] commands; diff --git a/paper-api/src/main/java/org/bukkit/command/PluginCommand.java b/paper-api/src/main/java/org/bukkit/command/PluginCommand.java index 551c5af6a7bf..b897b36afbc5 100644 --- a/paper-api/src/main/java/org/bukkit/command/PluginCommand.java +++ b/paper-api/src/main/java/org/bukkit/command/PluginCommand.java @@ -8,7 +8,11 @@ /** * Represents a {@link Command} belonging to a plugin + * + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ +@Deprecated(since = "26.3") public final class PluginCommand extends Command implements PluginIdentifiableCommand { private final Plugin owningPlugin; private CommandExecutor executor; diff --git a/paper-api/src/main/java/org/bukkit/command/PluginCommandYamlParser.java b/paper-api/src/main/java/org/bukkit/command/PluginCommandYamlParser.java index ef870b864c1e..cb70183e06d3 100644 --- a/paper-api/src/main/java/org/bukkit/command/PluginCommandYamlParser.java +++ b/paper-api/src/main/java/org/bukkit/command/PluginCommandYamlParser.java @@ -8,6 +8,11 @@ import org.bukkit.plugin.Plugin; import org.jetbrains.annotations.NotNull; +/** + * @deprecated plugin developers should prefer to use the + * Brigadier command API + */ +@Deprecated(since = "26.3") public class PluginCommandYamlParser { @NotNull diff --git a/paper-api/src/main/java/org/bukkit/command/PluginIdentifiableCommand.java b/paper-api/src/main/java/org/bukkit/command/PluginIdentifiableCommand.java index d51e0fd604a7..c7816b6d014d 100644 --- a/paper-api/src/main/java/org/bukkit/command/PluginIdentifiableCommand.java +++ b/paper-api/src/main/java/org/bukkit/command/PluginIdentifiableCommand.java @@ -8,7 +8,11 @@ * sub-indexes based on the {@link Plugin} they are a part of. Custom command * implementations will need to implement this interface to have a sub-index * automatically generated on the plugin's behalf. + * + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ +@Deprecated(since = "26.3") public interface PluginIdentifiableCommand { /** diff --git a/paper-api/src/main/java/org/bukkit/command/SimpleCommandMap.java b/paper-api/src/main/java/org/bukkit/command/SimpleCommandMap.java index ad1330d87223..ff6cf2e1dd8e 100644 --- a/paper-api/src/main/java/org/bukkit/command/SimpleCommandMap.java +++ b/paper-api/src/main/java/org/bukkit/command/SimpleCommandMap.java @@ -19,6 +19,11 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +/** + * @deprecated plugin developers should prefer to use the + * Brigadier command API + */ +@Deprecated(since = "26.3") public class SimpleCommandMap implements CommandMap { protected final Map knownCommands; private final Server server; diff --git a/paper-api/src/main/java/org/bukkit/command/TabCompleter.java b/paper-api/src/main/java/org/bukkit/command/TabCompleter.java index 2bcdaca5f206..183d8d049618 100644 --- a/paper-api/src/main/java/org/bukkit/command/TabCompleter.java +++ b/paper-api/src/main/java/org/bukkit/command/TabCompleter.java @@ -6,7 +6,11 @@ /** * Represents a class which can suggest tab completions for commands. + * + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ +@Deprecated(since = "26.3") public interface TabCompleter { /** @@ -21,7 +25,10 @@ public interface TabCompleter { * partial argument to be completed * @return A List of possible completions for the final argument, or null * to default to the command executor + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ + @Deprecated(since = "26.3") @Nullable public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String @NotNull [] args); } diff --git a/paper-api/src/main/java/org/bukkit/command/TabExecutor.java b/paper-api/src/main/java/org/bukkit/command/TabExecutor.java index 6b8e3fb2a080..4b4e3caf5045 100644 --- a/paper-api/src/main/java/org/bukkit/command/TabExecutor.java +++ b/paper-api/src/main/java/org/bukkit/command/TabExecutor.java @@ -3,6 +3,10 @@ /** * This class is provided as a convenience to implement both TabCompleter and * CommandExecutor. + * + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ +@Deprecated(since = "26.3") public interface TabExecutor extends TabCompleter, CommandExecutor { } diff --git a/paper-api/src/main/java/org/bukkit/command/defaults/BukkitCommand.java b/paper-api/src/main/java/org/bukkit/command/defaults/BukkitCommand.java index cb032d038f52..5c80ad722687 100644 --- a/paper-api/src/main/java/org/bukkit/command/defaults/BukkitCommand.java +++ b/paper-api/src/main/java/org/bukkit/command/defaults/BukkitCommand.java @@ -4,6 +4,11 @@ import org.bukkit.command.Command; import org.jetbrains.annotations.NotNull; +/** + * @deprecated plugin developers should prefer to use the + * Brigadier command API + */ +@Deprecated(since = "26.3") public abstract class BukkitCommand extends Command { protected BukkitCommand(@NotNull String name) { super(name); 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 0f3d3b757fbb..71830b7b67e3 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 @@ -309,16 +309,24 @@ public final void init(Server server, PluginDescriptionFile description, File da /** * {@inheritDoc} + * + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ @Override + @Deprecated(since = "26.3") public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { return false; } /** * {@inheritDoc} + * + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ @Override + @Deprecated(since = "26.3") public @Nullable List onTabComplete(CommandSender sender, Command command, String alias, String[] args) { return null; } @@ -332,7 +340,10 @@ public boolean onCommand(CommandSender sender, Command command, String label, St * @return the plugin command if found, otherwise null * @throws UnsupportedOperationException if this plugin is a paper plugin and the method is called in {@link #onEnable()} * @see #registerCommand(String, String, Collection, BasicCommand) + * @deprecated plugin developers should prefer to use the + * Brigadier command API */ + @Deprecated(since = "26.3") public @Nullable PluginCommand getCommand(String name) { if (this.isBeingEnabled && !(pluginMeta instanceof PluginDescriptionFile)) { throw new UnsupportedOperationException(""" diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 716c3b17dc07..68bfc36cffb3 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1424,6 +1424,7 @@ public Logger getLogger() { } @Override + @Deprecated public PluginCommand getPluginCommand(String name) { Command command = this.commandMap.getCommand(name); @@ -1664,6 +1665,7 @@ public boolean removeRecipe(NamespacedKey recipeKey, boolean resendRecipes) { } @Override + @Deprecated public Map getCommandAliases() { ConfigurationSection section = this.commandsConfiguration.getConfigurationSection("aliases"); Map result = new LinkedHashMap<>(); @@ -2290,6 +2292,7 @@ public HelpMap getHelpMap() { } @Override + @Deprecated public SimpleCommandMap getCommandMap() { return this.commandMap; } @@ -2858,6 +2861,7 @@ public void reloadPermissions() { } @Override + @Deprecated public boolean reloadCommandAliases() { Set removals = getCommandAliases().keySet().stream() .map(key -> key.toLowerCase(java.util.Locale.ENGLISH))