diff --git a/src/main/kotlin/mods/betterfoliage/config/MainConfig.kt b/src/main/kotlin/mods/betterfoliage/config/MainConfig.kt index 7f65d44..6e1cffe 100644 --- a/src/main/kotlin/mods/betterfoliage/config/MainConfig.kt +++ b/src/main/kotlin/mods/betterfoliage/config/MainConfig.kt @@ -7,7 +7,7 @@ fun featureEnable(default: Boolean = true) = boolean(default, langKey = recurrin val Config get() = BetterFoliageMod.config -abstract class PopulationConfigGroup() : DelegatingConfigGroup() { +abstract class PopulationConfigGroup : DelegatingConfigGroup() { abstract val enabled: Boolean abstract val population: Int @@ -44,25 +44,26 @@ class LeavesConfig : DelegatingConfigGroup() { } class ShortGrassConfig : PopulationConfigGroup() { - override val enabled by boolean(true) + override val enabled by featureEnable() + val grassEnabled by boolean(true) val myceliumEnabled by boolean(true) val snowEnabled by boolean(true) val hOffset by double(max=0.4, default=0.2, langKey = recurring) val heightMin by double(min=0.1, max=2.5, default=0.6, langKey = recurring) val heightMax by double(min=0.1, max=2.5, default=0.8, langKey = recurring) val size by double(min=0.5, max=1.5, default=1.0, langKey = recurring) - override val population by integer(max=64, default=64) + override val population by integer(max=64, default=64, langKey = recurring) val useGenerated by boolean(false) val shaderWind by boolean(true, langKey = recurring) val saturationThreshold by double(default=0.1, langKey = recurring) } -class ConnectedGrassConfig() : DelegatingConfigGroup() { +class ConnectedGrassConfig : DelegatingConfigGroup() { val enabled by boolean(true) val snowEnabled by boolean(false) } -class RoundLogConfig() : DelegatingConfigGroup() { +class RoundLogConfig : DelegatingConfigGroup() { val enabled by featureEnable() val plantsOnly by boolean(true) val radiusSmall by double(max=0.5, default=0.25) @@ -76,21 +77,21 @@ class RoundLogConfig() : DelegatingConfigGroup() { val zProtection by double(min = 0.9, default = 0.99) } -class CactusConfig() : DelegatingConfigGroup() { +class CactusConfig : DelegatingConfigGroup() { val enabled by featureEnable() val size by double(min=0.5, max=1.5, default=0.8, langKey = recurring) val sizeVariation by double(max=0.5, default=0.1) val hOffset by double(max=0.5, default=0.1, langKey = recurring) } -class LilypadConfig() : PopulationConfigGroup() { +class LilypadConfig : PopulationConfigGroup() { override val enabled by featureEnable() val hOffset by double(max=0.25, default=0.1, langKey = recurring) - override val population by integer(max=64, default=16, min=0) + override val population by integer(max=64, default=16, min=0, langKey = recurring) val shaderWind by boolean(true, langKey = recurring) } -class ReedConfig() : PopulationConfigGroup() { +class ReedConfig : PopulationConfigGroup() { override val enabled by featureEnable() val hOffset by double(max=0.4, default=0.2, langKey = recurring) val heightMin by double(min=1.5, max=3.5, default=1.7, langKey = recurring) @@ -101,7 +102,7 @@ class ReedConfig() : PopulationConfigGroup() { val shaderWind by boolean(true, langKey = recurring) } -class AlgaeConfig() : PopulationConfigGroup() { +class AlgaeConfig : PopulationConfigGroup() { override val enabled by featureEnable() val hOffset by double(max=0.25, default=0.1, langKey = recurring) val size by double(min=0.5, max=1.5, default=1.0, langKey = recurring) @@ -111,7 +112,7 @@ class AlgaeConfig() : PopulationConfigGroup() { val shaderWind by boolean(true, langKey = recurring) } -class CoralConfig() : PopulationConfigGroup() { +class CoralConfig : PopulationConfigGroup() { override val enabled by featureEnable() val shallowWater by boolean(false) val hOffset by double(max=0.4, default=0.2, langKey = recurring) @@ -122,7 +123,7 @@ class CoralConfig() : PopulationConfigGroup() { override val population by integer(max=64, default=48, langKey = recurring) } -class NetherrackConfig() : DelegatingConfigGroup() { +class NetherrackConfig : DelegatingConfigGroup() { val enabled by featureEnable() val hOffset by double(max=0.4, default=0.2, langKey = recurring) val heightMin by double(min=0.1, max=1.5, default=0.6, langKey = recurring) @@ -130,7 +131,7 @@ class NetherrackConfig() : DelegatingConfigGroup() { val size by double(min=0.5, max=1.5, default=1.0, langKey = recurring) } -class FallingLeavesConfig() : DelegatingConfigGroup() { +class FallingLeavesConfig : DelegatingConfigGroup() { val enabled by featureEnable() val speed by double(min=0.01, max=0.15, default=0.05) val windStrength by double(min=0.1, max=2.0, default=0.5) @@ -142,7 +143,7 @@ class FallingLeavesConfig() : DelegatingConfigGroup() { val opacityHack by boolean(true) } -class RisingSoulConfig() : DelegatingConfigGroup() { +class RisingSoulConfig : DelegatingConfigGroup() { val enabled by featureEnable() val chance by double(min=0.001, max=1.0, default=0.02) val perturb by double(min=0.01, max=0.25, default=0.05) diff --git a/src/main/kotlin/mods/betterfoliage/render/block/vanilla/Grass.kt b/src/main/kotlin/mods/betterfoliage/render/block/vanilla/Grass.kt index 6b310c1..bccc6c9 100644 --- a/src/main/kotlin/mods/betterfoliage/render/block/vanilla/Grass.kt +++ b/src/main/kotlin/mods/betterfoliage/render/block/vanilla/Grass.kt @@ -87,7 +87,7 @@ class StandardGrassModel( super.render(ctx, noDecorations) } - if (Config.shortGrass.enabled(ctx.random) && (isAir || isSnowed)) { + if (Config.shortGrass.enabled(ctx.random) && Config.shortGrass.grassEnabled && (isAir || isSnowed)) { ctx.vertexLighter = tuftLighting ShadersModIntegration.grass(ctx, Config.shortGrass.shaderWind) { ctx.renderQuads(if (isSnowed) tuftSnowed[ctx.random] else tuftNormal[ctx.random]) diff --git a/src/main/kotlin/mods/betterfoliage/render/block/vanilla/Mycelium.kt b/src/main/kotlin/mods/betterfoliage/render/block/vanilla/Mycelium.kt index 420e406..679e467 100644 --- a/src/main/kotlin/mods/betterfoliage/render/block/vanilla/Mycelium.kt +++ b/src/main/kotlin/mods/betterfoliage/render/block/vanilla/Mycelium.kt @@ -50,9 +50,8 @@ class StandardMyceliumModel( override fun render(ctx: RenderCtxBase, noDecorations: Boolean) { super.render(ctx, noDecorations) - if (Config.shortGrass.enabled && + if (Config.shortGrass.enabled(ctx.random) && Config.shortGrass.myceliumEnabled && - Config.shortGrass.enabled(ctx.random) && ctx.state(Direction.UP).isAir(ctx.world, ctx.pos) ) { ctx.vertexLighter = tuftLighting