diff --git a/src/main/kotlin/mods/betterfoliage/client/config/Config.kt b/src/main/kotlin/mods/betterfoliage/client/config/Config.kt index 47ae564..4abf14f 100644 --- a/src/main/kotlin/mods/betterfoliage/client/config/Config.kt +++ b/src/main/kotlin/mods/betterfoliage/client/config/Config.kt @@ -71,6 +71,7 @@ object Config : DelegatingConfig(BetterFoliageMod.MOD_ID, BetterFoliageMod.DOMAI val heightMin by double(min=0.1, max=2.5, default=0.6).lang("heightMin") val heightMax by double(min=0.1, max=2.5, default=0.8).lang("heightMax") val size by double(min=0.5, max=1.5, default=1.0).lang("size") + val population by int(max=64, default=64).lang("population") val useGenerated by boolean(false) val shaderWind by boolean(true).lang("shaderWind") val saturationThreshold by double(default=0.1) diff --git a/src/main/kotlin/mods/betterfoliage/client/render/RenderGrass.kt b/src/main/kotlin/mods/betterfoliage/client/render/RenderGrass.kt index 3909c9d..7d5a8cc 100644 --- a/src/main/kotlin/mods/betterfoliage/client/render/RenderGrass.kt +++ b/src/main/kotlin/mods/betterfoliage/client/render/RenderGrass.kt @@ -31,6 +31,8 @@ class RenderGrass : AbstractBlockRenderingHandler(BetterFoliageMod.MOD_ID) { } } + val noise = simplexNoise() + val normalIcons = iconSet(BetterFoliageMod.LEGACY_DOMAIN, "blocks/better_grass_long_%d") val snowedIcons = iconSet(BetterFoliageMod.LEGACY_DOMAIN, "blocks/better_grass_snowed_%d") val normalGenIcon = iconStatic(Client.genGrass.generatedResource("minecraft:blocks/tallgrass", "snowed" to false)) @@ -97,6 +99,7 @@ class RenderGrass : AbstractBlockRenderingHandler(BetterFoliageMod.MOD_ID) { if (!Config.shortGrass.grassEnabled) return true if (isSnowed && !Config.shortGrass.snowEnabled) return true if (ctx.blockState(up1).isOpaqueCube) return true + if (Config.shortGrass.population < 64 && noise[ctx.pos] >= Config.shortGrass.population) return true // render grass quads val iconset = if (isSnowed) snowedIcons else normalIcons