From 03d78d831f4fec9ecf8de0a5fda9080137f80cd9 Mon Sep 17 00:00:00 2001 From: Adeline <50517260+Ad3lineL@users.noreply.github.com> Date: Sun, 1 Feb 2026 17:28:49 +0100 Subject: [PATCH 1/3] thicket setup --- .../level/gen/OthershoreBiomeSource.java | 7 ++ .../HeathThicketSurfaceDecorator.java | 105 ++++++++++++++++++ .../shaper/HeathThicketSurfaceShaper.java | 53 +++++++++ .../core/registry/worldgen/ClinkerBiomes.java | 1 + .../registry/worldgen/ClinkerProtoBiomes.java | 2 + .../worldgen/ClinkerSurfaceDecorators.java | 2 + .../worldgen/ClinkerSurfaceShapers.java | 2 + .../clinker/worldgen/biome/heath_thicket.json | 62 +++++++++++ .../patch_thicket_spotreed.json | 59 ++++++++++ 9 files changed, 293 insertions(+) create mode 100644 src/main/java/birsy/clinker/common/world/level/gen/content/surface/decorator/HeathThicketSurfaceDecorator.java create mode 100644 src/main/java/birsy/clinker/common/world/level/gen/content/surface/shaper/HeathThicketSurfaceShaper.java create mode 100644 src/main/resources/data/clinker/worldgen/biome/heath_thicket.json create mode 100644 src/main/resources/data/clinker/worldgen/placed_feature/patch_thicket_spotreed.json 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..a7dad999 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 @@ -104,6 +104,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..9b77ee1b --- /dev/null +++ b/src/main/java/birsy/clinker/common/world/level/gen/content/surface/shaper/HeathThicketSurfaceShaper.java @@ -0,0 +1,53 @@ +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[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 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, cliff1) + 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..5184651a 100644 --- a/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerSurfaceShapers.java +++ b/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerSurfaceShapers.java @@ -30,6 +30,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 HeathSurfaceShaper()); 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/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..74b9d2be --- /dev/null +++ b/src/main/resources/data/clinker/worldgen/biome/heath_thicket.json @@ -0,0 +1,62 @@ +{ + "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:patch_thicket_spotreed", + "clinker:patch_yellow_tormentils", + "clinker:patch_indigo_tormentils", + "clinker:dried_clovers", + "clinker:patch_peat_moss_buds", + "clinker:corpse_lily", + "clinker:moth_balls" + ], + [] + ] +} 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..74e70c58 --- /dev/null +++ b/src/main/resources/data/clinker/worldgen/placed_feature/patch_thicket_spotreed.json @@ -0,0 +1,59 @@ +{ + "feature": "clinker:patch_spotreed", + "placement": [ + { + "type": "minecraft:count", + "count": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "weight": 2, + "data": 0 + }, + { + "weight": 2, + "data": 1 + }, + { + "weight": 3, + "data": 3 + }, + { + "weight": 1, + "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": 0.2, + "radius": 2 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file From 01d1d1f7fa57a25c13d224f37d06edc3d00185a6 Mon Sep 17 00:00:00 2001 From: Adeline <50517260+Ad3lineL@users.noreply.github.com> Date: Sun, 1 Feb 2026 18:00:22 +0100 Subject: [PATCH 2/3] evil worldgen --- .../surface/shaper/HeathThicketSurfaceShaper.java | 8 +++++++- .../data/clinker/worldgen/biome/heath.json | 6 +++--- .../data/clinker/worldgen/biome/heath_thicket.json | 6 +++--- .../worldgen/placed_feature/patch_spotreed.json | 9 +++++---- .../placed_feature/patch_thicket_spotreed.json | 13 +++++-------- 5 files changed, 23 insertions(+), 19 deletions(-) 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 index 9b77ee1b..7cc329f9 100644 --- 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 @@ -19,6 +19,7 @@ public double getHeight(int x, int z, double weight, NoiseContext context) { @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]); @@ -38,6 +39,11 @@ public double surfaceDensity(int x, int y, int z, double heightmapHeight, double 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 cliff2Fac = context.retrieve(BASE_NOISE_2D[4], x, 0, z) + smallNoise -8; + double cliff2 = Math.pow(Math.abs(cliff2Fac), 1 / 12.0) * Math.signum(cliff2Fac) * 100; + double cliff2Mask = context.retrieve(BASE_NOISE_2D[3], x, 0, z) * 0.5 + 0.5; + 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; @@ -48,6 +54,6 @@ public double surfaceDensity(int x, int y, int z, double heightmapHeight, double double verticalVarianceNoise = context.retrieve(BASE_NOISE[5], x, y, z) * 5; - return (y - heightmapHeight) + baseNoise - Math.max((Math.max(cliff0, cliff1) + verticalVarianceNoise) * biomeWeight, surface); + return (y - heightmapHeight) + baseNoise - Math.max((Math.max(Math.max(cliff0, cliff2), cliff1) + verticalVarianceNoise) * biomeWeight, surface); } } 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 index 74b9d2be..2b0f4fbf 100644 --- a/src/main/resources/data/clinker/worldgen/biome/heath_thicket.json +++ b/src/main/resources/data/clinker/worldgen/biome/heath_thicket.json @@ -49,13 +49,13 @@ ], [], [ + "clinker:corpse_lily", + "clinker:moth_balls", "clinker:patch_thicket_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/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 index 74e70c58..b2d66fd0 100644 --- 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 @@ -8,18 +8,14 @@ "distribution": [ { "weight": 2, - "data": 0 + "data": 3 }, { "weight": 2, - "data": 1 + "data": 5 }, { "weight": 3, - "data": 3 - }, - { - "weight": 1, "data": 8 } ] @@ -49,8 +45,9 @@ { "type": "clinker:heightmap_steepness_filter", "heightmap": "OCEAN_FLOOR", - "max_gradient_inclusive": 0.2, - "radius": 2 + "max_gradient_inclusive": 2, + "inverted": true, + "radius": 3 }, { "type": "minecraft:biome" From 4bed6771f7bfc4731c922ef8d0fdbceb29e3d7c5 Mon Sep 17 00:00:00 2001 From: Adeline <50517260+Ad3lineL@users.noreply.github.com> Date: Sun, 1 Feb 2026 19:57:42 +0100 Subject: [PATCH 3/3] spotreed now has spines --- .../resources/assets/clinker/lang/en_us.json | 1 + .../clinker/models/block/spotreed_glow.json | 3 +- .../clinker/models/block/spotreed_glow_1.json | 3 +- .../clinker/models/block/spotreed_glow_2.json | 3 +- .../clinker/models/block/spotreed_glow_3.json | 3 +- .../clinker/models/block/spotreed_glow_4.json | 3 +- .../clinker/models/block/spotreed_glow_5.json | 3 +- .../clinker/models/block/spotreed_glow_6.json | 3 +- .../clinker/models/block/spotreed_glow_7.json | 3 +- .../clinker/models/block/spotreed_tip.json | 7 +-- .../clinker/models/block/spotreed_tip_1.json | 7 +-- .../clinker/models/block/spotreed_tip_2.json | 7 +-- .../clinker/models/block/spotreed_tip_3.json | 7 +-- .../clinker/models/block/spotreed_tip_4.json | 7 +-- .../clinker/models/block/spotreed_tip_5.json | 7 +-- .../clinker/models/block/spotreed_tip_6.json | 7 +-- .../clinker/models/block/spotreed_tip_7.json | 7 +-- .../models/block/spotreed_tip_stalk.json | 4 +- .../models/block/spotreed_tip_stalk_1.json | 4 +- .../models/block/spotreed_tip_stalk_2.json | 4 +- .../models/block/spotreed_tip_stalk_3.json | 4 +- .../models/block/spotreed_tip_stalk_4.json | 4 +- .../models/block/spotreed_tip_stalk_5.json | 4 +- .../models/block/spotreed_tip_stalk_6.json | 4 +- .../models/block/spotreed_tip_stalk_7.json | 4 +- .../level/gen/OthershoreBiomeSource.java | 14 ++--- .../shaper/HeathThicketSurfaceShaper.java | 20 ++++--- .../worldgen/ClinkerSurfaceShapers.java | 7 +-- .../providers/ClinkerBlockStateProvider.java | 9 ++-- .../models/block/spotreed/spotreed.json | 21 -------- .../models/block/spotreed/spotreed_1.json | 21 -------- .../models/block/spotreed/spotreed_2.json | 21 -------- .../models/block/spotreed/spotreed_3.json | 21 -------- .../models/block/spotreed/spotreed_4.json | 21 -------- .../models/block/spotreed/spotreed_5.json | 21 -------- .../models/block/spotreed/spotreed_6.json | 21 -------- .../models/block/spotreed/spotreed_7.json | 21 -------- .../models/block/spotreed/spotreed_tip.json | 20 ------- .../models/block/spotreed/spotreed_tip_1.json | 20 ------- .../models/block/spotreed/spotreed_tip_2.json | 20 ------- .../models/block/spotreed/spotreed_tip_3.json | 20 ------- .../models/block/spotreed/spotreed_tip_4.json | 20 ------- .../models/block/spotreed/spotreed_tip_5.json | 20 ------- .../models/block/spotreed/spotreed_tip_6.json | 20 ------- .../models/block/spotreed/spotreed_tip_7.json | 20 ------- .../models/block/template_spotreed.json | 26 ++++++++-- .../clinker/textures/block/spotreed_stalk.png | Bin 223 -> 207 bytes .../textures/block/spotreed_stalk_1.png | Bin 239 -> 225 bytes .../textures/block/spotreed_stalk_2.png | Bin 218 -> 197 bytes .../textures/block/spotreed_stalk_3.png | Bin 242 -> 219 bytes .../textures/block/spotreed_stalk_4.png | Bin 232 -> 210 bytes .../textures/block/spotreed_stalk_6.png | Bin 223 -> 201 bytes .../textures/block/spotreed_stalk_7.png | Bin 238 -> 219 bytes .../clinker/worldgen/biome/heath_thicket.json | 1 + .../patch_freestanding_spotreed.json | 49 ++++++++++++++++++ 55 files changed, 133 insertions(+), 434 deletions(-) delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_1.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_2.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_3.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_4.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_5.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_6.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_7.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_1.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_2.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_3.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_4.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_5.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_6.json delete mode 100644 src/main/resources/assets/clinker/models/block/spotreed/spotreed_tip_7.json create mode 100644 src/main/resources/data/clinker/worldgen/placed_feature/patch_freestanding_spotreed.json 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 a7dad999..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 @@ -104,16 +104,16 @@ 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)) + .layer(new BiomeLayerOperations.Mutate(ClinkerProtoBiomes.HEATH.get(), + SimpleWeightedRandomList.builder() + .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/shaper/HeathThicketSurfaceShaper.java b/src/main/java/birsy/clinker/common/world/level/gen/content/surface/shaper/HeathThicketSurfaceShaper.java index 7cc329f9..d8b57de3 100644 --- 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 @@ -39,21 +39,29 @@ public double surfaceDensity(int x, int y, int z, double heightmapHeight, double 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 cliff2Fac = context.retrieve(BASE_NOISE_2D[4], x, 0, z) + smallNoise -8; - double cliff2 = Math.pow(Math.abs(cliff2Fac), 1 / 12.0) * Math.signum(cliff2Fac) * 100; - double cliff2Mask = context.retrieve(BASE_NOISE_2D[3], x, 0, z) * 0.5 + 0.5; - 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 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(Math.max(cliff0, cliff2), cliff1) + verticalVarianceNoise) * biomeWeight, surface); + 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/ClinkerSurfaceShapers.java b/src/main/java/birsy/clinker/core/registry/worldgen/ClinkerSurfaceShapers.java index 5184651a..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; @@ -31,7 +28,7 @@ public class ClinkerSurfaceShapers { public static final Supplier HEATH = register("heath", ClinkerBiomes.HEATH, new HeathSurfaceShaper()); public static final Supplier HEATH_THICKET = - register("heath_thicket", ClinkerBiomes.HEATH_THICKET, new HeathSurfaceShaper()); + 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 2b99e4799dab0573d0877427fb02bffbe749469c..c8e76cdb50a967a6ec15c97d7e3098faf3e33931 100644 GIT binary patch delta 179 zcmcc5c%E^BNGZx^prw85kHkJzX3_EP9g@4lvi0_Wt|*O6u?N_l^vEJv(z#e z%$cgzo7>;E?{<1~snaQ2v& ffi6#t6$8Vp<8tf!p0=F?x{ATm)z4*}Q$iB}S^rGI delta 195 zcmX@lc%N~CN`sf zD@Hjn4(+aF^GiUX98VX=5R22v2?v;KN_+qPekJwy`0_T^`A@>z?(?)T)G^lynl*6F zUm~Q>-#l@K#!tN+Ki)Aj>%SKN#5>`^vn4t_J0v4CZMd0}7>=^>d@4y$Q9HHZ$Z6+& v+~@XIo&E6hyZoov180wU8R+uVSTQi@zL&5*{p{0spv4THu6{1-oD!M<3K>Z1 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 35d90788f37aecbebb42f6b057bdcf351d128b05..b3209838122f5b6a2fec2f63a04c696e9ff06c1f 100644 GIT binary patch delta 197 zcmV;$06PEg0pS6VB!2;OQb$4nuFf3k0001+Nkli);4h6SJG zt6$&nNfS1Jn~jyA0ZfDxa5LaH1g{Ie{`$@EmEkw}E|B41XHeqhVbD@i!5NTvU2x;` zcLoNA?+n-O-C-ol1>)T74C37E_>@o{h?9 delta 211 zcmaFJ_?~fsN`sf zD@Hjn4g&_Ze|A8j8c!F;5R22v2?v;KN_+oVzkK!Y`0_T^`A=5I-^UIzyX}y& z$mO$uhsTi$#`TQl`|FZ^{OWFMS)#9UK;iH~zdDJSs_&f(#2JoHmfm%V<>^$QLl`_= L{an^LB{Ts5t|U@m 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 fc36d7489ad75e0c48a4fd560fc3b12d23853984..be2d999298f1603d8c597f643f9a8464afdf914a 100644 GIT binary patch delta 169 zcmV;a09OCn0mT83B!2;OQb$4nuFf3k0001gNklROHZa%!48Ad=X7>S88 zDDmhR?tMFkHKLhmkB7aI>*8NN{uFQzC-j1>6j*cr`OHFfafB X?T8#XABgof00000NkvXXu0mjff3Zj; delta 190 zcmX@gc#Cm@N`sf zD@Hjn4zri3(cD0xbWaz@5R22v2?v;KN_+qPekJwy`0}>SMkj+0Y#Sa-{&VWXY$xWr zzst^Wd+o8|aZ6hCWcPzdyZL$ctcgEi?l5z9{*mKN6U}F6Gz;nT|J1Yi{>t?5^ZWHD q${Ee2wVPSY)qmduc`*x$>8bg=d#Wzp$P!v@kZ7F 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 009fc3d993f1a57c05040221df4807c341fa32ef..fcfbac00ade6af67e32843be4fe68fb2cebfc60b 100644 GIT binary patch delta 191 zcmV;w06_op0owtPB!2;OQb$4nuFf3k0001$NklqGyMC1?cNf~FE}TII5#`_E_m|eC&TC8 tf5>+MHybO11UDxI1`rX51k(W_LjZosA2xmG;t~J=002ovPDHLkV1l!oP@w<- delta 214 zcmcc3_=$0XN`sf zD@HjnPDYQz=Ust9^`0({Ar_~%PBP?ka1d~z^nE=LF_cUfQUxmkF7`Q z*KasU?{bHy#Vv<&DL N22WQ%mvv4FO#la-Q6c~U 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 c66400527ebe49f149a3c18987be57253a27dec0..d65bd7624baad4b70d99a41b8ca26cfd10f6f6ff 100644 GIT binary patch delta 182 zcmV;n07?Jo0n!1GB!2;OQb$4nuFf3k0001tNklvpiF`sf zD@HjnPWFWhvI>AgrJgR1Ar_~T6Am!XDJlJL{qohnzopr E08+h6)c^nh 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 db2251913045df3a5682165e5232f54e8425c9b6..348c3034cb9e76d113bea5556b1bdc076b7ce4d9 100644 GIT binary patch delta 173 zcmV;e08;i);4h6$gf zAQKaVI6FIomXZoiLs;+`@Z`r&2JV0V7_QyB!$_73xY<}4xEWaSDIs700nG#rAO_$K zgRcy~DKy|0VFPe_K}$*HzYGUEgBTkZ-e|-Nw3Jl-o2zT!)h3MB3liL%1TDd909~SS b7#IKmS@aj;*1VFP00000NkvXXu0mjfe^y5Z delta 195 zcmX@fc%N~CN`sf zD@HjnPN6fkeY1f=Ii4<#Ar_~T6Am!XDJlJL{qohn#)@HuRX7lso zR_Ejjf;TEfx;3{0~)r5tz;NVCOD+SCPS9MI?Do$xRr{m0k-nKjJo v>i?ZOaQc+fK1QKCbEZ@_>Rq(p;bCB4tQT5)&St3+&|(HpS3j3^P6OUcN`sf zD@HjnP6?eA>8(JaYEKu(5R22v2?v;KN_+qPekJwy`0_T+`A@>z?(?)TaNC^}kKb=> zU{IrepCL8Rj?HY@exBx1E1)7a+ivvxZ0L&YUg0E)0KCB`+~s@Nfa$!QkoY K=d#Wzp$P!SwMsq! diff --git a/src/main/resources/data/clinker/worldgen/biome/heath_thicket.json b/src/main/resources/data/clinker/worldgen/biome/heath_thicket.json index 2b0f4fbf..309e12d6 100644 --- a/src/main/resources/data/clinker/worldgen/biome/heath_thicket.json +++ b/src/main/resources/data/clinker/worldgen/biome/heath_thicket.json @@ -52,6 +52,7 @@ "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", 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