automatically delete obsolete config properties

This commit is contained in:
octarine-noise
2016-09-05 22:45:00 +02:00
parent f0a447bbbb
commit 85a4707494
2 changed files with 16 additions and 0 deletions

View File

@@ -10,6 +10,7 @@ import net.minecraftforge.fml.relauncher.Side
import net.minecraftforge.fml.relauncher.SideOnly
// BetterFoliage-specific property delegates
private val OBSOLETE = ObsoleteConfigProperty()
private fun featureEnable() = boolean(true).lang("enabled")
private fun distanceLimit() = int(min=1, max=1000, default=1000).lang("distance")
fun biomeList(defaults: (Biome) -> Boolean) = intList {
@@ -42,6 +43,13 @@ object Config : DelegatingConfig(BetterFoliageMod.MOD_ID, BetterFoliageMod.DOMAI
val sand = ConfigurableBlockMatcher(BetterFoliageMod.DOMAIN, "SandDefault.cfg")
val lilypad = ConfigurableBlockMatcher(BetterFoliageMod.DOMAIN, "LilypadDefault.cfg")
val cactus = ConfigurableBlockMatcher(BetterFoliageMod.DOMAIN, "CactusDefault.cfg")
val leavesWhitelist = OBSOLETE
val leavesBlacklist = OBSOLETE
val grassWhitelist = OBSOLETE
val grassBlacklist = OBSOLETE
val logsWhitelist = OBSOLETE
val logsBlacklist = OBSOLETE
}
object leaves {

View File

@@ -144,6 +144,14 @@ abstract class ConfigPropertyBase {
open fun read() {}
}
class ObsoleteConfigProperty : ConfigPropertyBase() {
override fun attach(target: Configuration, langPrefix: String, categoryName: String, propertyName: String) {
target.getCategory(categoryName)?.remove(propertyName)
}
override val guiProperties = emptyList<Property>()
override val hasChanged: Boolean get() = false
}
/** Delegate for a property backed by a single [Property] instance. */
abstract class ConfigPropertyDelegate<T>() : ConfigPropertyBase() {
/** Cached value of the property. */