Пишу api под плагин, но не могу определиться с вариантом того, как конечный пользователь должен обратиться к api. Тут либо singleton`ом просто прокидывать это:
Либо через ServiceProvider, где пользователь полученный инстанс прокидывает в нужное поле, а потом это поле инжектит куда надо(в команды, ивенты и тд). Как это в условном LuckPerms сделано:
Что из этого вообще выбрать стоит?
Java:
MyAPI.get().doSmth();
Java:
Optional<ProviderRegistration<LuckPerms>> provider = getServer().getServiceManager().getRegistration(LuckPerms.class);
if (provider.isPresent()) {
this.api = provider.get().getProvider();
}