Skip to content

feat: Provide way to decouple dependant plugins from Idofront #87

@0ffz

Description

@0ffz

Investigate ways we could let our plugins be used WITHOUT the explicit dependency on Idofront. Currently, the purpose of depending on a specific version of Idofront is primarily to ensure all our plugins can share core dependencies (this is primarily needed for Kotlin, ex. reified types can't be used the KClass reference comes from a different classloader), however we consistently run into breaking version problems with small changes to our config, command, etc... libraries, which plugins should not need to share.

Potential solutions

  • Look at Paper's PluginLoader to let plugins depend on Idofront if it is present, or otherwise include libraries it needs without the dependency.
  • Develop a mechanism for always downloading certain libraries per plugin (ex. kaml often breaks for us), while trying to share others (like Kotlin.)
  • Check if it's possible to skip the idofront dependency entirely, and somehow let plugins share the same downloaded dependency without depending on another plugin's classloader. Is there a built-in mechanism for this on Paper?

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Default

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions