// This block of code is a demonstration of // how you register the service manager in your API. ServicesManager sm = getServer().getServicesManager(); GameAPI service = getMyGameAPI(); sm.register(GameAPI.class, service, this, priority);
private void hookChat (String name, Class<? extends Chat> hookClass, ServicePriority priority, String...packages) { try { if (packagesExists(packages)) { Chat chat = hookClass.getConstructor(Plugin.class, Permission.class).newInstance(this, perms); sm.register(Chat.class, chat, this, priority); log.info(String.format("[Chat] %s found: %s", name, chat.isEnabled() ? "Loaded" : "Waiting")); } } catch (Exception e) { log.severe(String.format("[Chat] There was an error hooking %s - check to make sure you're using a compatible version!", name)); } }
private void hookEconomy (String name, Class<? extends Economy> hookClass, ServicePriority priority, String...packages) { try { if (packagesExists(packages)) { Economy econ = hookClass.getConstructor(Plugin.class).newInstance(this); sm.register(Economy.class, econ, this, priority); log.info(String.format("[Economy] %s found: %s", name, econ.isEnabled() ? "Loaded" : "Waiting")); } } catch (Exception e) { log.severe(String.format("[Economy] There was an error hooking %s - check to make sure you're using a compatible version!", name)); } }
private void hookPermission (String name, Class<? extends Permission> hookClass, ServicePriority priority, String...packages) { try { if (packagesExists(packages)) { Permission perms = hookClass.getConstructor(Plugin.class).newInstance(this); sm.register(Permission.class, perms, this, priority); log.info(String.format("[Permission] %s found: %s", name, perms.isEnabled() ? "Loaded" : "Waiting")); } } catch (Exception e) { log.severe(String.format("[Permission] There was an error hooking %s - check to make sure you're using a compatible version!", name)); } }
/** * Provides a service. * * @param clazz the service class * @param instance the service instance * @param plugin the plugin to register the service to * @param priority the priority to register the service instance at * @param <T> the service class type * @return the same service instance */ @Nonnull public static <T> T provide(@Nonnull Class<T> clazz, @Nonnull T instance, @Nonnull Plugin plugin, @Nonnull ServicePriority priority) { Objects.requireNonNull(clazz, "clazz"); Objects.requireNonNull(instance, "instance"); Objects.requireNonNull(plugin, "plugin"); Objects.requireNonNull(priority, "priority"); Bukkit.getServicesManager().register(clazz, instance, plugin, priority); return instance; }
/** * Provides a service. * * @param clazz the service class * @param instance the service instance * @param plugin the plugin to register the service to * @param priority the priority to register the service instance at * @param <T> the service class type * @return the same service instance */ @Nonnull public static <T> T provide(@Nonnull Class<T> clazz, @Nonnull T instance, @Nonnull Plugin plugin, @Nonnull ServicePriority priority) { Objects.requireNonNull(clazz, "clazz"); Objects.requireNonNull(instance, "instance"); Objects.requireNonNull(plugin, "plugin"); Objects.requireNonNull(priority, "priority"); Bukkit.getServicesManager().register(clazz, instance, plugin, priority); return instance; }
@Override public void setVaultEconomyHook(VaultEconomy instance, com.greatmancode.tools.utils.ServicePriority priority) { Bukkit.getServicesManager().register(Economy.class, instance, (Plugin) getLoader(), ServicePriority.valueOf(priority.name().toUpperCase())); } }
@Override protected void onStart() { load(); server.getServicesManager().register(Function.class, new Function<Player, Boolean>() { @Override public Boolean apply(Player player) { return isAdmin(player); } }, plugin, ServicePriority.Normal); deactivateOldEntries(false); }
/** * Register Gringotts as economy provider for vault. */ private void registerEconomy() { if (DEP.vault.exists()) { getServer().getServicesManager().register(Economy.class, new VaultConnector(), this, ServicePriority.Highest); getLogger().info("Registered Vault interface."); } else { getLogger().info("Vault not found. Other plugins may not be able to access Gringotts accounts."); } }
public static void invoke() { ServicesManager servicesManager = BukkitBootstrap.getPlugin(BukkitBootstrap.class).getServer().getServicesManager(); Permission permission = new VaultPermissionImpl(); servicesManager.register(Permission.class, permission, BukkitBootstrap.getPlugin(BukkitBootstrap.class), ServicePriority.Highest); servicesManager.register(Chat.class, new VaultChatImpl(permission), BukkitBootstrap.getPlugin(BukkitBootstrap.class), ServicePriority.Highest); }
Bukkit.getServicesManager().register(BStats.class, this, plugin, ServicePriority.Normal); if (!found) {
Bukkit.getServicesManager().register(Metrics.class, this, plugin, ServicePriority.Normal); if (!found) {
Bukkit.getServicesManager().register(Metrics.class, this, plugin, ServicePriority.Normal); if (!found) {
Bukkit.getServicesManager().register(Metrics.class, this, plugin, ServicePriority.Normal); if (!found) {
Bukkit.getServicesManager().register(BStatsMetrics.class, this, plugin, ServicePriority.Normal); if (!found) {
Bukkit.getServicesManager().register(BStatsMetricsLite.class, this, plugin, ServicePriority.Normal); if (!found) {
Bukkit.getServicesManager().register(MetricsLite.class, this, plugin, ServicePriority.Normal); if (!found) {
Bukkit.getServicesManager().register(Metrics.class, this, plugin, ServicePriority.Normal); if (!found) {
sm.register(Permission.class, perms, this, ServicePriority.Lowest); log.info(String.format("[Permission] SuperPermissions loaded as backup permission system."));
if (getServer().getPluginManager().isPluginEnabled("Vault")) { final PEXVault vault = new PEXVault(this); getServer().getServicesManager().register(Permission.class, vault, this, ServicePriority.High); // Hook into vault getServer().getServicesManager().register(Chat.class, new PEXVaultChat(vault), this, ServicePriority.High); logger.info(t("Hooked into Vault for Permission and Chat interfaces"));