Skip to content

Incompatible plugins #62

Open
2 of 4 issues completed
Open
Task
2 of 4 issues completed
@NonSwag

Description

@NonSwag

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 check PluginMeta#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

  1. 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.
  2. 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

  1. Open the jar file of ServiceIO with a zip extractor
  2. Open the paper-plugin.yml in a text editor
  3. Change name from ServiceIO to Vault
  4. Replace Vault with ServiceIO under provides

The changes you made should look like this:
Image

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

Sub-issues

Metadata

Metadata

Assignees

Labels

help wantedExtra attention is neededincompatibilityA plugin that does not work with ServiceIO

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions