/** * Gets the {@link EventManager}. * * @return The event manager */ default EventManager getEventManager() { return Sponge.getEventManager(); }
@Override public <T> void setProvider(Object plugin, Class<T> service, T provider) { checkNotNull(plugin, "plugin"); checkNotNull(service, "service"); checkNotNull(provider, "provider"); Optional<PluginContainer> containerOptional = this.pluginManager.fromInstance(plugin); if (!containerOptional.isPresent()) { throw new IllegalArgumentException( "The provided plugin object does not have an associated plugin container " + "(in other words, is 'plugin' actually your plugin object?)"); } PluginContainer container = containerOptional.get(); ProviderRegistration<?> oldProvider = this.providers.put(service, new Provider<>(container, service, provider)); try (CauseStackManager.StackFrame frame = Sponge.getCauseStackManager().pushCauseFrame()) { frame.addContext(EventContextKeys.SERVICE_MANAGER, this); frame.pushCause(container); Sponge.getEventManager().post(SpongeEventFactory.createChangeServiceProviderEvent(frame.getCurrentCause(), this.providers.get(service), Optional.ofNullable(oldProvider))); } }
public void unload() { listeners.forEach(Sponge.getEventManager()::unregisterListeners); listeners.clear(); tasks.forEach(Via.getPlatform()::cancelTask); tasks.clear(); } }
@Override protected void unregisterListeners() { Sponge.getEventManager().unregisterPluginListeners(plugin); }
@Inject private Metrics2(PluginContainer plugin, Logger logger, @ConfigDir(sharedRoot = true) Path configDir) { this.plugin = plugin; this.logger = logger; this.configDir = configDir; Sponge.getEventManager().registerListeners(plugin, this); }
@Inject private MetricsLite2(PluginContainer plugin, Logger logger, @ConfigDir(sharedRoot = true) Path configDir) { this.plugin = plugin; this.logger = logger; this.configDir = configDir; Sponge.getEventManager().registerListeners(plugin, this); }
@Override public void registerShutdownHandler(TaskChainFactory factory) { Sponge.getEventManager().registerListener(plugin, GameStoppingEvent.class, event -> { factory.shutdown(60, TimeUnit.SECONDS); }); } }
@Override public EconHandler getEconomyHandler() { SpongeEconHandler econ = new SpongeEconHandler(); Sponge.getEventManager().registerListeners(this, econ); return econ; }
@Override public void callEnableEvent(PlanPlugin plugin) { Event event = new PlanSpongeEnableEvent((PlanSponge) plugin); Sponge.getEventManager().post(event); } }
@Override public void registerPlayerEvents() { Sponge.getEventManager().registerListeners(this, new MainListener()); }
@Override public void registerChunkProcessor() { Sponge.getEventManager().registerListeners(this, new ChunkProcessor()); }
@Override public void registerWorldEvents() { Sponge.getEventManager().registerListeners(this, new WorldEvents()); }
private void registerListener(Object listener) { Sponge.getEventManager().registerListeners(plugin, storeListener(listener)); }
@Override public void register() { if (isRegistered()) return; Sponge.getEventManager().registerListeners(plugin, this); setRegistered(true); }
/** * Register a brush for VoxelSniper to be able to use. * * @param clazz Brush implementing IBrush interface. * @param handles Handles under which the brush can be accessed ingame. */ public void registerSniperBrush(Class<? extends IBrush> clazz, String... handles) { checkNotNull(clazz, "Cannot register null as a brush."); RegisterBrushEvent event = new RegisterBrushEvent(Sponge.getCauseStackManager().getCurrentCause(), clazz, handles); Sponge.getEventManager().post(event); for (String handle : event.getAliases()) { this.brushes.put(handle.toLowerCase(), clazz); } this.brush_count++; }
/** * Pauses this operation. Has no effect if not running. */ final public void pause() { if (status != BlockOperationStatus.RUNNING) return; task.cancel(); status = BlockOperationStatus.PAUSED; Sponge.getEventManager().post(new BlockOperationStatusChangeEvent(this)); }
@Override public void register() { if (isRegistered()) return; Sponge.getEventManager().registerListeners(Via.getPlatform(), this); setRegistered(true); }
public SpongeCommandManager(PluginContainer plugin) { this.plugin = plugin; String pluginName = "acf-" + plugin.getName(); getLocales().addMessageBundles("acf-minecraft", pluginName, pluginName.toLowerCase()); this.commandTiming = Timings.of(plugin, "Commands"); this.formatters.put(MessageType.ERROR, defaultFormatter = new SpongeMessageFormatter(TextColors.RED, TextColors.YELLOW, TextColors.RED)); this.formatters.put(MessageType.SYNTAX, new SpongeMessageFormatter(TextColors.YELLOW, TextColors.GREEN, TextColors.WHITE)); this.formatters.put(MessageType.INFO, new SpongeMessageFormatter(TextColors.BLUE, TextColors.DARK_GREEN, TextColors.GREEN)); this.formatters.put(MessageType.HELP, new SpongeMessageFormatter(TextColors.AQUA, TextColors.GREEN, TextColors.YELLOW)); getLocales(); // auto load locales Sponge.getEventManager().registerListeners(plugin, new ACFSpongeListener(this)); //TODO more default dependencies for sponge registerDependency(plugin.getClass(), plugin); }
@Override public void onForward(final Vote v) { if (debug) { logger.info("Got a forwarded vote -> " + v); } Sponge.getScheduler().createTaskBuilder() .execute(() -> { VotifierEvent event = new VotifierEvent(v, Sponge.getCauseStackManager().getCurrentCause()); Sponge.getEventManager().post(event); }) .submit(this); } }
/** * Starts this operation. Has no effect if already started, done or errored. */ final public void start() { if (status != BlockOperationStatus.INIT && status != BlockOperationStatus.PAUSED) return; status = BlockOperationStatus.RUNNING; task = Task.builder() .execute(this::run) .name("WebAPI - BlockUpdate - " + this.getUUID().toString()) .interval(500, TimeUnit.MILLISECONDS) .submit(WebAPI.getInstance()); Sponge.getEventManager().post(new BlockOperationStatusChangeEvent(this)); }