package tc.oc.commons.core.server; import tc.oc.commons.core.event.EventBusModule; import tc.oc.commons.core.inject.InjectorScope; import tc.oc.commons.core.inject.Manifest; import tc.oc.commons.core.inject.UtilCoreManifest; import tc.oc.commons.core.plugin.PluginScoped; /** * Global platform-agnostic bindings. Singletons shared by all plugins go here. * * These bindings will be in the master injector. All plugins will have access to * these bindings, but these bindings cannot see anything in the local plugin modules. * So, things bound here cannot try to inject anything plugin-specific. * * Note: Nothing here is particularly Minecraft related, at the moment */ public class MinecraftServerManifest extends Manifest { @Override protected void configure() { install(new UtilCoreManifest()); // Platform-neutral event bus. Can be used for cross-platform events. // Currently not integrated with the platform-specific event systems. install(new EventBusModule()); // Enable the PluginScoped annotation bindScope(PluginScoped.class, new InjectorScope()); } }