Lewati ke konten

Referensi API RankForge – IRankForgeAPI, Tier & PlayerData

import xyz.noxlydev.rankforge.api.IRankForgeAPI;
import xyz.noxlydev.rankforge.api.RankForgeAPI;
IRankForgeAPI api = RankForgeAPI.get();
Method Keterangan
RankForgeAPI.isAvailable() true jika RankForge sudah enable dan API terinisialisasi
RankForgeAPI.get() Mengembalikan instance API, atau melempar IllegalStateException jika belum siap
Method Return Keterangan
getPoints(UUID) / getPoints(OfflinePlayer) int Poin saat ini. 0 jika pemain belum punya data.
setPoints(UUID, int) / (OfflinePlayer, int) void Set poin. Memicu PlayerPointsChangeEvent, lalu PlayerTierUpEvent / PlayerTierDownEvent jika tier berubah.
addPoints(UUID, int) / (OfflinePlayer, int) void Tambah poin (getPoints + amount, lewat setPoints).
removePoints(UUID, int) / (OfflinePlayer, int) void Kurangi poin (getPoints - amount, lewat setPoints).
Method Return Keterangan
getTier(UUID) / getTier(OfflinePlayer) Tier atau null Tier pemain; null jika Unranked
getTierByPoints(int) Tier atau null Tier yang sesuai jumlah poin
getNextTier(UUID) / getNextTier(OfflinePlayer) Tier atau null Tier berikutnya; null jika sudah tertinggi
getRegisteredTiers() List<Tier> Semua tier, urut dari ambang tertinggi ke terendah. Tidak bisa dimodifikasi.
Method Return Keterangan
getKills(UUID) int Total kill (0 jika tidak ada data)
getDeaths(UUID) int Total death (0 jika tidak ada data)
getKD(UUID) double Rasio K/D. Jika death = 0, nilainya = jumlah kill. 0.0 jika tidak ada data.
getDailyKills(UUID) int Kill yang tercatat hari ini
Method Return Keterangan
getPlayerData(UUID) PlayerData atau null Referensi langsung ke data pemain (bukan salinan)
getTopPlayers(int limit) List<PlayerData> Pemain teratas berdasarkan poin (menurun)
Method Return Keterangan
saveAsync() CompletableFuture<Void> Simpan seluruh data ke database secara async
getPlugin() RankForge Instance plugin (mis. untuk versi: getPlugin().getDescription().getVersion())
  • Batas poin negatif. Jika settings.allow-negative-points: false, hasil akhir yang negatif dipaksa menjadi 0.
  • Event dipanggil sinkron. Event dipicu di thread pemanggil. Jangan panggil method tulis dari thread async.
  • Event tier hanya untuk pemain online. PlayerTierUpEvent dan PlayerTierDownEvent tidak dipicu bagi pemain offline.
  • API tidak memberi reward tier. Perubahan poin lewat API tidak menjalankan rewards: tier, title, atau broadcast. Itu hanya terjadi pada alur kill. Gunakan event untuk membuat reward sendiri (resep).
  • Batas data. getTopPlayers mengurutkan semua pemain setiap dipanggil; hindari memanggilnya sangat sering (mis. tiap tick).

Semua field public final.

Field Tipe Isi
id String ID di config.yml (mis. ht_1)
min int Ambang poin minimal
display String Display name yang sudah diwarnai (kode warna sudah diterjemahkan)
sound String Nama sound (bisa kosong)
titleMain, titleSub String Title & subtitle yang sudah diwarnai
rewards List<String> Command reward konsol (tidak null)
Method Return Keterangan
getUuid() UUID
getName() String
getPoints() int
getKills() / getDeaths() int
getDailyKills() int
getKD() double
getLastSeenDate() String Tanggal ISO (yyyy-MM-dd)
getClaimedRewards() Set<String> ID tier yang sudah di-claim
hasClaimed(String tierId) boolean