diff --git a/src/main/kotlin/mods/betterfoliage/BetterFoliageMod.kt b/src/main/kotlin/mods/betterfoliage/BetterFoliageMod.kt index ec061de..cf42bbd 100644 --- a/src/main/kotlin/mods/betterfoliage/BetterFoliageMod.kt +++ b/src/main/kotlin/mods/betterfoliage/BetterFoliageMod.kt @@ -3,8 +3,8 @@ package mods.betterfoliage import mods.betterfoliage.config.BlockConfig import mods.betterfoliage.config.MainConfig import mods.betterfoliage.util.tryDefault -import mods.octarinecore.common.config.clothGuiRoot -import mods.octarinecore.common.config.forgeSpecRoot +import mods.betterfoliage.config.clothGuiRoot +import mods.betterfoliage.config.forgeSpecRoot import net.alexwells.kottle.FMLKotlinModLoadingContext import net.minecraft.client.Minecraft import net.minecraft.client.gui.screen.Screen diff --git a/src/main/kotlin/mods/betterfoliage/config/Delegate.kt b/src/main/kotlin/mods/betterfoliage/config/Delegate.kt index c268952..799cf77 100644 --- a/src/main/kotlin/mods/betterfoliage/config/Delegate.kt +++ b/src/main/kotlin/mods/betterfoliage/config/Delegate.kt @@ -1,4 +1,4 @@ -package mods.octarinecore.common.config +package mods.betterfoliage.config import me.shedaniel.forge.clothconfig2.api.AbstractConfigListEntry import me.shedaniel.forge.clothconfig2.api.ConfigBuilder diff --git a/src/main/kotlin/mods/betterfoliage/config/MainConfig.kt b/src/main/kotlin/mods/betterfoliage/config/MainConfig.kt index b778219..67598c8 100644 --- a/src/main/kotlin/mods/betterfoliage/config/MainConfig.kt +++ b/src/main/kotlin/mods/betterfoliage/config/MainConfig.kt @@ -1,19 +1,13 @@ package mods.betterfoliage.config import mods.betterfoliage.BetterFoliageMod -import mods.octarinecore.common.config.DelegatingConfigGroup -import mods.octarinecore.common.config.boolean -import mods.octarinecore.common.config.double -import mods.octarinecore.common.config.integer -import mods.octarinecore.common.config.recurring -import mods.octarinecore.common.config.subNode import java.util.Random fun featureEnable(default: Boolean = true) = boolean(default, langKey = recurring) val Config get() = BetterFoliageMod.config -abstract class PopulationConfigGroup() : DelegatingConfigGroup() { +abstract class PopulationConfigGroup : DelegatingConfigGroup() { abstract val enabled: Boolean abstract val population: Int @@ -50,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 radiusSmall by double(max=0.5, default=0.25) val radiusLarge by double(max=0.5, default=0.44) @@ -81,21 +76,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) @@ -106,7 +101,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) @@ -116,7 +111,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) @@ -127,7 +122,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) @@ -135,7 +130,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) @@ -147,7 +142,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 a43877a..d702f18 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