Skip to content

Инструмент для мультисерверной синхронизации бустеров

Notifications You must be signed in to change notification settings

func-solutions/stronghold

Repository files navigation

stronghold-api

Инструмент для мультисерверной синхронизации глобальных бустеров.

Как подключить?

Get Started with `gradle`

repositories {
    mavenCentral()
    maven {
        url 'https://repo.c7x.dev/repository/maven-public/'
        credentials {
            username System.getenv("CRI_REPO_LOGIN")
            password System.getenv("CRI_REPO_PASSWORD")
        }
    }
}

dependencies {
  
    // необходимые зависимости
    implementation 'me.func:atlas-api:1.0.10'
    implementation 'me.func:visual-driver:3.2.8.RELEASE'
    
    // сама библиотека
    implementation 'me.func:stronghold:1.1.2.RELEASE'
}

Чего не хватает?

  1. Хранения бустеров в БД (для отказоустойчивости)

Примеры

// Инициализируем инструмент
Stronghold.namespace("the-tower")

// Получаем активные бустеры
val boosters = Stronghold.boosters()

// Активация бустера
Stronghold.activateBoosters(

  BoosterGlobal.builder()
    .type("money") // тип бустера по которому они будут группироваться
    .owner(player) // указываем игрока (можно отдельно указать uuid и name)
    .duration(7, TimeUnit.HOURS) // продолжительность
    .multiplier(2.0) // множитель
    .maxStackable(10) // максимальное сложение бустеров
    .build()
)

// Применяем бустер
val value: Double = 100.0
val finalValue = value.withBoosters("money")

// Указать логику при благодарности
Stronghold.addThanksConsumer { owner, player ->

  owner?.sendMessage("Вам +деньги")
  player?.sendMessage("Вы поблагодарили игрока")
}

About

Инструмент для мультисерверной синхронизации бустеров

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages