BitAspire Wiki

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 packageUse it forMain public types
com.bitaspire.sirShared entry points, extension contracts, helper abstractions, listener and PlaceholderAPI utilitiesSIRApi, SIRExtension, Config, Information, PermissibleUnit, PluginDependant, Listener, PAPIExpansion, ExtensionFile, UserFormatter<T>
com.bitaspire.sir.addonSIR+ addon lifecycle, addon metadata, and addon manager accessSIRAddon, AddonManager, AddonInformation
com.bitaspire.sir.channelCurrent chat-channel contract used by the modern channels module and SIR+ChatChannel, Access, Audience, Style, Logging, Click
com.bitaspire.sir.commandCommand-provider extensions, SIR-aware commands, command metadata, and command stateCommandProvider, SIRCommand, StandaloneProvider, CommandManager, SettingsService, CommandFile, ProviderInformation
com.bitaspire.sir.moduleModule extensions, module metadata, module manager access, and built-in module service bridgesSIRModule, ModuleManager, ModuleInformation, JoinQuitService, DiscordService
com.bitaspire.sir.userUser lookup and persistent user-state wrappers for nick, mute, ignore, channel, color, and immunity stateSIRUser, 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

TypePurpose
SIRApiMain API entry point for plugin access, managers, scheduler, Vault providers, Takion services, and reload.
SIRExtensionShared extension lifecycle contract used by modules and addons.
ConfigConfiguration abstraction exposed by the plugin API.
InformationShared metadata contract for extensions shown in menus or managers.
PermissibleUnitBase contract for permission-aware, ordered units such as channel-style entries.
PluginDependantContract for extensions that require external Bukkit plugins.
ListenerConvenience base for registering and unregistering Bukkit listeners.
PAPIExpansionBase for PlaceholderAPI expansions shipped by an integration or addon.
ExtensionFileFile helper for extension-owned resources.
UserFormatter<T>Formatter contract resolved through module or addon managers.
ChatToggleableContract for user-level chat toggles.
MenuToggleableContract for extension entries that can be toggled through SIR menus.
ChatChannelDeprecated compatibility bridge to com.bitaspire.sir.channel.ChatChannel.
DelayLogger, JsonParser, SoundSection, SoundUtils, TimerUtility types exposed for common plugin-side tasks.

Addon package: com.bitaspire.sir.addon

TypePurpose
SIRAddonBase class for SIR+ addons. Extend this when building an addon jar.
AddonManagerSIR+ manager for addon lookup, loading, unloading, enable state, GUI access, and formatter lookup.
AddonInformationParsed addon metadata used by the runtime and menus.

Channel package: com.bitaspire.sir.channel

TypePurpose
ChatChannelCanonical channel contract. New code should import this package, not the deprecated root bridge.
AccessPermission, group, and access behavior for a channel.
AudienceRecipient and radius behavior.
StyleFormatting and click-style behavior.
LoggingChannel logging behavior.
ClickClick-action contract used by channel style.

Command package: com.bitaspire.sir.command

TypePurpose
CommandProviderExtension contract for addons or modules that expose SIR-aware commands.
SIRCommandBase command class with permission, language, parent-command, and completion helpers.
StandaloneProviderBase provider class for standalone command-provider jars.
CommandManagerManager for command loading, provider state, overrides, synchronization, menus, and lookup.
SettingsServicePer-user command setting and toggle service.
CommandFileParsed command metadata and options.
ProviderInformationParsed provider metadata from commands.yml.

Module package: com.bitaspire.sir.module

TypePurpose
SIRModuleBase class for module jars and built-in module implementations.
ModuleManagerManager for module lookup, loading, unloading, enable state, menus, formatter lookup, and services.
ModuleInformationParsed module metadata used by the runtime and menus.
JoinQuitServiceService bridge for join and quit behavior when that module is present.
DiscordServiceService bridge for Discord integration when that module is present.

User package: com.bitaspire.sir.user

TypePurpose
SIRUserUser wrapper for Bukkit player access, permissions, sounds, teleport helpers, nearby users, and user data.
UserManagerUser lookup, permission checks, and user-state manager access.
ChannelDataUser channel preferences and current channel state.
ColorDataUser chat color state.
IgnoreDataIgnore-list state.
ImmuneDataImmunity state.
MuteDataMute state.
NickDataNickname state.

For addon-specific lifecycle, continue with SIR+ Addons API.

Last updated on

On this page