Refactor source layout
Introduce compat source sets and move all kotlin sources to the main directory [no changelog]
This commit is contained in:
23
src/main/kotlin/features/FirmamentFeature.kt
Normal file
23
src/main/kotlin/features/FirmamentFeature.kt
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
|
||||
package moe.nea.firmament.features
|
||||
|
||||
import moe.nea.firmament.events.subscription.SubscriptionOwner
|
||||
import moe.nea.firmament.gui.config.ManagedConfig
|
||||
|
||||
// TODO: remove this entire feature system and revamp config
|
||||
interface FirmamentFeature : SubscriptionOwner {
|
||||
val identifier: String
|
||||
val defaultEnabled: Boolean
|
||||
get() = true
|
||||
var isEnabled: Boolean
|
||||
get() = FeatureManager.isEnabled(identifier) ?: defaultEnabled
|
||||
set(value) {
|
||||
FeatureManager.setEnabled(identifier, value)
|
||||
}
|
||||
override val delegateFeature: FirmamentFeature
|
||||
get() = this
|
||||
val config: ManagedConfig? get() = null
|
||||
fun onLoad() {}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user