Files
Firmament/src/main/kotlin/moe/nea/firmament/features/FirmamentFeature.kt
2023-08-01 00:06:19 +02:00

24 lines
561 B
Kotlin

/*
* SPDX-FileCopyrightText: 2023 Linnea Gräf <nea@nea.moe>
*
* SPDX-License-Identifier: GPL-3.0-or-later
*/
package moe.nea.firmament.features
import moe.nea.firmament.gui.config.ManagedConfig
interface FirmamentFeature {
val identifier: String
val defaultEnabled: Boolean
get() = true
var isEnabled: Boolean
get() = FeatureManager.isEnabled(identifier) ?: defaultEnabled
set(value) {
FeatureManager.setEnabled(identifier, value)
}
val config: ManagedConfig? get() = null
fun onLoad()
}