Minecraft Servers HQ

Minecraft plugin CommandAPI

Information about CommandAPI and servers where it was found

🔌 About CommandAPI

CommandAPI — is a developer‑focused Minecraft plugin library that helps plugin authors register vanilla‑style commands that integrate with Minecraft's command UI (Brigadier‑style suggestions, hover tooltips, argument validation). CommandAPI is intended for plugin developers who want their commands to behave like native Minecraft commands on Spigot/Paper servers and to be usable from command blocks, functions and /execute contexts.

🎯 Purpose

CommandAPI solves the problem of building modern, robust commands without writing Brigadier plumbing or registering commands in plugin.yml. It offers:

  • A programmatic API to declare commands, arguments and executors
  • Over 50 built‑in argument types (locations, players, items, particles, raw JSON chat, etc.)
  • Automatic argument validation and suggestion support
  • Ability to expose plugin commands as vanilla commands usable in datapacks, functions and command blocks

CommandAPI targets plugin developers rather than end users or server admins, but server owners will install the CommandAPI jar so dependent plugins can use it.

⚙ Main features

  • Register commands without modifying plugin.yml (programmatic registration). ()
  • Native‑like argument suggestions and validation (over 50 argument types). ()
  • Command conversion and datapack integration so commands can be executed from functions / command blocks. ()
  • Permission helpers via the CommandPermission API to attach OP, none, or custom permission nodes to commands/arguments. ()
  • Optional utilities for NBT and raw JSON chat (requires additional APIs or server types). ()

🧩 Who it's for

  • Plugin developers who want Brigadier‑style commands without shading Brigadier.
  • Server teams and networks that need commands usable in datapacks, functions or via /execute.
  • Projects that require fine‑grained argument permissions and modern command UX on Spigot/Paper.

🏗 Usage examples

  • A plugin registers /warp name:LocationArgument with tab suggestions and hover text for saved warps via CommandAPI.
  • Converting existing plugin commands to vanilla commands so they can be run from datapack functions.
  • Registering commands that can be executed by command blocks and are visible to the vanilla command UI.

⌨️ Commands

КомандаОписPermissionДоступ
The CommandAPI is a developer library and does not add player‑facing commands by itself. Plugins that use CommandAPI register commands for their own use.

The plugin does not add new commands on its own — CommandAPI is a library for other plugins. ()

🔐 Permissions

PermissionОписDefault
(no predefined global nodes)CommandAPI does not ship fixed permission nodes. Permissions are assigned by plugin authors using the CommandPermission API (OP / NONE / custom nodes). To expose permissions to the server, authors should declare nodes in their plugin.yml as usual.false

⚙ Installation

📥 Installation

  • Download the CommandAPI-.jar from the official releases (GitHub / docs) and place it in your server's plugins/ folder. ()
  • Fully restart the server (do not use /reload).
  • Install any plugins that depend on CommandAPI after placing the jar.

📦 Dependencies

  • Optional: NBT API if you use NBT arguments. ()
  • For raw JSON chat features, run on Spigot or a Paper‑based server (Paper/Purpur). ()
  • Java: the documentation notes CommandAPI was compiled with Java 16 for older stable docs; newer major releases have moved minimum Java requirements (e.g., Java 17 for v10+). Check the documentation/changelog for the exact required Java version for the release you download. ()

🧾 Configuration

  • CommandAPI generates a config.yml when first run and supports options for datapack reloading, plugin conversion and other behaviors (e.g., plugins-to-convert, skip-initial-datapack-reload, hook-paper-reload). ()
  • Configuration is required only if you want automatic command conversion, datapack behaviour tweaks, or to set conversion lists. Default settings are sufficient for many use cases.
  • CommandAPI supports exposing commands into datapacks and provides methods to reload datapacks programmatically. ()

🧠 Additional information

Known conflicts

  • Because CommandAPI may register commands that overlap with plugin.yml declarations, be cautious when using it alongside plugins that declare the same command names. The CommandAPI can warn about conflicts during registration. ()
  • Datapack reloading and command propagation differ across server implementations (Paper vs Spigot). Use the config options (hook-paper-reload, skip-initial-datapack-reload) to adjust behaviour. ()

Limitations

  • CommandAPI is a developer library — it provides an API surface; server admins will not get direct new commands unless a plugin registers them.
  • Some features (raw JSON chat, certain NMS internals) depend on server type/version and may require additional libraries.

FAQ

Q1: Can I use CommandAPI on a Paper server? A1: Yes — CommandAPI targets Spigot/Paper. Some features (raw JSON) specifically require Spigot or Paper. ()

Q2: Does CommandAPI add commands by itself? A2: No — CommandAPI is a library. Commands appear only when a plugin uses CommandAPI to register them. ()

Q3: How are permissions handled? A3: Use the CommandPermission API (OP / NONE / custom strings). Plugin authors should declare permission nodes in their plugin.yml if they want server admins to manage them. ()

Q4: Is shading required? A4: If a plugin shades CommandAPI into its jar, authors must call CommandAPI.onLoad() and CommandAPI.onEnable() appropriately (see troubleshooting). If not shading, standard installation is sufficient. ()

Telemetry / bStats

  • Information about bStats or telemetry is not present in the official documentation pages reviewed. If telemetry matters, check the specific release notes or repository before deploying. (Information not found in official sources.)

Support / Discord

  • The project links to official documentation and GitHub for issues and support. A Discord is referenced in project resources but an invite URL should be taken from the official project pages. (Do not rely on community mirrors.) ()

When CommandAPI is useful

If you are developing plugins that need modern command UX, datapack/function compatibility, or wish to avoid manual Brigadier wiring while targeting Spigot/Paper, CommandAPI is a well‑maintained library to consider. It focuses on developer ergonomics (programmatic command registration), command conversions and integration with Minecraft's native command UI. ()

Servers with CommandAPI

The CommandAPI plugin page shows which servers monitoring found this plugin on, and which platforms and versions it appears with.

Plugins may add commands, economy, protection, permissions, mini-games, integrations, or other mechanics. The actual role of CommandAPI depends on each server's configuration.

Data is generated automatically from technical server responses. If a server hides its plugin list, it may not appear in this section even if it uses CommandAPI.

Use the server list with CommandAPI to compare projects, check compatible versions, or find examples of how the plugin is used on public servers.