diff --git a/src/generated/resources/assets/clinker/lang/en_us.json b/src/generated/resources/assets/clinker/lang/en_us.json index f3b15d41..e46effaf 100644 --- a/src/generated/resources/assets/clinker/lang/en_us.json +++ b/src/generated/resources/assets/clinker/lang/en_us.json @@ -5,6 +5,7 @@ "biome.clinker.brine_swamp": "Brine Swamp", "biome.clinker.cliffside": "Cliffside", "biome.clinker.heath": "Heath", + "biome.clinker.heath_thicket": "Heath Thicket", "biome.clinker.lower_shelf": "Lower Shelf", "biome.clinker.plateau": "Plateau", "biome.clinker.underground": "Underground", diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_glow.json b/src/generated/resources/assets/clinker/models/block/spotreed_glow.json index cd91a533..247d0db2 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_glow.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_glow.json @@ -1,7 +1,6 @@ { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_glow_1.json b/src/generated/resources/assets/clinker/models/block/spotreed_glow_1.json index f32f6984..387b6489 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_glow_1.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_glow_1.json @@ -1,7 +1,6 @@ { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_1", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_1" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_glow_2.json b/src/generated/resources/assets/clinker/models/block/spotreed_glow_2.json index 4b7b21bf..db84ee32 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_glow_2.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_glow_2.json @@ -1,7 +1,6 @@ { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_2", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_2" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_glow_3.json b/src/generated/resources/assets/clinker/models/block/spotreed_glow_3.json index e0c74582..19e49b3e 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_glow_3.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_glow_3.json @@ -1,7 +1,6 @@ { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_3", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_3" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_glow_4.json b/src/generated/resources/assets/clinker/models/block/spotreed_glow_4.json index b2887e23..f46b4172 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_glow_4.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_glow_4.json @@ -1,7 +1,6 @@ { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_4", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_4" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_glow_5.json b/src/generated/resources/assets/clinker/models/block/spotreed_glow_5.json index 0d287956..3712a02e 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_glow_5.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_glow_5.json @@ -1,7 +1,6 @@ { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_5", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_5" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_glow_6.json b/src/generated/resources/assets/clinker/models/block/spotreed_glow_6.json index 3a80e6f6..ce5a3274 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_glow_6.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_glow_6.json @@ -1,7 +1,6 @@ { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_6", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_6" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_glow_7.json b/src/generated/resources/assets/clinker/models/block/spotreed_glow_7.json index a130d687..2c610e12 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_glow_7.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_glow_7.json @@ -1,7 +1,6 @@ { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_7", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_7" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip.json index ba460e69..7d1a9045 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip.json @@ -3,17 +3,14 @@ "glow": { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow" } }, "stalk": { "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip", - "tip_end": "clinker:block/spotreed_tip_end" + "stalk": "clinker:block/spotreed_tip" } } }, diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_1.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_1.json index 20e2eb89..339776a9 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_1.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_1.json @@ -3,17 +3,14 @@ "glow": { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_1", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_1" } }, "stalk": { "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_1", - "tip_end": "clinker:block/spotreed_tip_end_1" + "stalk": "clinker:block/spotreed_tip_1" } } }, diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_2.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_2.json index 6e496407..3c110164 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_2.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_2.json @@ -3,17 +3,14 @@ "glow": { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_2", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_2" } }, "stalk": { "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_2", - "tip_end": "clinker:block/spotreed_tip_end_2" + "stalk": "clinker:block/spotreed_tip_2" } } }, diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_3.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_3.json index b44651c0..5b5d69fe 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_3.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_3.json @@ -3,17 +3,14 @@ "glow": { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_3", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_3" } }, "stalk": { "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_3", - "tip_end": "clinker:block/spotreed_tip_end_3" + "stalk": "clinker:block/spotreed_tip_3" } } }, diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_4.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_4.json index 23528293..fabe700c 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_4.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_4.json @@ -3,17 +3,14 @@ "glow": { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_4", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_4" } }, "stalk": { "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_4", - "tip_end": "clinker:block/spotreed_tip_end_4" + "stalk": "clinker:block/spotreed_tip_4" } } }, diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_5.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_5.json index 705148de..57d0137d 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_5.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_5.json @@ -3,17 +3,14 @@ "glow": { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_5", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_5" } }, "stalk": { "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_5", - "tip_end": "clinker:block/spotreed_tip_end_5" + "stalk": "clinker:block/spotreed_tip_5" } } }, diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_6.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_6.json index d67ae83d..105818e2 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_6.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_6.json @@ -3,17 +3,14 @@ "glow": { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_6", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_6" } }, "stalk": { "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_6", - "tip_end": "clinker:block/spotreed_tip_end_6" + "stalk": "clinker:block/spotreed_tip_6" } } }, diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_7.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_7.json index 700771de..256ebe92 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_7.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_7.json @@ -3,17 +3,14 @@ "glow": { "parent": "clinker:block/template_spotreed_glow", "textures": { - "glow": "clinker:block/spotreed_glow_7", - "particle": "clinker:block/spotreed_particle" + "glow": "clinker:block/spotreed_glow_7" } }, "stalk": { "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_7", - "tip_end": "clinker:block/spotreed_tip_end_7" + "stalk": "clinker:block/spotreed_tip_7" } } }, diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk.json index 1fe38028..51248441 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk.json @@ -2,8 +2,6 @@ "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip", - "tip_end": "clinker:block/spotreed_tip_end" + "stalk": "clinker:block/spotreed_tip" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_1.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_1.json index cb5c69a3..85cd596f 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_1.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_1.json @@ -2,8 +2,6 @@ "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_1", - "tip_end": "clinker:block/spotreed_tip_end_1" + "stalk": "clinker:block/spotreed_tip_1" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_2.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_2.json index bd95928d..2a310ece 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_2.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_2.json @@ -2,8 +2,6 @@ "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_2", - "tip_end": "clinker:block/spotreed_tip_end_2" + "stalk": "clinker:block/spotreed_tip_2" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_3.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_3.json index 29d14ca0..551d7e27 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_3.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_3.json @@ -2,8 +2,6 @@ "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_3", - "tip_end": "clinker:block/spotreed_tip_end_3" + "stalk": "clinker:block/spotreed_tip_3" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_4.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_4.json index 5cee99f4..4182d91e 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_4.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_4.json @@ -2,8 +2,6 @@ "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_4", - "tip_end": "clinker:block/spotreed_tip_end_4" + "stalk": "clinker:block/spotreed_tip_4" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_5.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_5.json index a129f589..1ece1807 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_5.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_5.json @@ -2,8 +2,6 @@ "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_5", - "tip_end": "clinker:block/spotreed_tip_end_5" + "stalk": "clinker:block/spotreed_tip_5" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_6.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_6.json index 2a90abfc..1c5c2ea2 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_6.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_6.json @@ -2,8 +2,6 @@ "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_6", - "tip_end": "clinker:block/spotreed_tip_end_6" + "stalk": "clinker:block/spotreed_tip_6" } } \ No newline at end of file diff --git a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_7.json b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_7.json index e4babd5a..a4edecf8 100644 --- a/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_7.json +++ b/src/generated/resources/assets/clinker/models/block/spotreed_tip_stalk_7.json @@ -2,8 +2,6 @@ "parent": "clinker:block/template_spotreed_tip", "textures": { "end": "clinker:block/spotreed_end", - "particle": "clinker:block/spotreed_particle", - "stalk": "clinker:block/spotreed_tip_7", - "tip_end": "clinker:block/spotreed_tip_end_7" + "stalk": "clinker:block/spotreed_tip_7" } } \ No newline at end of file diff --git a/src/main/java/birsy/clinker/common/world/level/gen/OthershoreBiomeSource.java b/src/main/java/birsy/clinker/common/world/level/gen/OthershoreBiomeSource.java index a9926ceb..62d1ac50 100644 --- a/src/main/java/birsy/clinker/common/world/level/gen/OthershoreBiomeSource.java +++ b/src/main/java/birsy/clinker/common/world/level/gen/OthershoreBiomeSource.java @@ -107,6 +107,13 @@ public static LayeredBiomeResolver createSurfaceBiomeResolver(Functionbuilder() + .add(ClinkerProtoBiomes.HEATH.get(), 10) + .add(ClinkerProtoBiomes.HEATH_THICKET.get(), 3) + .build() + ) + ) .layer(new BiomeLayerOperations.Smooth()) .zoom() .layer(new BiomeLayerOperations.RandomizeIntoNeighbor(1)) diff --git a/src/main/java/birsy/clinker/common/world/level/gen/content/surface/decorator/HeathThicketSurfaceDecorator.java b/src/main/java/birsy/clinker/common/world/level/gen/content/surface/decorator/HeathThicketSurfaceDecorator.java new file mode 100644 index 00000000..9b0c2312 --- /dev/null +++ b/src/main/java/birsy/clinker/common/world/level/gen/content/surface/decorator/HeathThicketSurfaceDecorator.java @@ -0,0 +1,105 @@ +package birsy.clinker.common.world.level.gen.content.surface.decorator; + +import birsy.clinker.common.world.block.FallingLayerBlock; +import birsy.clinker.common.world.level.gen.system.noise.NoiseContext; +import birsy.clinker.common.world.level.gen.system.noise.NoiseFieldCache; +import birsy.clinker.common.world.level.gen.system.surface.decorator.SurfaceDecorationContext; +import birsy.clinker.common.world.level.gen.system.surface.decorator.SurfaceDecorator; +import birsy.clinker.core.registry.ClinkerBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.chunk.ChunkAccess; + +import static birsy.clinker.core.registry.worldgen.ClinkerNoiseComputers.BASE_NOISE_2D; +import static birsy.clinker.core.registry.worldgen.ClinkerNoiseComputers.BASE_NOISE_2D_ALT; + +public class HeathThicketSurfaceDecorator extends SurfaceDecorator { + @Override + public void prefillNoiseFields(NoiseFieldCache cache) { + cache.fillNoiseField(BASE_NOISE_2D[4]); + cache.fillNoiseField(BASE_NOISE_2D[5]); + cache.fillNoiseField(BASE_NOISE_2D_ALT[5]); + cache.fillNoiseField(BASE_NOISE_2D[6]); + cache.fillNoiseField(BASE_NOISE_2D[7]); + cache.fillNoiseField(BASE_NOISE_2D_ALT[7]); + cache.fillNoiseField(BASE_NOISE_2D[8]); + } + + @Override + public void decorateSurface(BlockPos.MutableBlockPos pos, int seaLevel, ChunkAccess chunk, NoiseContext noiseContext, RandomSource random, SurfaceDecorationContext surfaceContext) { + int maxElevationDecrease = surfaceContext.maxElevationDecrease(), + maxElevationIncrease = surfaceContext.maxElevationIncrease(); + int depth = surfaceContext.depth(); + + int x = pos.getX(), z = pos.getZ(); + double wiggleNoise = noiseContext.retrieve(BASE_NOISE_2D[4], x, 0, z); + + double cliff0Fac = noiseContext.retrieve(BASE_NOISE_2D[6], x, 0, z); + double cliff0 = Math.pow(Math.abs(cliff0Fac), 1 / 12.0) * Math.signum(cliff0Fac) * 8; + + double cliff1Fac = noiseContext.retrieve(BASE_NOISE_2D_ALT[7], x, 0, z) - 0.5; + double cliff1 = Math.pow(Math.abs(cliff1Fac), 1 / 24.0) * Math.signum(cliff1Fac) * 30; + double cliff1Mask = noiseContext.retrieve(BASE_NOISE_2D[8], x, 0, z) * 0.5 + 0.5; + cliff1 *= cliff1Mask; + + double surfaceFac = noiseContext.retrieve(BASE_NOISE_2D[7], x, 0, z); + double surface = surfaceFac * 8; + + boolean placeStone = false; + + if (cliff0 > surface && cliff0 > cliff1) { + placeStone = cliff0Fac + wiggleNoise * 0.1 < 0.24; + } else if (cliff1 > surface && cliff1 > cliff0) { + placeStone = cliff1Fac + wiggleNoise * 0.1 < 0.2; + } + + int offset = 1; + if (!placeStone) { + double erosionMask = noiseContext.retrieve(BASE_NOISE_2D[5], x, 0, z); + erosionMask += random.triangle(0, 0.5); + + boolean placeSoil = (erosionMask < 0 || maxElevationDecrease < 1) && maxElevationDecrease <= 3; + placeSoil &= noiseContext.retrieve(BASE_NOISE_2D_ALT[5], x, 0, z) + random.triangle(0, 0.2) < 0.5; + + BlockState soilState = ClinkerBlocks.PEAT_MOSS.get().defaultBlockState(); + if (wiggleNoise - 0.3 + random.triangle(0, 0.25) > 0) { + soilState = ClinkerBlocks.ASHEN_REGOLITH.get().defaultBlockState(); + } + chunk.setBlockState(pos, placeSoil ? soilState : ClinkerBlocks.BRIMSTONE.get().defaultBlockState(), false); + + if (maxElevationIncrease == 1) { + double ashNoise = wiggleNoise + 0.5; + ashNoise += random.triangle(0, 0.5); + int ashAmount = (int) (Math.clamp(ashNoise, 0, 1) * 5); + if (ashAmount > 0) { + pos.move(0, 1, 0); + chunk.setBlockState(pos, + ClinkerBlocks.ASH_LAYER.get().defaultBlockState() + .setValue(FallingLayerBlock.LAYERS, ashAmount), + false); + pos.move(0, -1, 0); + } + } + + if (placeSoil) { + int soilDepth = random.nextIntBetweenInclusive(1, 2) - maxElevationDecrease; + for (int i = 0; i < Math.min(soilDepth, depth); i++) { + pos.move(0, -1, 0); + offset++; + chunk.setBlockState(pos, soilState, false); + } + } + } + +// int stoneDepth = Math.min(10, depth) - offset; +// for (int i = 0; i < stoneDepth; i++) { +// pos.move(0, -1, 0); +// chunk.setBlockState(pos, ClinkerBlocks.CAPSTONE.get().defaultBlockState(), false); +// } + } + + public boolean shouldCalculateElevationChange(boolean visibleToSky, int y, double surfaceHeight) { + return y >= surfaceHeight - 20; + } +} diff --git a/src/main/java/birsy/clinker/common/world/level/gen/content/surface/shaper/HeathThicketSurfaceShaper.java b/src/main/java/birsy/clinker/common/world/level/gen/content/surface/shaper/HeathThicketSurfaceShaper.java new file mode 100644 index 00000000..d8b57de3 --- /dev/null +++ b/src/main/java/birsy/clinker/common/world/level/gen/content/surface/shaper/HeathThicketSurfaceShaper.java @@ -0,0 +1,67 @@ +package birsy.clinker.common.world.level.gen.content.surface.shaper; + +import birsy.clinker.common.world.level.gen.system.noise.NoiseContext; +import birsy.clinker.common.world.level.gen.system.noise.NoiseFieldCache; + +import static birsy.clinker.core.registry.worldgen.ClinkerNoiseComputers.*; + +public class HeathThicketSurfaceShaper extends SimpleSurfaceShaper { + + @Override + public void prefillHeightmapNoiseFields(NoiseFieldCache cache) { + cache.fillNoiseField(BASE_NOISE_2D_ALT[9]); + } + + @Override + public double getHeight(int x, int z, double weight, NoiseContext context) { + return (150 + context.retrieve(BASE_NOISE_2D_ALT[9], x, 0, z) * 10) * weight; + } + + @Override + public void prefillDensityNoiseFields(NoiseFieldCache cache, int minSurfaceHeight, int maxSurfaceHeight) { + cache.fillNoiseField(minSurfaceHeight, maxSurfaceHeight, BASE_NOISE_2D[3]); + cache.fillNoiseField(minSurfaceHeight, maxSurfaceHeight, BASE_NOISE_2D[4]); + cache.fillNoiseField(minSurfaceHeight, maxSurfaceHeight, BASE_NOISE_2D_ALT[5]); + cache.fillNoiseField(minSurfaceHeight, maxSurfaceHeight, BASE_NOISE_2D[6]); + cache.fillNoiseField(minSurfaceHeight, maxSurfaceHeight, BASE_NOISE_2D[7]); + cache.fillNoiseField(minSurfaceHeight, maxSurfaceHeight, BASE_NOISE_2D_ALT[7]); + cache.fillNoiseField(minSurfaceHeight, maxSurfaceHeight, BASE_NOISE_2D[8]); + + cache.fillNoiseField(minSurfaceHeight, maxSurfaceHeight, BASE_NOISE[5]); + } + + @Override + public double surfaceDensity(int x, int y, int z, double heightmapHeight, double heightmapGradient, double distanceToSurface, double biomeWeight, NoiseContext context) { + double baseNoise = context.retrieve(BASE_NOISE_2D_ALT[5], x, y, z); + + double smallNoise = context.retrieve(BASE_NOISE_2D[4], x, y, z) * 0.13; + + double cliff0Fac = context.retrieve(BASE_NOISE_2D[6], x, 0, z) + smallNoise; + double cliff0 = Math.pow(Math.abs(cliff0Fac), 1 / 12.0) * Math.signum(cliff0Fac) * 8; + + double cliff1Fac = context.retrieve(BASE_NOISE_2D_ALT[7], x, 0, z) - 0.5 + smallNoise; + double cliff1 = Math.pow(Math.abs(cliff1Fac), 1 / 12.0) * Math.signum(cliff1Fac) * 30; + double cliff1Mask = context.retrieve(BASE_NOISE_2D[8], x, 0, z) * 0.5 + 0.5; + cliff1 *= cliff1Mask; + + double smallNoise2 = context.retrieve(BASE_NOISE_2D[4], x, y, z) * 0.5; + double cliff2Fac = context.retrieve(BASE_NOISE_2D[4], x, 0, z) - 0.5 + smallNoise2; + double cliff2 = Math.pow(Math.abs(cliff2Fac), 1 / 12.0) * Math.signum(cliff2Fac) * 20; + double cliff2MaskFac = context.retrieve(BASE_NOISE_2D[6], x, 0, z) - 0.5; + double cliff2Mask = Math.pow(Math.abs(cliff2MaskFac), 1 / 12.0) * Math.signum(cliff2MaskFac) * 20; + cliff2 = Math.min(cliff2, cliff2Mask); + +// double cliff1Fac = context.retrieve(BASE_NOISE_2D_ALT[7], x, 0, z) - 0.5 + smallNoise; +// double cliff1 = Math.pow(Math.abs(cliff1Fac), 1 / 12.0) * Math.signum(cliff1Fac) * 30; +// double cliff1Mask = context.retrieve(BASE_NOISE_2D[8], x, 0, z) * 0.5 + 0.5; +// cliff1 *= cliff1Mask; + + + double surface = context.retrieve(BASE_NOISE_2D[7], x, y, z); + surface *= 8; + + double verticalVarianceNoise = context.retrieve(BASE_NOISE[5], x, y, z) * 5; + + return (y - heightmapHeight) + baseNoise - Math.max((Math.max(cliff0, Math.max(cliff1, cliff2)) + verticalVarianceNoise) * biomeWeight, surface); + } +} diff --git a/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerBiomes.java b/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerBiomes.java index eeacdb9e..6c2ab0f1 100644 --- a/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerBiomes.java +++ b/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerBiomes.java @@ -18,6 +18,7 @@ public class ClinkerBiomes { public static final ResourceKey LOWER_SHELF = register("lower_shelf"); public static final ResourceKey BRINE_SWAMP = register("brine_swamp"); public static final ResourceKey HEATH = register("heath"); + public static final ResourceKey HEATH_THICKET = register("heath_thicket"); public static final ResourceKey UNDERGROUND = register("underground"); public static final ResourceKey AQUIFER = register("aquifer"); diff --git a/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerProtoBiomes.java b/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerProtoBiomes.java index 5c7d20a1..9e789b07 100644 --- a/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerProtoBiomes.java +++ b/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerProtoBiomes.java @@ -21,4 +21,6 @@ public class ClinkerProtoBiomes { PROTO_BIOMES.register("snakes", () -> new ProtoBiome(ClinkerBiomes.BRINE_SNAKES)); public static final Supplier HEATH = PROTO_BIOMES.register("heath", () -> new ProtoBiome(ClinkerBiomes.HEATH)); + public static final Supplier HEATH_THICKET = + PROTO_BIOMES.register("heath_thicket", () -> new ProtoBiome(ClinkerBiomes.HEATH_THICKET)); } diff --git a/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerSurfaceDecorators.java b/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerSurfaceDecorators.java index 344bac6c..60605e53 100644 --- a/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerSurfaceDecorators.java +++ b/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerSurfaceDecorators.java @@ -25,6 +25,8 @@ public class ClinkerSurfaceDecorators { register("brine_swamp", ClinkerBiomes.BRINE_SWAMP, new BrineSwampSurfaceDecorator()); public static final Supplier HEATH = register("heath", ClinkerBiomes.HEATH, new HeathSurfaceDecorator()); + public static final Supplier HEATH_THICKET = + register("heath_thicket", ClinkerBiomes.HEATH_THICKET, new HeathSurfaceDecorator()); public static final Supplier BRINE_SNAKES = register("brine_snakes", ClinkerBiomes.BRINE_SNAKES, new SnakesSurfaceDecorator()); // public static final Supplier BRINE_SWAMP = diff --git a/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerSurfaceShapers.java b/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerSurfaceShapers.java index d0631fe7..0d69592a 100644 --- a/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerSurfaceShapers.java +++ b/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerSurfaceShapers.java @@ -1,9 +1,6 @@ package birsy.clinker.core.registry.worldgen; -import birsy.clinker.common.world.level.gen.content.surface.shaper.AshSteppeSurfaceShaper; -import birsy.clinker.common.world.level.gen.content.surface.shaper.BrineSwampSurfaceShaper; -import birsy.clinker.common.world.level.gen.content.surface.shaper.HeathSurfaceShaper; -import birsy.clinker.common.world.level.gen.content.surface.shaper.SnakesSurfaceShaper; +import birsy.clinker.common.world.level.gen.content.surface.shaper.*; import birsy.clinker.common.world.level.gen.system.surface.shaper.BiomeSurfaceShaper; import birsy.clinker.common.world.level.gen.system.surface.shaper.DefaultSurfaceShaper; import birsy.clinker.common.world.level.gen.system.surface.shaper.SurfaceShaper; @@ -30,6 +27,8 @@ public class ClinkerSurfaceShapers { register("brine_swamp", ClinkerBiomes.BRINE_SWAMP, new BrineSwampSurfaceShaper()); public static final Supplier HEATH = register("heath", ClinkerBiomes.HEATH, new HeathSurfaceShaper()); + public static final Supplier HEATH_THICKET = + register("heath_thicket", ClinkerBiomes.HEATH_THICKET, new HeathThicketSurfaceShaper()); public static final Supplier BRINE_SNAKES = register("brine_snakes", ClinkerBiomes.BRINE_SNAKES, new SnakesSurfaceShaper()); // public static final BiomeShaper ASH_STEPPE = register(ClinkerBiomes.ASH_STEPPE, new AshSteppeBiomeShaper()); diff --git a/src/main/java/birsy/clinker/datagen/providers/ClinkerBlockStateProvider.java b/src/main/java/birsy/clinker/datagen/providers/ClinkerBlockStateProvider.java index 762806ab..85229b59 100644 --- a/src/main/java/birsy/clinker/datagen/providers/ClinkerBlockStateProvider.java +++ b/src/main/java/birsy/clinker/datagen/providers/ClinkerBlockStateProvider.java @@ -677,6 +677,10 @@ protected void registerStatesAndModels() { ).buildLast() ); } + + { + this.flatBlockItem(SPOTREED.get(), this.modLoc(ModelProvider.ITEM_FOLDER + "/" + spotreedName)); + } } // tormentil @@ -722,11 +726,6 @@ protected void registerStatesAndModels() { )); } - // spotweed - { - String spotreedName = name(SPOTREED.get()); - this.flatBlockItem(SPOTREED.get(), this.modLoc(ModelProvider.ITEM_FOLDER + "/" + spotreedName)); - } // corpse lily { diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed.json deleted file mode 100644 index e7ace733..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "3": "clinker:block/spotreed_stalk", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [0, 0, 2, 16], "texture": "#3"}, - "east": {"uv": [0, 0, 2, 16], "texture": "#3"}, - "south": {"uv": [0, 0, 2, 16], "texture": "#3"}, - "west": {"uv": [0, 0, 2, 16], "texture": "#3"}, - "up": {"uv": [0, 0, 2, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [0, 0, 2, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_1.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_1.json deleted file mode 100644 index 190d77a5..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_1.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "3": "clinker:block/spotreed_stalk", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [2, 0, 4, 16], "texture": "#3"}, - "east": {"uv": [2, 0, 4, 16], "texture": "#3"}, - "south": {"uv": [2, 0, 4, 16], "texture": "#3"}, - "west": {"uv": [2, 0, 4, 16], "texture": "#3"}, - "up": {"uv": [2, 0, 4, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [2, 0, 4, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_2.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_2.json deleted file mode 100644 index e71a18ea..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_2.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "3": "clinker:block/spotreed_stalk", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [4, 0, 6, 16], "texture": "#3"}, - "east": {"uv": [4, 0, 6, 16], "texture": "#3"}, - "south": {"uv": [4, 0, 6, 16], "texture": "#3"}, - "west": {"uv": [4, 0, 6, 16], "texture": "#3"}, - "up": {"uv": [4, 0, 6, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [4, 0, 6, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_3.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_3.json deleted file mode 100644 index 960c2e54..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_3.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "3": "clinker:block/spotreed_stalk", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [6, 0, 8, 16], "texture": "#3"}, - "east": {"uv": [6, 0, 8, 16], "texture": "#3"}, - "south": {"uv": [6, 0, 8, 16], "texture": "#3"}, - "west": {"uv": [6, 0, 8, 16], "texture": "#3"}, - "up": {"uv": [6, 0, 8, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [6, 0, 8, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_4.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_4.json deleted file mode 100644 index 83a1cf11..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_4.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "3": "clinker:block/spotreed_stalk", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [8, 0, 10, 16], "texture": "#3"}, - "east": {"uv": [8, 0, 10, 16], "texture": "#3"}, - "south": {"uv": [8, 0, 10, 16], "texture": "#3"}, - "west": {"uv": [8, 0, 10, 16], "texture": "#3"}, - "up": {"uv": [8, 0, 10, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [8, 0, 10, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_5.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_5.json deleted file mode 100644 index 32c85c37..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_5.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "3": "clinker:block/spotreed_stalk", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [10, 0, 12, 16], "texture": "#3"}, - "east": {"uv": [10, 0, 12, 16], "texture": "#3"}, - "south": {"uv": [10, 0, 12, 16], "texture": "#3"}, - "west": {"uv": [10, 0, 12, 16], "texture": "#3"}, - "up": {"uv": [10, 0, 12, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [10, 0, 12, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_6.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_6.json deleted file mode 100644 index 14f6a67f..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_6.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "3": "clinker:block/spotreed_stalk", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [12, 0, 14, 16], "texture": "#3"}, - "east": {"uv": [12, 0, 14, 16], "texture": "#3"}, - "south": {"uv": [12, 0, 14, 16], "texture": "#3"}, - "west": {"uv": [12, 0, 14, 16], "texture": "#3"}, - "up": {"uv": [12, 0, 14, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [12, 0, 14, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_7.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_7.json deleted file mode 100644 index a91e467d..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_7.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "3": "clinker:block/spotreed_stalk", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [14, 0, 16, 16], "texture": "#3"}, - "east": {"uv": [14, 0, 16, 16], "texture": "#3"}, - "south": {"uv": [14, 0, 16, 16], "texture": "#3"}, - "west": {"uv": [14, 0, 16, 16], "texture": "#3"}, - "up": {"uv": [14, 0, 16, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [14, 0, 16, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip.json deleted file mode 100644 index 1e7e97e0..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, - "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, - "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, - "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, - "up": {"uv": [0, 0, 2, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [0, 0, 2, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_1.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_1.json deleted file mode 100644 index 245d7812..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_1.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [2, 0, 4, 16], "texture": "#1"}, - "east": {"uv": [2, 0, 4, 16], "texture": "#1"}, - "south": {"uv": [2, 0, 4, 16], "texture": "#1"}, - "west": {"uv": [2, 0, 4, 16], "texture": "#1"}, - "up": {"uv": [2, 0, 4, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [2, 0, 4, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_2.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_2.json deleted file mode 100644 index 3ed802c9..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_2.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [4, 0, 6, 16], "texture": "#1"}, - "east": {"uv": [4, 0, 6, 16], "texture": "#1"}, - "south": {"uv": [4, 0, 6, 16], "texture": "#1"}, - "west": {"uv": [4, 0, 6, 16], "texture": "#1"}, - "up": {"uv": [4, 0, 6, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [4, 0, 6, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_3.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_3.json deleted file mode 100644 index 6ed047fb..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_3.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [6, 0, 8, 16], "texture": "#1"}, - "east": {"uv": [6, 0, 8, 16], "texture": "#1"}, - "south": {"uv": [6, 0, 8, 16], "texture": "#1"}, - "west": {"uv": [6, 0, 8, 16], "texture": "#1"}, - "up": {"uv": [6, 0, 8, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [6, 0, 8, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_4.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_4.json deleted file mode 100644 index 8b5bb893..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_4.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [8, 0, 10, 16], "texture": "#1"}, - "east": {"uv": [8, 0, 10, 16], "texture": "#1"}, - "south": {"uv": [8, 0, 10, 16], "texture": "#1"}, - "west": {"uv": [8, 0, 10, 16], "texture": "#1"}, - "up": {"uv": [8, 0, 10, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [8, 0, 10, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_5.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_5.json deleted file mode 100644 index 8f91259e..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_5.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [10, 0, 12, 16], "texture": "#1"}, - "east": {"uv": [10, 0, 12, 16], "texture": "#1"}, - "south": {"uv": [10, 0, 12, 16], "texture": "#1"}, - "west": {"uv": [10, 0, 12, 16], "texture": "#1"}, - "up": {"uv": [10, 0, 12, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [10, 0, 12, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_6.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_6.json deleted file mode 100644 index 296f8347..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_6.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [12, 0, 14, 16], "texture": "#1"}, - "east": {"uv": [12, 0, 14, 16], "texture": "#1"}, - "south": {"uv": [12, 0, 14, 16], "texture": "#1"}, - "west": {"uv": [12, 0, 14, 16], "texture": "#1"}, - "up": {"uv": [12, 0, 14, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [12, 0, 14, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_7.json b/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_7.json deleted file mode 100644 index d467254c..00000000 --- a/src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_7.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "textures": { - "1": "clinker:block/spotreed_tip", - "particle": "clinker:block/spotreed_stalk" - }, - "elements": [ - { - "from": [7, 0, 7], - "to": [9, 16, 9], - "faces": { - "north": {"uv": [14, 0, 16, 16], "texture": "#1"}, - "east": {"uv": [14, 0, 16, 16], "texture": "#1"}, - "south": {"uv": [14, 0, 16, 16], "texture": "#1"}, - "west": {"uv": [14, 0, 16, 16], "texture": "#1"}, - "up": {"uv": [14, 0, 16, 2], "texture": "#1", "cullface": "up"}, - "down": {"uv": [14, 0, 16, 2], "texture": "#1", "cullface": "down"} - } - } - ] -} diff --git a/src/main/resources/assets/clinker/models/block/template_spotreed.json b/src/main/resources/assets/clinker/models/block/template_spotreed.json index 77562800..64259826 100644 --- a/src/main/resources/assets/clinker/models/block/template_spotreed.json +++ b/src/main/resources/assets/clinker/models/block/template_spotreed.json @@ -1,5 +1,6 @@ { - "ambientocclusion": true, + "format_version": "1.21.11", + "credit": "Made with Blockbench", "render_type": "cutout", "textures": { "particle": "clinker:block/spotreed_particle" @@ -8,15 +9,34 @@ { "from": [7, 0, 7], "to": [9, 16, 9], - "shade": true, "faces": { "north": {"uv": [9, 0, 7, 16], "texture": "#stalk"}, - "south": {"uv": [9, 0, 7, 16], "texture": "#stalk"}, "east": {"uv": [7, 0, 9, 16], "texture": "#stalk"}, + "south": {"uv": [9, 0, 7, 16], "texture": "#stalk"}, "west": {"uv": [7, 0, 9, 16], "texture": "#stalk"}, "up": {"uv": [7, 7, 9, 9], "texture": "#end", "cullface": "up"}, "down": {"uv": [7, 7, 9, 9], "texture": "#end", "cullface": "down"} } + }, + { + "from": [0, 0, 8], + "to": [16, 16, 8], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [8, 1, 8], "rescale": true}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#stalk"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#stalk"} + } + }, + { + "from": [8, 0, 0], + "to": [8, 16, 16], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [8, 1, 8], "rescale": true}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#stalk"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#stalk"} + } } ] } \ No newline at end of file diff --git a/src/main/resources/assets/clinker/textures/block/spotreed_stalk.png b/src/main/resources/assets/clinker/textures/block/spotreed_stalk.png index 2b99e479..c8e76cdb 100644 Binary files a/src/main/resources/assets/clinker/textures/block/spotreed_stalk.png and b/src/main/resources/assets/clinker/textures/block/spotreed_stalk.png differ diff --git a/src/main/resources/assets/clinker/textures/block/spotreed_stalk_1.png b/src/main/resources/assets/clinker/textures/block/spotreed_stalk_1.png index 35d90788..b3209838 100644 Binary files a/src/main/resources/assets/clinker/textures/block/spotreed_stalk_1.png and b/src/main/resources/assets/clinker/textures/block/spotreed_stalk_1.png differ diff --git a/src/main/resources/assets/clinker/textures/block/spotreed_stalk_2.png b/src/main/resources/assets/clinker/textures/block/spotreed_stalk_2.png index fc36d748..be2d9992 100644 Binary files a/src/main/resources/assets/clinker/textures/block/spotreed_stalk_2.png and b/src/main/resources/assets/clinker/textures/block/spotreed_stalk_2.png differ diff --git a/src/main/resources/assets/clinker/textures/block/spotreed_stalk_3.png b/src/main/resources/assets/clinker/textures/block/spotreed_stalk_3.png index 009fc3d9..fcfbac00 100644 Binary files a/src/main/resources/assets/clinker/textures/block/spotreed_stalk_3.png and b/src/main/resources/assets/clinker/textures/block/spotreed_stalk_3.png differ diff --git a/src/main/resources/assets/clinker/textures/block/spotreed_stalk_4.png b/src/main/resources/assets/clinker/textures/block/spotreed_stalk_4.png index c6640052..d65bd762 100644 Binary files a/src/main/resources/assets/clinker/textures/block/spotreed_stalk_4.png and b/src/main/resources/assets/clinker/textures/block/spotreed_stalk_4.png differ diff --git a/src/main/resources/assets/clinker/textures/block/spotreed_stalk_6.png b/src/main/resources/assets/clinker/textures/block/spotreed_stalk_6.png index db225191..348c3034 100644 Binary files a/src/main/resources/assets/clinker/textures/block/spotreed_stalk_6.png and b/src/main/resources/assets/clinker/textures/block/spotreed_stalk_6.png differ diff --git a/src/main/resources/assets/clinker/textures/block/spotreed_stalk_7.png b/src/main/resources/assets/clinker/textures/block/spotreed_stalk_7.png index 2f10aade..9337d208 100644 Binary files a/src/main/resources/assets/clinker/textures/block/spotreed_stalk_7.png and b/src/main/resources/assets/clinker/textures/block/spotreed_stalk_7.png differ diff --git a/src/main/resources/data/clinker/worldgen/biome/heath.json b/src/main/resources/data/clinker/worldgen/biome/heath.json index 9543d7c9..e0a97250 100644 --- a/src/main/resources/data/clinker/worldgen/biome/heath.json +++ b/src/main/resources/data/clinker/worldgen/biome/heath.json @@ -49,13 +49,13 @@ ], [], [ + "clinker:corpse_lily", + "clinker:moth_balls", "clinker:patch_spotreed", "clinker:patch_yellow_tormentils", "clinker:patch_indigo_tormentils", "clinker:dried_clovers", - "clinker:patch_peat_moss_buds", - "clinker:corpse_lily", - "clinker:moth_balls" + "clinker:patch_peat_moss_buds" ], [] ] diff --git a/src/main/resources/data/clinker/worldgen/biome/heath_thicket.json b/src/main/resources/data/clinker/worldgen/biome/heath_thicket.json new file mode 100644 index 00000000..309e12d6 --- /dev/null +++ b/src/main/resources/data/clinker/worldgen/biome/heath_thicket.json @@ -0,0 +1,63 @@ +{ + "temperature": 0.8, + "downfall": 0.4, + "has_precipitation": false, + "effects": { + "mood_sound": { + "sound": "minecraft:ambient.basalt_deltas.mood", + "tick_delay": 6000, + "block_search_extent": 8, + "offset": 2.0 + }, + "additions_sound": { + "sound": "clinker:ambient.ash_plains.additions", + "tick_chance": 0.0005 + }, + "music": { + "sound": "clinker:music.othershore.surface", + "min_delay": 12000, + "max_delay": 24000, + "replace_current_music": false + }, + "particle": { + "options": { + "type": "minecraft:white_ash" + }, + "probability": 0.01 + }, + "ambient_sound": "clinker:ambient.ash_plains.loop", + "sky_color": 4602686, + "fog_color": 6447200, + "water_color": 6578522, + "water_fog_color": 723467 + }, + "spawners": {}, + "spawn_costs": {}, + "carvers": {}, + "features": [ + [], + [ + "clinker:brimstone_rock" + ], + [], + [], + [], + [], + [], + [ + "clinker:surface_blob_peat_moss" + ], + [], + [ + "clinker:corpse_lily", + "clinker:moth_balls", + "clinker:patch_thicket_spotreed", + "clinker:patch_freestanding_spotreed", + "clinker:patch_yellow_tormentils", + "clinker:patch_indigo_tormentils", + "clinker:dried_clovers", + "clinker:patch_peat_moss_buds" + ], + [] + ] +} diff --git a/src/main/resources/data/clinker/worldgen/placed_feature/patch_freestanding_spotreed.json b/src/main/resources/data/clinker/worldgen/placed_feature/patch_freestanding_spotreed.json new file mode 100644 index 00000000..dc6ae9b1 --- /dev/null +++ b/src/main/resources/data/clinker/worldgen/placed_feature/patch_freestanding_spotreed.json @@ -0,0 +1,49 @@ +{ + "feature": "clinker:patch_spotreed", + "placement": [ + { + "type": "minecraft:count", + "count": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "weight": 5, + "data": 0 + }, + { + "weight": 5, + "data": 1 + }, + { + "weight": 1, + "data": 2 + } + ] + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + }, + { + "type": "minecraft:environment_scan", + "direction_of_search": "down", + "max_steps": 1, + "target_condition": { + "type": "minecraft:matching_blocks", + "offset": [ + 0, + -1, + 0 + ], + "blocks": "clinker:peat_moss" + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/clinker/worldgen/placed_feature/patch_spotreed.json b/src/main/resources/data/clinker/worldgen/placed_feature/patch_spotreed.json index bd8e1768..585ff353 100644 --- a/src/main/resources/data/clinker/worldgen/placed_feature/patch_spotreed.json +++ b/src/main/resources/data/clinker/worldgen/placed_feature/patch_spotreed.json @@ -7,7 +7,7 @@ "type": "minecraft:weighted_list", "distribution": [ { - "weight": 4, + "weight": 1, "data": 0 }, { @@ -15,8 +15,8 @@ "data": 1 }, { - "weight": 1, - "data": 3 + "weight": 4, + "data": 5 } ] } @@ -45,7 +45,8 @@ { "type": "clinker:heightmap_steepness_filter", "heightmap": "OCEAN_FLOOR", - "max_gradient_inclusive": 0.2, + "max_gradient_inclusive": 2, + "inverted": true, "radius": 2 }, { diff --git a/src/main/resources/data/clinker/worldgen/placed_feature/patch_thicket_spotreed.json b/src/main/resources/data/clinker/worldgen/placed_feature/patch_thicket_spotreed.json new file mode 100644 index 00000000..b2d66fd0 --- /dev/null +++ b/src/main/resources/data/clinker/worldgen/placed_feature/patch_thicket_spotreed.json @@ -0,0 +1,56 @@ +{ + "feature": "clinker:patch_spotreed", + "placement": [ + { + "type": "minecraft:count", + "count": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "weight": 2, + "data": 3 + }, + { + "weight": 2, + "data": 5 + }, + { + "weight": 3, + "data": 8 + } + ] + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + }, + { + "type": "minecraft:environment_scan", + "direction_of_search": "down", + "max_steps": 1, + "target_condition": { + "type": "minecraft:matching_blocks", + "offset": [ + 0, + -1, + 0 + ], + "blocks": "clinker:peat_moss" + } + }, + { + "type": "clinker:heightmap_steepness_filter", + "heightmap": "OCEAN_FLOOR", + "max_gradient_inclusive": 2, + "inverted": true, + "radius": 3 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file