Search in sources :

Example 1 with FloodgateCommandPreprocessor

use of org.geysermc.floodgate.player.FloodgateCommandPreprocessor in project Floodgate by GeyserMC.

the class VelocityPlatformModule method configure.

@Override
protected void configure() {
    VelocityCommandUtil commandUtil = new VelocityCommandUtil();
    requestInjection(commandUtil);
    bind(CommandUtil.class).to(VelocityCommandUtil.class);
    bind(VelocityCommandUtil.class).toInstance(commandUtil);
    Injector child = guice.createChildInjector(new CloudInjectionModule<>(UserAudience.class, CommandExecutionCoordinator.simpleCoordinator(), commandUtil::getAudience, audience -> (CommandSource) audience.source()));
    CommandManager<UserAudience> commandManager = child.getInstance(new Key<VelocityCommandManager<UserAudience>>() {
    });
    bind(new Key<CommandManager<UserAudience>>() {
    }).toInstance(commandManager);
    commandManager.registerCommandPreProcessor(new FloodgateCommandPreprocessor<>(commandUtil));
}
Also used : CommandExecutionCoordinator(cloud.commandframework.execution.CommandExecutionCoordinator) VelocityCommandUtil(org.geysermc.floodgate.util.VelocityCommandUtil) VelocityInjector(org.geysermc.floodgate.inject.velocity.VelocityInjector) VelocityPluginMessageRegistration(org.geysermc.floodgate.pluginmessage.VelocityPluginMessageRegistration) LanguageManager(org.geysermc.floodgate.util.LanguageManager) CommandUtil(org.geysermc.floodgate.platform.command.CommandUtil) ListenerRegistration(org.geysermc.floodgate.platform.listener.ListenerRegistration) Key(com.google.inject.Key) RequiredArgsConstructor(lombok.RequiredArgsConstructor) CommandManager(cloud.commandframework.CommandManager) CloudInjectionModule(cloud.commandframework.velocity.CloudInjectionModule) VelocitySkinApplier(org.geysermc.floodgate.util.VelocitySkinApplier) UserAudience(org.geysermc.floodgate.player.UserAudience) ProxyServer(com.velocitypowered.api.proxy.ProxyServer) VelocityCommandManager(cloud.commandframework.velocity.VelocityCommandManager) PluginMessageManager(org.geysermc.floodgate.pluginmessage.PluginMessageManager) VelocityPlugin(org.geysermc.floodgate.VelocityPlugin) FloodgateCommandPreprocessor(org.geysermc.floodgate.player.FloodgateCommandPreprocessor) Logger(org.slf4j.Logger) CommonPlatformInjector(org.geysermc.floodgate.inject.CommonPlatformInjector) VelocityListenerRegistration(org.geysermc.floodgate.listener.VelocityListenerRegistration) PluginMessageRegistration(org.geysermc.floodgate.pluginmessage.PluginMessageRegistration) Injector(com.google.inject.Injector) FloodgateLogger(org.geysermc.floodgate.api.logger.FloodgateLogger) Provides(com.google.inject.Provides) VelocityPluginMessageUtils(org.geysermc.floodgate.pluginmessage.VelocityPluginMessageUtils) PluginMessageUtils(org.geysermc.floodgate.platform.pluginmessage.PluginMessageUtils) Named(com.google.inject.name.Named) Slf4jFloodgateLogger(org.geysermc.floodgate.logger.Slf4jFloodgateLogger) SkinApplier(org.geysermc.floodgate.skin.SkinApplier) CommandSource(com.velocitypowered.api.command.CommandSource) EventManager(com.velocitypowered.api.event.EventManager) AbstractModule(com.google.inject.AbstractModule) Singleton(com.google.inject.Singleton) UserAudience(org.geysermc.floodgate.player.UserAudience) VelocityInjector(org.geysermc.floodgate.inject.velocity.VelocityInjector) CommonPlatformInjector(org.geysermc.floodgate.inject.CommonPlatformInjector) Injector(com.google.inject.Injector) VelocityCommandUtil(org.geysermc.floodgate.util.VelocityCommandUtil) CommandUtil(org.geysermc.floodgate.platform.command.CommandUtil) CommandSource(com.velocitypowered.api.command.CommandSource) VelocityCommandUtil(org.geysermc.floodgate.util.VelocityCommandUtil) VelocityCommandManager(cloud.commandframework.velocity.VelocityCommandManager) Key(com.google.inject.Key)

Aggregations

CommandManager (cloud.commandframework.CommandManager)1 CommandExecutionCoordinator (cloud.commandframework.execution.CommandExecutionCoordinator)1 CloudInjectionModule (cloud.commandframework.velocity.CloudInjectionModule)1 VelocityCommandManager (cloud.commandframework.velocity.VelocityCommandManager)1 AbstractModule (com.google.inject.AbstractModule)1 Injector (com.google.inject.Injector)1 Key (com.google.inject.Key)1 Provides (com.google.inject.Provides)1 Singleton (com.google.inject.Singleton)1 Named (com.google.inject.name.Named)1 CommandSource (com.velocitypowered.api.command.CommandSource)1 EventManager (com.velocitypowered.api.event.EventManager)1 ProxyServer (com.velocitypowered.api.proxy.ProxyServer)1 RequiredArgsConstructor (lombok.RequiredArgsConstructor)1 VelocityPlugin (org.geysermc.floodgate.VelocityPlugin)1 FloodgateLogger (org.geysermc.floodgate.api.logger.FloodgateLogger)1 CommonPlatformInjector (org.geysermc.floodgate.inject.CommonPlatformInjector)1 VelocityInjector (org.geysermc.floodgate.inject.velocity.VelocityInjector)1 VelocityListenerRegistration (org.geysermc.floodgate.listener.VelocityListenerRegistration)1 Slf4jFloodgateLogger (org.geysermc.floodgate.logger.Slf4jFloodgateLogger)1