Skip to content
This repository was archived by the owner on Feb 17, 2025. It is now read-only.
This repository was archived by the owner on Feb 17, 2025. It is now read-only.

Proposed rewrite/changes #37

@BomBardyGamer

Description

@BomBardyGamer

I know there is already a sort of issue open for this, but I thought I would detail a bit more and make it clear. And also add my propositions as well.

I propose that we completely change the project's structure, splitting each supported platform for PDM into its own module.
For example, we could have a module called "platforms", and then have a module for Bukkit, BungeeCord, Sponge, Velocity, Krypton, etc.

I also think that to maintain compatibility with Java 16, we should implement a system very similar to Luck's jar in jar system that he uses for LuckPerms, which allows us to control the loading of the plugin's classes ourselves, and also allows us to make our own URL class loader extension that exposes adding URLs to classpath, to avoid messy and hacky reflection that Java 16 doesn't allow by default.

In addition, I also believe that it the relocation PR is well overdue to be merged into the upstream, and we might be able to integrate that in when we do the rewrite.

I would like to mention as well that anyone is welcome to participate in this, and that I intend to be at the heart of this.

Let me know if I missed anything!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions