Menggunakan API Ekonomi
API Ekonomi menyatukan seluruh plugin ekonomu dibawah satu API. Ini artinya plugin manapun yang menggunakan API ekonomi akan cocok dengan seluruh plugin ekonomi yang menjalankan API tersebut. Laman ini menuntun anda melewati tata cara penggunaan API Ekonomi di plugin anda sendiri.
Memuat EconomyService
Dalam rangka memanfaatkan API Ekonomi, pertama anda harus memuat EconomyService class menggunakan ServiceManager.
Peringatan
Harap dicatat bahwa anda perlu memperhatikan game states
yang berbeda ketika server sedang dimulai, memberhentikan atau menjalankan ketika penggunaan layanan seperti API ekonomi. Lihatlah pada halaman Layanan untuk informasi lebih lanjut.
Contoh: Memuat EconomyService
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();
Menggunakan EconomyService
Setelah memuat EconomyService
dan menetapkannya kedalam variabel, anda siap untuk mengakses seluruh fitur dari API Ekonomi yang ditawarkan.
Contoh: Mendapatkan saldo pengguna
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());
}
Beberapa :javadoc: `Account`methods membutuhkan variabel seperti:
Mata uang: Mata uang yang terlibat dalam pertukaran
Penyebab: Apa yang menyebabkan perubahan pada akun
Konteks: Konteks bahwa perubahan itu terjadi di
Ini adalah untuk penggunaan yg lebih lanjut, tapi masih harus diisi. Di bawah ini adalah daftar dari nilai dasar yang diterima:
Currency: EconomyService#defaultCurrency()
Cause:
Cause.of(EventContext.builder().add(EventContextKeys.PLUGIN, plugin).build(), plugin)
Context:
new HashSet<Context>()