bekvon / Residence

Residence Bukkit Plugin
GNU General Public License v3.0
105 stars 175 forks source link

Residence force-enables Multiverse-Core which breaks load-order contract with server #147

Closed tastybento closed 5 years ago

tastybento commented 5 years ago

We hit a problem with Residence because it force-enables Multiverse-Core out of order from when it should be enabled according to the contract plugins have with the Server via plugin.yml declarations. For example, if the load order of plugins is:

  1. Residence
  2. BentoBox (has a loadbefore: Multiverse-Core in plugin.yml)
  3. Multiverse-Core

The enable order actually becomes:

  1. Residence / Multiverse-Core (Residence forces MV to enable here as a part of Residence enabling)
  2. BentoBox

The problem with this is that some plugins, like BentoBox, have a loadbefore dependency on MultiverseCore in plugin.yml because they contain a world generator or many world generators. If MV starts before they exist, then it throws errors.

Expected Ideally, add Multiverse-Core as a softdepend in your plugin.yml so that the Server will correctly load in this order:

  1. BentoBox (has a loadbefore: Multiverse-Core)
  2. Multiverse-Core
  3. Residence (has a softdepend on MV)

Thanks!

tastybento commented 5 years ago

Fixed here