mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2025-02-16 12:31:59 +01:00
Revert "Add automatic command registration through BaseCommandFeature."
This reverts commit 0c97aea3dc
.
This commit is contained in:
parent
5d2e68a362
commit
e38796f492
@ -21,6 +21,7 @@ import com.onarandombox.MultiverseCore.api.MVCore;
|
||||
import com.onarandombox.MultiverseCore.api.MVWorld;
|
||||
import com.onarandombox.MultiverseCore.api.MVWorldManager;
|
||||
import com.onarandombox.MultiverseCore.commandtools.MVCommandManager;
|
||||
import com.onarandombox.MultiverseCore.commandtools.MultiverseCommand;
|
||||
import com.onarandombox.MultiverseCore.config.MVCoreConfigProvider;
|
||||
import com.onarandombox.MultiverseCore.destination.DestinationsProvider;
|
||||
import com.onarandombox.MultiverseCore.inject.PluginInjection;
|
||||
@ -116,6 +117,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.registerCommands();
|
||||
this.setUpLocales();
|
||||
this.registerDestinations();
|
||||
this.setupMetrics();
|
||||
@ -156,6 +158,15 @@ public class MultiverseCore extends JavaPlugin implements MVCore {
|
||||
return !getConfigProvider().getConfig().getSilentStart();
|
||||
}
|
||||
|
||||
/**
|
||||
* Register Multiverse-Core commands to Command Manager.
|
||||
*/
|
||||
private void registerCommands() {
|
||||
// TODO add automatic command registration through hk2
|
||||
var commandManager = serviceLocator.getService(MVCommandManager.class);
|
||||
serviceLocator.getAllServices(MultiverseCommand.class).forEach(commandManager::registerCommand);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register locales
|
||||
*/
|
||||
|
@ -4,7 +4,6 @@ import java.util.List;
|
||||
|
||||
import co.aikar.commands.BukkitCommandCompletionContext;
|
||||
import co.aikar.commands.BukkitCommandExecutionContext;
|
||||
import co.aikar.commands.BukkitCommandManager;
|
||||
import co.aikar.commands.CommandCompletions;
|
||||
import co.aikar.commands.CommandContexts;
|
||||
import co.aikar.commands.CommandHelp;
|
||||
@ -17,14 +16,12 @@ import com.onarandombox.MultiverseCore.commandtools.queue.CommandQueueManager;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.inject.Provider;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jvnet.hk2.annotations.ContractsProvided;
|
||||
import org.jvnet.hk2.annotations.Service;
|
||||
|
||||
/**
|
||||
* Main class to manage permissions.
|
||||
*/
|
||||
@Service
|
||||
@ContractsProvided({MVCommandManager.class, BukkitCommandManager.class})
|
||||
public class MVCommandManager extends PaperCommandManager {
|
||||
|
||||
private final CommandFlagsManager flagsManager;
|
||||
|
@ -4,14 +4,11 @@ import co.aikar.commands.BaseCommand;
|
||||
import com.onarandombox.MultiverseCore.commandtools.flags.CommandFlagGroup;
|
||||
import com.onarandombox.MultiverseCore.commandtools.flags.CommandFlagsManager;
|
||||
import com.onarandombox.MultiverseCore.commandtools.flags.ParsedCommandFlags;
|
||||
import com.onarandombox.MultiverseCore.inject.AutoLoadedService;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jvnet.hk2.annotations.Contract;
|
||||
import org.jvnet.hk2.annotations.ContractsProvided;
|
||||
|
||||
@Contract
|
||||
@ContractsProvided({BaseCommand.class})
|
||||
public abstract class MultiverseCommand extends BaseCommand implements AutoLoadedService {
|
||||
public abstract class MultiverseCommand extends BaseCommand {
|
||||
|
||||
protected final MVCommandManager commandManager;
|
||||
private String flagGroupName;
|
||||
|
@ -1,47 +0,0 @@
|
||||
package com.onarandombox.MultiverseCore.inject.features;
|
||||
|
||||
import co.aikar.commands.BaseCommand;
|
||||
import co.aikar.commands.BukkitCommandManager;
|
||||
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.glassfish.hk2.api.ServiceLocator;
|
||||
import org.glassfish.hk2.utilities.ServiceLocatorUtilities;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jvnet.hk2.annotations.Service;
|
||||
|
||||
@Service
|
||||
class BaseCommandFeature implements InjectionFeature {
|
||||
|
||||
@Override
|
||||
public void postServicesCreation(ServiceLocator locator) {
|
||||
ServiceLocatorUtilities.bind(locator, AutoRegistrationBinder.with(BaseCommandAutoRegistration.class));
|
||||
}
|
||||
|
||||
@Service
|
||||
private static final class BaseCommandAutoRegistration extends AbstractAutoRegistration<BaseCommand> {
|
||||
|
||||
private final @NotNull Provider<BukkitCommandManager> commandManagerProvider;
|
||||
|
||||
@Inject
|
||||
private BaseCommandAutoRegistration(
|
||||
@NotNull Provider<BukkitCommandManager> commandManagerProvider,
|
||||
@NotNull Provider<RegistrationFilter> filterProvider
|
||||
) {
|
||||
super(filterProvider, BaseCommand.class);
|
||||
this.commandManagerProvider = commandManagerProvider;
|
||||
}
|
||||
|
||||
private BukkitCommandManager getCommandManager() {
|
||||
return commandManagerProvider.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void register(BaseCommand instance) {
|
||||
getCommandManager().registerCommand(instance);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user