mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2025-02-16 12:31:59 +01:00
Revert "Add automatic listener registration through ListenerFeature."
This reverts commit d03063f2b9
.
This commit is contained in:
parent
e38796f492
commit
4aa1782cfd
@ -31,7 +31,9 @@ import com.onarandombox.MultiverseCore.world.WorldProperties;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.inject.Provider;
|
||||
import me.main__.util.SerializationConfig.SerializationConfig;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.plugin.PluginDescriptionFile;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.plugin.java.JavaPluginLoader;
|
||||
import org.glassfish.hk2.api.MultiException;
|
||||
@ -117,6 +119,7 @@ public class MultiverseCore extends JavaPlugin implements MVCore {
|
||||
// Init all the other stuff
|
||||
// TODO consider moving this into the AnchorManager constructor
|
||||
serviceLocator.getService(AnchorManager.class).loadAnchors();
|
||||
this.registerEvents();
|
||||
this.registerCommands();
|
||||
this.setUpLocales();
|
||||
this.registerDestinations();
|
||||
@ -158,6 +161,15 @@ public class MultiverseCore extends JavaPlugin implements MVCore {
|
||||
return !getConfigProvider().getConfig().getSilentStart();
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to Register all the Events needed.
|
||||
*/
|
||||
private void registerEvents() {
|
||||
// TODO add automatic listener registration through hk2
|
||||
PluginManager pluginManager = getServer().getPluginManager();
|
||||
getAllServices(Listener.class).forEach(listener -> pluginManager.registerEvents(listener, this));
|
||||
}
|
||||
|
||||
/**
|
||||
* Register Multiverse-Core commands to Command Manager.
|
||||
*/
|
||||
|
@ -1,47 +0,0 @@
|
||||
package com.onarandombox.MultiverseCore.inject.features;
|
||||
|
||||
import com.onarandombox.MultiverseCore.inject.InjectionFeature;
|
||||
import com.onarandombox.MultiverseCore.inject.registration.AbstractAutoRegistration;
|
||||
import com.onarandombox.MultiverseCore.inject.registration.AutoRegistrationBinder;
|
||||
import com.onarandombox.MultiverseCore.inject.registration.RegistrationFilter;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.inject.Provider;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.glassfish.hk2.api.ServiceLocator;
|
||||
import org.glassfish.hk2.utilities.ServiceLocatorUtilities;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jvnet.hk2.annotations.Service;
|
||||
|
||||
@Service
|
||||
class ListenerFeature implements InjectionFeature {
|
||||
|
||||
@Override
|
||||
public void postServicesCreation(ServiceLocator locator) {
|
||||
ServiceLocatorUtilities.bind(locator, AutoRegistrationBinder.with(ListenerAutoRegistration.class));
|
||||
}
|
||||
|
||||
@Service
|
||||
private static final class ListenerAutoRegistration extends AbstractAutoRegistration<Listener> {
|
||||
|
||||
private final @NotNull Provider<Plugin> pluginProvider;
|
||||
|
||||
@Inject
|
||||
private ListenerAutoRegistration(
|
||||
@NotNull Provider<Plugin> pluginProvider,
|
||||
@NotNull Provider<RegistrationFilter> filterProvider
|
||||
) {
|
||||
super(filterProvider, Listener.class);
|
||||
this.pluginProvider = pluginProvider;
|
||||
}
|
||||
|
||||
private Plugin getPlugin() {
|
||||
return pluginProvider.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void register(Listener instance) {
|
||||
getPlugin().getServer().getPluginManager().registerEvents(instance, getPlugin());
|
||||
}
|
||||
}
|
||||
}
|
@ -4,7 +4,6 @@ import com.onarandombox.MultiverseCore.api.MVWorldManager;
|
||||
import com.onarandombox.MultiverseCore.api.MVWorld;
|
||||
|
||||
import com.onarandombox.MultiverseCore.config.MVCoreConfigProvider;
|
||||
import com.onarandombox.MultiverseCore.inject.AutoLoadedService;
|
||||
import jakarta.inject.Inject;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@ -16,7 +15,7 @@ import org.jvnet.hk2.annotations.Service;
|
||||
* Multiverse's {@link org.bukkit.event.Listener} for players.
|
||||
*/
|
||||
@Service
|
||||
public class MVChatListener implements AutoLoadedService, Listener {
|
||||
public class MVChatListener implements Listener {
|
||||
private final MVCoreConfigProvider configProvider;
|
||||
private final MVWorldManager worldManager;
|
||||
private final MVPlayerListener playerListener;
|
||||
|
@ -12,7 +12,6 @@ import com.onarandombox.MultiverseCore.api.MVWorldManager;
|
||||
import com.onarandombox.MultiverseCore.api.MVWorld;
|
||||
import com.onarandombox.MultiverseCore.api.WorldPurger;
|
||||
import com.onarandombox.MultiverseCore.config.MVCoreConfigProvider;
|
||||
import com.onarandombox.MultiverseCore.inject.AutoLoadedService;
|
||||
import jakarta.inject.Inject;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.EntityType;
|
||||
@ -32,7 +31,7 @@ import org.jvnet.hk2.annotations.Service;
|
||||
* Multiverse's Entity {@link Listener}.
|
||||
*/
|
||||
@Service
|
||||
public class MVEntityListener implements AutoLoadedService, Listener {
|
||||
public class MVEntityListener implements Listener {
|
||||
private final MVCoreConfigProvider configProvider;
|
||||
private final MVWorldManager worldManager;
|
||||
private final WorldPurger worldPurger;
|
||||
|
@ -17,7 +17,6 @@ import com.onarandombox.MultiverseCore.api.MVWorldManager;
|
||||
import com.onarandombox.MultiverseCore.api.SafeTTeleporter;
|
||||
import com.onarandombox.MultiverseCore.config.MVCoreConfigProvider;
|
||||
import com.onarandombox.MultiverseCore.event.MVRespawnEvent;
|
||||
import com.onarandombox.MultiverseCore.inject.AutoLoadedService;
|
||||
import com.onarandombox.MultiverseCore.utils.MVPermissions;
|
||||
import com.onarandombox.MultiverseCore.utils.PermissionTools;
|
||||
import jakarta.inject.Inject;
|
||||
@ -44,7 +43,7 @@ import org.jvnet.hk2.annotations.Service;
|
||||
* Multiverse's {@link Listener} for players.
|
||||
*/
|
||||
@Service
|
||||
public class MVPlayerListener implements AutoLoadedService, Listener {
|
||||
public class MVPlayerListener implements Listener {
|
||||
private final Plugin plugin;
|
||||
private final MVCoreConfigProvider configProvider;
|
||||
private final Provider<MVWorldManager> worldManagerProvider;
|
||||
|
@ -10,7 +10,6 @@ package com.onarandombox.MultiverseCore.listeners;
|
||||
import com.dumptruckman.minecraft.util.Logging;
|
||||
import com.onarandombox.MultiverseCore.api.MVWorld;
|
||||
import com.onarandombox.MultiverseCore.api.MVWorldManager;
|
||||
import com.onarandombox.MultiverseCore.inject.AutoLoadedService;
|
||||
import jakarta.inject.Inject;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.PortalType;
|
||||
@ -26,7 +25,7 @@ import org.jvnet.hk2.annotations.Service;
|
||||
* A custom listener for portal related events.
|
||||
*/
|
||||
@Service
|
||||
public class MVPortalListener implements AutoLoadedService, Listener {
|
||||
public class MVPortalListener implements Listener {
|
||||
|
||||
private MVWorldManager worldManager;
|
||||
|
||||
|
@ -9,7 +9,6 @@ package com.onarandombox.MultiverseCore.listeners;
|
||||
|
||||
import com.onarandombox.MultiverseCore.api.MVWorld;
|
||||
import com.onarandombox.MultiverseCore.api.MVWorldManager;
|
||||
import com.onarandombox.MultiverseCore.inject.AutoLoadedService;
|
||||
import jakarta.inject.Inject;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
@ -21,7 +20,7 @@ import org.jvnet.hk2.annotations.Service;
|
||||
* Multiverse's Weather {@link Listener}.
|
||||
*/
|
||||
@Service
|
||||
public class MVWeatherListener implements AutoLoadedService, Listener {
|
||||
public class MVWeatherListener implements Listener {
|
||||
|
||||
private MVWorldManager worldManager;
|
||||
|
||||
|
@ -8,7 +8,6 @@
|
||||
package com.onarandombox.MultiverseCore.listeners;
|
||||
|
||||
import com.onarandombox.MultiverseCore.api.MVWorldManager;
|
||||
import com.onarandombox.MultiverseCore.inject.AutoLoadedService;
|
||||
import jakarta.inject.Inject;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
@ -16,7 +15,7 @@ import org.bukkit.event.world.WorldInitEvent;
|
||||
import org.jvnet.hk2.annotations.Service;
|
||||
|
||||
@Service
|
||||
public class MVWorldInitListener implements AutoLoadedService, Listener {
|
||||
public class MVWorldInitListener implements Listener {
|
||||
|
||||
private final MVWorldManager worldManager;
|
||||
|
||||
|
@ -9,7 +9,6 @@ package com.onarandombox.MultiverseCore.listeners;
|
||||
|
||||
import com.onarandombox.MultiverseCore.api.MVWorld;
|
||||
import com.onarandombox.MultiverseCore.api.MVWorldManager;
|
||||
import com.onarandombox.MultiverseCore.inject.AutoLoadedService;
|
||||
import jakarta.inject.Inject;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@ -22,10 +21,9 @@ import org.jvnet.hk2.annotations.Service;
|
||||
* Multiverse's World {@link Listener}.
|
||||
*/
|
||||
@Service
|
||||
public class MVWorldListener implements AutoLoadedService, Listener {
|
||||
public class MVWorldListener implements Listener {
|
||||
|
||||
// TODO change this back to private
|
||||
public MVWorldManager worldManager;
|
||||
private MVWorldManager worldManager;
|
||||
|
||||
@Inject
|
||||
public MVWorldListener(MVWorldManager worldManager) {
|
||||
|
Loading…
Reference in New Issue
Block a user