#Service Registry

Service Registry позволяет плагинам публиковать и потреблять сервисы.

#Регистрация сервиса

java
// Интерфейс
public interface EconomyService {
    double getBalance(UUID player);
    void deposit(UUID player, double amount);
}

// Реализация
public class MyEconomy implements EconomyService {
    @Override
    public double getBalance(UUID player) { return 100.0; }

    @Override
    public void deposit(UUID player, double amount) { }
}

// Регистрация
getProxy().getServiceRegistry().register(
    EconomyService.class, new MyEconomy());

#Получение сервиса

java
Optional<EconomyService> economy =
    getProxy().getServiceRegistry().get(EconomyService.class);

economy.ifPresent(eco -> {
    double balance = eco.getBalance(player.getUniqueId());
    player.sendMessage("§aБаланс: " + balance);
});