Ekonomi API’sini kullanmak

Ekonomi API’si tüm ekonomi eklentilerini bir API altında birleştirir. Bu, Ekonomi API’sini kullanan herhangi bir eklenti, sözü geçen API’yi uygulayan tüm ekonomi eklentileri ile uyumlu olacak demektir. Bu sayfa, Ekonomi API’sini kendi eklentinizde kullanma adımlarıyla ilgili size yol gösterir.

EconomyService’i yüklemek

Economy API’sini kullanmak için önce ServiceManager kullanarak :javadoc:`EkonomyService` sınıfını yüklemelisiniz.

Uyarı

Lütfen, sunucunun başlatılması, durdurulması veya Ekonomi API’si gibi hizmetleri kullanırken farklı oyun durumlarına dikkat etmeniz gerektiğini unutmayın. Daha fazla bilgi için Servisler sayfasına göz atın.

Örnek: Economyservice’i yüklemek

import org.spongepowered.api.service.economy.EconomyService;
import org.spongepowered.api.Sponge;

Optional<EconomyService> serviceOpt = Sponge.server().serviceProvider().economyService();
if (!serviceOpt.isPresent()) {
    // handle there not being an economy implementation
}
EconomyService economyService = serviceOpt.get();

EconomyService’i kullanmak

EconomyService’i yükledikten ve bir değişkene tayin ettikten sonra, Economy API’nin sunduğu tüm özelliklere erişmeye hazırsınız demektir.

Örnek: Bir oyuncunun bakiyesini alma

import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.service.economy.EconomyService;
import org.spongepowered.api.service.economy.account.UniqueAccount;
import java.math.BigDecimal;
import java.util.Optional;

Optional<UniqueAccount> uOpt = economyService.findOrCreateAccount(player.getUniqueId());
if (uOpt.isPresent()) {
  UniqueAccount acc = uOpt.get();
  BigDecimal balance = acc.balance(economyService.defaultCurrency());
}

Bazı Account yöntemleri aşağıdaki gibi değişkenleri gerektirir:

  • Para Birimi: Döviz alım satımına dahil olan para

  • Neden: Hesabın değiştirilmesine sebep olan neden

  • Durum: Değişikliğin meydana geldiği durum

Bunlar daha gelişmiş kullanım içindir, ancak yine de doldurulmalıdır. Aşağıda, kabul edilebilir varsayılan değerlerin bir listesi verilmektedir:

  • Currency: EconomyService#defaultCurrency()

  • Cause: Cause.of(EventContext.builder().add(EventContextKeys.PLUGIN, plugin).build(), plugin)

  • Durum: new HashSet<Context>()