LocationOwnership
Cross-plugin location ownership API.
Plugins that "own" certain locations (worlds, regions, instanced content, scripted areas) register themselves once on enable. Any other plugin can then ask whether a given location is owned, by whom, and with what kind tags — without taking a hard dependency on the owning plugin.
Backed by Bukkit's ServicesManager, so registrations propagate across plugin classloaders even when MagmaCore is shaded into multiple consumer plugins. Registrations are keyed under Predicate (a JDK class with stable identity across classloaders); each plugin's shaded copy of LocationOwnershipEntry is identified by its simple class name — which the shade relocation does not rename — and dispatched via reflection on JDK-stable method signatures.
Bukkit auto-unregisters all of a plugin's services when the plugin disables, so callers don't need to clean up.