Currency

Currency module

재화 모듈입니다. 서버 간 연동 및 커스텀 재화 추가를 지원합니다.

Usage

CurrencyApi.getInstance().deposit(CurrencyType.COIN, uuid, 1000);
CurrencyApi.getInstance().getBalance(CurrencyType.COIN, uuid);

Feature

Placeholder

  • "siglib_currency_" + getId().toLowerCase(); ex) siglib_currency_cash

재화 추가

  1. Currency를 extends 한 클래스를 만듭니다. 해당 클래스는 재화 자체의 정보를 제공해야 합니다.

  2. CurrencyProviderImpl를 extends 한 클래스를 만듭니다. getCurrency()에서 위의 재화를 return 하도록 합니다. 해당 클래스는 플레이어의 재화 조작 기능을 제공 해야 합니다.

  3. CurrencyType에 위 Currency를 추가합니다. 필수는 아니나, 모든 플러그인에서 CurrencyType 을 통해 간단하게 재화를 사용할 수 있게 됩니다.

  4. CurrencyApi에 아래와 같이 위 두 클래스를 추가합니다. 싱글톤이 권장됩니다.

public void register() { 
  CurrencyApi.getInstance().register(CurrencyType.COIN, new CoinCurrencyProvider()); 
} 

Caution

  • isMultiClusterSupport() = false 인 경우 일반적인 서버 간 동기화를 지원하지 않습니다. 만약 사용 시 데이터가 덮어 씌워질 수 있습니다.

  • Currency의 경우 CurrencyType의 인스턴스와 Currency의 인스턴스가 다르므로 Currency는 재화 정보 만을 위한 data class 로서 사용 해야 하며, 재화 전달을 위한 목적 으로는 CurrencyType을 사용하세요.

Last updated