Description
This is a tracking issue to list all known plugins that are not compatible for various reasons
Common reasons for a plugin not recognizing ServiceIO as Vault
- Iterating all loaded plugins and using
Plugin#getName
to check for Vault - Using
Class#forName
to check for the presence of Vault internal classes
Proper way to make your plugin recognize ServiceIO as Vault
- Use
PluginManager#isPluginLoaded("Vault")
- Use
PluginManager#getPlugin("Vault") != null
- When using
Plugin#getName
also checkPluginMeta#getProvidedPlugins
- Avoid
Class#forName
or at least only do so on API class names and not internal ones - If Vault is not optional for your plugin, don't incorporate any checks and just use the API
Why this happens
- Since ServiceIO only provides the VaultAPI it doesn't come with the same packages and classes as the Vault-Plugin, so class name checks will fail when testing for Vault-internal classes.
- When improperly testing for Vault by its name, there won't be any matching results available, since the ServiceIO Plugin is not named Vault for somewhat obvious reasons.
How you as a user can temporarily resolve that problem for yourself
- Open the jar file of ServiceIO with a zip extractor
- Open the
paper-plugin.yml
in a text editor - Change
name
fromServiceIO
toVault
- Replace
Vault
withServiceIO
underprovides
The changes you made should look like this:
Note: This is not an issue directly caused by ServiceIO and should be addressed in other plugins
A list of all known incompatible plugins
- CMI
- Eco
- QuickShop-Hikari
- Towny