BitAspire Wiki
SIR+SIR+

Frequently Asked Questions

Common questions about SIR+, addon loading, provider overrides, migration sources, runtime state, and addon development.

Frequently Asked Questions

When should I choose SIR+ instead of base SIR?

Choose SIR+ when you need more than the stock module and provider catalog.

The biggest reasons are:

  • addon jar loading
  • addon state management
  • per-command override control
  • the public SIRApi artifact for addon development
  • wider migration coverage, including CMI

If you only want the bundled feature set and no addon runtime, base SIR 2.0.0 is usually enough.


Are the built-in modules different from base SIR?

The stock module and provider inventory is essentially the same foundation as Modern SIR.

What changes in SIR+ is the runtime around them:

  • addon jars
  • addon state
  • extra admin subcommands
  • per-command override management

That is why the built-in module and provider docs still matter on an addon-focused server.


Where do addon jars go?

Inside:

plugins/SIR-Plus/addons/

Addon enable state is persisted in:

plugins/SIR-Plus/addons/states.yml

If an addon exists on disk but does not load, inspect:

  • the jar root
  • addon.yml
  • addons/states.yml

Why is an addon not loading?

The most common causes are:

  1. addon.yml is missing from the jar root
  2. the main class does not extend SIRAddon
  3. the addon is disabled in addons/states.yml
  4. a required addon dependency declared in depend is missing
  5. a required Bukkit plugin dependency is missing

The runtime side of this is documented in Addon Runtime.


Why is an addon command not overriding another plugin command?

In SIR+, provider state and override state are separate concerns.

Check commands/states.yml and confirm:

  • the provider is enabled
  • the specific command override state is enabled if you expect SIR+ to own that label

This is especially important when you use:

/sir commands [provider] override [command] [state]

Which extra admin permission does SIR+ add?

The permission to remember is:

sir.admin.addons

Without it, staff can manage modules and providers but not the addon runtime.


Can addons replace built-in modules?

Addons extend the platform, but they do not magically erase the built-in module layer.

In practice, addons usually:

  • register extra commands through CommandProvider
  • use SIRApi to integrate with existing managers
  • add extra listeners, integrations, or workflows

You should still treat modules/, commands/, and addons/ as distinct operational layers.


Can SIR+ migrate from Modern SIR too?

Yes.

SIR+ can detect already-modern SIR layouts and copy structured data directly, including:

  • users/
  • modules/
  • commands/
  • root shared files such as config.yml, bossbars.yml, and webhooks.yml

This is why SIR+ is a comfortable upgrade target from base 2.0.0.


What migration sources does SIR+ support?

The main migration path explicitly supports:

  • SIR
  • Essentials
  • CMI

When you choose SIR, the runtime can distinguish between a Legacy source and an already-modern source.


Do I need the API jar just to use SIR+ on a server?

No.

Server operators only need the main plugin jar.

The API artifacts in Addons API are only for developers who want to compile custom addons against SIRApi.


Should I bundle the API jar inside my addon jar?

Usually no.

The normal model is compileOnly or provided, because SIR+ already supplies the real classes at runtime. Bundling the API jar into your addon usually creates unnecessary duplication and can complicate class ownership.


Can an addon and a stock provider coexist?

Yes, but you should decide the ownership model clearly.

Typical patterns are:

  • keep the stock provider and let the addon add extra commands
  • keep the stock provider but disable override for one conflicting command
  • let the addon own a command label completely and relax the stock override

That decision belongs in your runtime plan, not only in the addon code.


What is the fastest troubleshooting order in SIR+?

Use this sequence:

  1. confirm the module or provider is enabled
  2. confirm the addon is enabled if the feature comes from an addon
  3. inspect commands/states.yml for provider and override state
  4. inspect addons/states.yml for addon state
  5. inspect descriptor files such as commands.yml or addon.yml

Then continue with Commands & Permissions, Addon Runtime, or Addons API depending on what failed.

Last updated on

On this page