类org.bukkit.plugin.ServicePriority源码实例Demo

下面列出了怎么用org.bukkit.plugin.ServicePriority的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: LuckPerms   文件: VaultHookManager.java
/**
 * Registers the LuckPerms implementation of {@link Permission} and {@link Chat} with
 * the service manager.
 */
public void hook() {
    try {
        if (this.permission == null) {
            this.permission = new LuckPermsVaultPermission(this.plugin);
        }

        if (this.chat == null) {
            this.chat = new LuckPermsVaultChat(this.plugin, this.permission);
        }

        final ServicesManager sm = this.plugin.getBootstrap().getServer().getServicesManager();
        sm.register(Permission.class, this.permission, this.plugin.getBootstrap(), ServicePriority.High);
        sm.register(Chat.class, this.chat, this.plugin.getBootstrap(), ServicePriority.High);

    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
源代码2 项目: CloudNet   文件: VaultInvoker.java
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);
}
 
源代码3 项目: TabooLib   文件: TServiceLoader.java
@Override
public void preLoad(Plugin plugin, Class pluginClass) {
    if (pluginClass.isAnnotationPresent(TService.class)) {
        TService service = (TService) pluginClass.getAnnotation(TService.class);
        try {
            Bukkit.getServicesManager().register(pluginClass, service.value().newInstance(), plugin, ServicePriority.Normal);
            TabooLibAPI.debug("Service " + pluginClass.getSimpleName() + " registered. (" + plugin.getName() + ")");
        } catch (Exception e) {
            TLogger.getGlobalLogger().warn("TService load Failed: " + pluginClass.getName());
            e.printStackTrace();
        }
    }
}
 
源代码4 项目: helper   文件: ExtendedJavaPlugin.java
@Nonnull
@Override
public <T> T provideService(@Nonnull Class<T> clazz, @Nonnull T instance, @Nonnull ServicePriority priority) {
    return Services.provide(clazz, instance, this, priority);
}
 
源代码5 项目: helper   文件: ExtendedJavaPlugin.java
@Nonnull
@Override
public <T> T provideService(@Nonnull Class<T> clazz, @Nonnull T instance) {
    return provideService(clazz, instance, ServicePriority.Normal);
}
 
源代码6 项目: LuckPerms   文件: LPBukkitPlugin.java
@Override
protected void registerApiOnPlatform(LuckPerms api) {
    this.bootstrap.getServer().getServicesManager().register(LuckPerms.class, api, this.bootstrap, ServicePriority.Normal);
}
 
源代码7 项目: SaneEconomy   文件: VaultHook.java
public void hook() {
    Bukkit.getServicesManager().register(Economy.class, this.provider, this.plugin, ServicePriority.Normal);
}
 
源代码8 项目: Thermos   文件: CauldronPluginInterface.java
public void install() {
    Cauldron.setInterface(this);
    Bukkit.getServicesManager().register(CauldronApi.class, this, null, ServicePriority.Highest);
}
 
源代码9 项目: BungeePerms   文件: VaultBridge.java
public void inject(Plugin plugin)
    {
        BungeePerms.getLogger().info("Injection of Bungeeperms into Vault");
        try
        {
            Vault v = (Vault) plugin;

            if (!v.isEnabled())
            {
                return;
            }

            //inject BungeePerms permissions
//            Method m = v.getClass().getDeclaredMethod("hookPermission", String.class, Class.class, ServicePriority.class, String[].class);
//            m.setAccessible(true);
//            m.invoke(v, "BungeePerms", Permission_BungeePerms.class, ServicePriority.Normal, new String[]
//             {
//                 "net.alpenblock.bungeeperms.platform.bukkit.BukkitPlugin"
//            });
//            
//            Field f = v.getClass().getDeclaredField("perms");
//            f.setAccessible(true);
//            f.set(v, Bukkit.getServicesManager().getRegistration(Permission.class).getProvider());
            
            Bukkit.getServer().getServicesManager().register(Permission.class, new Permission_BungeePerms(v), BukkitPlugin.getInstance(), ServicePriority.Highest);

            //inject BungeePerms chat
//            m = v.getClass().getDeclaredMethod("hookChat", String.class, Class.class, ServicePriority.class, String[].class);
//            m.setAccessible(true);
//            m.invoke(v, "BungeePerms", Chat_BungeePerms.class, ServicePriority.Normal, new String[]
//             {
//                 "net.alpenblock.bungeeperms.platform.bukkit.BukkitPlugin"
//            });
            
            Bukkit.getServer().getServicesManager().register(Chat.class, new Chat_BungeePerms(v, new Permission_BungeePerms(v)), BukkitPlugin.getInstance(), ServicePriority.Highest);
        }
        catch (Exception ex)
        {
            BungeePerms.getInstance().getDebug().log(ex);
        }
    }
 
源代码10 项目: helper   文件: Services.java
/**
 * 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;
}
 
源代码11 项目: helper   文件: HelperPlugin.java
/**
 * Provides a service to the ServiceManager, bound to this plugin
 *
 * @param clazz the service class
 * @param instance the instance
 * @param priority the priority to register the service at
 * @param <T> the service class type
 * @return the instance
 */
@Nonnull
<T> T provideService(@Nonnull Class<T> clazz, @Nonnull T instance, @Nonnull ServicePriority priority);
 
源代码12 项目: helper   文件: Services.java
/**
 * Provides a service.
 *
 * @param clazz the service class
 * @param instance the service instance
 * @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 ServicePriority priority) {
    return provide(clazz, instance, LoaderUtils.getPlugin(), priority);
}
 
源代码13 项目: helper   文件: Services.java
/**
 * Provides a service.
 *
 * @param clazz the service class
 * @param instance the service instance
 * @param <T> the service class type
 * @return the same service instance
 */
@Nonnull
public static <T> T provide(@Nonnull Class<T> clazz, @Nonnull T instance) {
    return provide(clazz, instance, ServicePriority.Normal);
}
 
 类所在包
 同包方法