From 85a4707494c59e214729c78b4f3b6dc443b21fac Mon Sep 17 00:00:00 2001 From: octarine-noise Date: Mon, 5 Sep 2016 22:45:00 +0200 Subject: [PATCH] automatically delete obsolete config properties --- .../kotlin/mods/betterfoliage/client/config/Config.kt | 8 ++++++++ .../mods/octarinecore/common/config/DelegatingConfig.kt | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/src/main/kotlin/mods/betterfoliage/client/config/Config.kt b/src/main/kotlin/mods/betterfoliage/client/config/Config.kt index 187faf2..47ae564 100644 --- a/src/main/kotlin/mods/betterfoliage/client/config/Config.kt +++ b/src/main/kotlin/mods/betterfoliage/client/config/Config.kt @@ -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 { diff --git a/src/main/kotlin/mods/octarinecore/common/config/DelegatingConfig.kt b/src/main/kotlin/mods/octarinecore/common/config/DelegatingConfig.kt index b93ff62..ede9453 100644 --- a/src/main/kotlin/mods/octarinecore/common/config/DelegatingConfig.kt +++ b/src/main/kotlin/mods/octarinecore/common/config/DelegatingConfig.kt @@ -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() + override val hasChanged: Boolean get() = false +} + /** Delegate for a property backed by a single [Property] instance. */ abstract class ConfigPropertyDelegate() : ConfigPropertyBase() { /** Cached value of the property. */