Paper icon indicating copy to clipboard operation
Paper copied to clipboard

Let JavaPluginLoader load classes from plugins that the requested plugin depended on firstly

Open theTd opened this issue 3 years ago • 1 comments

If a plugin is using a library class packaged by a plugin they're depended on, at the same time another plugin also packaged that library but another version, problem may raise. This patch will solve it.

theTd avatar Jun 29 '22 09:06 theTd

If I am understanding this correctly, this is essentially causing dependencies to be iterated over first?

Owen1212055 avatar Nov 19 '22 04:11 Owen1212055

See https://github.com/PaperMC/Paper/pull/8108 in general

Introducing a change like this may cause some weird issues because of the fun mess that is spigot plugins right now. It's super hard to tell if certain plugins actually depend on the unknown behavior of this. (Notice how when we introduced prioritized classloading it is under a toggle)

So I feel like it's better to leave the spigot classloading resolution alone for now, but with the new plugin type we are introducing we can introduce a new performant way of resolving other classloaders like this.

Owen1212055 avatar Dec 27 '22 21:12 Owen1212055