SIR Java API
Entry point, manager access, package map, and public type reference for integrations against the SIR API jar.
Public API for integrations and addons
Use com.bitaspire.sir:api:2.3.1. We do not document the runtime artifact as a public dependency; SIR+ resolves it internally to run the platform.
Use com.bitaspire.sir:api:2.3.1 as your compile dependency. Published Maven coordinates and aggregate POMs are documented in Published Packages.
Entry point
Use SIRApi.instance() as the main access point once SIR has initialized.
import com.bitaspire.sir.SIRApi;
import com.bitaspire.sir.command.CommandManager;
import com.bitaspire.sir.user.UserManager;
SIRApi api = SIRApi.instance();
UserManager users = api.getUserManager();
CommandManager commands = api.getCommandManager();SIRApi#getAddonManager() is available in SIR+. Base SIR exposes the method in the shared API, but the default implementation throws UnsupportedOperationException because addon management belongs to SIR+.
Java package map
These are Java packages inside the SIR API jar, not Maven artifact IDs.
| Java package | Use it for | Main public types |
|---|---|---|
com.bitaspire.sir | Shared entry points, extension contracts, helper abstractions, listener and PlaceholderAPI utilities | SIRApi, SIRExtension, Config, Information, PermissibleUnit, PluginDependant, Listener, PAPIExpansion, ExtensionFile, UserFormatter<T> |
com.bitaspire.sir.addon | SIR+ addon lifecycle, addon metadata, and addon manager access | SIRAddon, AddonManager, AddonInformation |
com.bitaspire.sir.channel | Current chat-channel contract used by the modern channels module and SIR+ | ChatChannel, Access, Audience, Style, Logging, Click |
com.bitaspire.sir.command | Command-provider extensions, SIR-aware commands, command metadata, and command state | CommandProvider, SIRCommand, StandaloneProvider, CommandManager, SettingsService, CommandFile, ProviderInformation |
com.bitaspire.sir.module | Module extensions, module metadata, module manager access, and built-in module service bridges | SIRModule, ModuleManager, ModuleInformation, JoinQuitService, DiscordService |
com.bitaspire.sir.user | User lookup and persistent user-state wrappers for nick, mute, ignore, channel, color, and immunity state | SIRUser, UserManager, NickData, MuteData, IgnoreData, ChannelData, ColorData, ImmuneData |
Only public classes and interfaces are part of the supported API surface. Package-private helpers inside the source tree are implementation details.
Root package: com.bitaspire.sir
| Type | Purpose |
|---|---|
SIRApi | Main API entry point for plugin access, managers, scheduler, Vault providers, Takion services, and reload. |
SIRExtension | Shared extension lifecycle contract used by modules and addons. |
Config | Configuration abstraction exposed by the plugin API. |
Information | Shared metadata contract for extensions shown in menus or managers. |
PermissibleUnit | Base contract for permission-aware, ordered units such as channel-style entries. |
PluginDependant | Contract for extensions that require external Bukkit plugins. |
Listener | Convenience base for registering and unregistering Bukkit listeners. |
PAPIExpansion | Base for PlaceholderAPI expansions shipped by an integration or addon. |
ExtensionFile | File helper for extension-owned resources. |
UserFormatter<T> | Formatter contract resolved through module or addon managers. |
ChatToggleable | Contract for user-level chat toggles. |
MenuToggleable | Contract for extension entries that can be toggled through SIR menus. |
ChatChannel | Deprecated compatibility bridge to com.bitaspire.sir.channel.ChatChannel. |
DelayLogger, JsonParser, SoundSection, SoundUtils, Timer | Utility types exposed for common plugin-side tasks. |
Addon package: com.bitaspire.sir.addon
| Type | Purpose |
|---|---|
SIRAddon | Base class for SIR+ addons. Extend this when building an addon jar. |
AddonManager | SIR+ manager for addon lookup, loading, unloading, enable state, GUI access, and formatter lookup. |
AddonInformation | Parsed addon metadata used by the runtime and menus. |
Channel package: com.bitaspire.sir.channel
| Type | Purpose |
|---|---|
ChatChannel | Canonical channel contract. New code should import this package, not the deprecated root bridge. |
Access | Permission, group, and access behavior for a channel. |
Audience | Recipient and radius behavior. |
Style | Formatting and click-style behavior. |
Logging | Channel logging behavior. |
Click | Click-action contract used by channel style. |
Command package: com.bitaspire.sir.command
| Type | Purpose |
|---|---|
CommandProvider | Extension contract for addons or modules that expose SIR-aware commands. |
SIRCommand | Base command class with permission, language, parent-command, and completion helpers. |
StandaloneProvider | Base provider class for standalone command-provider jars. |
CommandManager | Manager for command loading, provider state, overrides, synchronization, menus, and lookup. |
SettingsService | Per-user command setting and toggle service. |
CommandFile | Parsed command metadata and options. |
ProviderInformation | Parsed provider metadata from commands.yml. |
Module package: com.bitaspire.sir.module
| Type | Purpose |
|---|---|
SIRModule | Base class for module jars and built-in module implementations. |
ModuleManager | Manager for module lookup, loading, unloading, enable state, menus, formatter lookup, and services. |
ModuleInformation | Parsed module metadata used by the runtime and menus. |
JoinQuitService | Service bridge for join and quit behavior when that module is present. |
DiscordService | Service bridge for Discord integration when that module is present. |
User package: com.bitaspire.sir.user
| Type | Purpose |
|---|---|
SIRUser | User wrapper for Bukkit player access, permissions, sounds, teleport helpers, nearby users, and user data. |
UserManager | User lookup, permission checks, and user-state manager access. |
ChannelData | User channel preferences and current channel state. |
ColorData | User chat color state. |
IgnoreData | Ignore-list state. |
ImmuneData | Immunity state. |
MuteData | Mute state. |
NickData | Nickname state. |
For addon-specific lifecycle, continue with SIR+ Addons API.
Integrations
Third-party plugins and libraries that SIR can detect, use, or work alongside.
Published Packages
Maven repository URL, published artifact coordinates, Gradle and Maven dependency snippets for SIR modules, commands, and the core API.
Last updated on