From a5e203acb3e1fbd9bc38d379c9d55a1165892b34 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Thu, 23 Dec 2021 20:25:26 +0300 Subject: [PATCH] Sulphur Springs fixes --- .../world/biome/land/ChorusForestBiome.java | 45 ++++++------- .../world/biome/land/SulphurSpringsBiome.java | 66 +++++++++---------- .../SulphuricSurfaceNoiseCondition.java | 8 +-- 3 files changed, 58 insertions(+), 61 deletions(-) diff --git a/src/main/java/ru/betterend/world/biome/land/ChorusForestBiome.java b/src/main/java/ru/betterend/world/biome/land/ChorusForestBiome.java index 9c4b49b3..c5fc3d83 100644 --- a/src/main/java/ru/betterend/world/biome/land/ChorusForestBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/ChorusForestBiome.java @@ -20,28 +20,29 @@ public class ChorusForestBiome extends EndBiome.Config { @Override protected void addCustomBuildData(BCLBiomeBuilder builder) { - builder.fogColor(87, 26, 87) - .fogDensity(1.5F) - .plantsColor(122, 45, 122) - .waterAndFogColor(73, 30, 73) - .particles(ParticleTypes.PORTAL, 0.01F) - .loop(EndSounds.AMBIENT_CHORUS_FOREST) - .music(EndSounds.MUSIC_DARK) - .feature(EndFeatures.VIOLECITE_LAYER) - .feature(EndFeatures.END_LAKE_RARE) - .feature(EndFeatures.PYTHADENDRON_TREE) - .feature(EndFeatures.PYTHADENDRON_BUSH) - .feature(EndFeatures.PURPLE_POLYPORE) - .feature(Decoration.VEGETAL_DECORATION, EndPlacements.CHORUS_PLANT) - .feature(EndFeatures.CHORUS_GRASS) - .feature(EndFeatures.CHORUS_MUSHROOM) - .feature(EndFeatures.TAIL_MOSS) - .feature(EndFeatures.TAIL_MOSS_WOOD) - .feature(EndFeatures.CHARNIA_PURPLE) - .feature(EndFeatures.CHARNIA_RED_RARE) - .structure(VANILLA_FEATURES.getEND_CITY()) - .spawn(EndEntities.END_SLIME, 5, 1, 2) - .spawn(EntityType.ENDERMAN, 50, 1, 4); + builder + .fogColor(87, 26, 87) + .fogDensity(1.5F) + .plantsColor(122, 45, 122) + .waterAndFogColor(73, 30, 73) + .particles(ParticleTypes.PORTAL, 0.01F) + .loop(EndSounds.AMBIENT_CHORUS_FOREST) + .music(EndSounds.MUSIC_DARK) + .feature(EndFeatures.VIOLECITE_LAYER) + .feature(EndFeatures.END_LAKE_RARE) + .feature(EndFeatures.PYTHADENDRON_TREE) + .feature(EndFeatures.PYTHADENDRON_BUSH) + .feature(EndFeatures.PURPLE_POLYPORE) + .feature(Decoration.VEGETAL_DECORATION, EndPlacements.CHORUS_PLANT) + .feature(EndFeatures.CHORUS_GRASS) + .feature(EndFeatures.CHORUS_MUSHROOM) + .feature(EndFeatures.TAIL_MOSS) + .feature(EndFeatures.TAIL_MOSS_WOOD) + .feature(EndFeatures.CHARNIA_PURPLE) + .feature(EndFeatures.CHARNIA_RED_RARE) + .structure(VANILLA_FEATURES.getEND_CITY()) + .spawn(EndEntities.END_SLIME, 5, 1, 2) + .spawn(EntityType.ENDERMAN, 50, 1, 4); } @Override diff --git a/src/main/java/ru/betterend/world/biome/land/SulphurSpringsBiome.java b/src/main/java/ru/betterend/world/biome/land/SulphurSpringsBiome.java index 9a4b7236..0b4a25d5 100644 --- a/src/main/java/ru/betterend/world/biome/land/SulphurSpringsBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/SulphurSpringsBiome.java @@ -4,6 +4,8 @@ import net.minecraft.world.entity.EntityType; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.SurfaceRules; +import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource; +import net.minecraft.world.level.levelgen.placement.CaveSurface; import ru.bclib.api.biomes.BCLBiomeBuilder; import ru.bclib.api.surface.SurfaceRuleBuilder; import ru.bclib.api.surface.rules.SwitchRuleSource; @@ -31,25 +33,25 @@ public class SulphurSpringsBiome extends EndBiome.Config { @Override protected void addCustomBuildData(BCLBiomeBuilder builder) { builder - .music(EndSounds.MUSIC_OPENSPACE) - .loop(EndSounds.AMBIENT_SULPHUR_SPRINGS) - .waterColor(25, 90, 157) - .waterFogColor(30, 65, 61) - .fogColor(207, 194, 62) - .fogDensity(1.5F) - .terrainHeight(0F) - .particles(EndParticles.SULPHUR_PARTICLE, 0.001F) - .feature(EndFeatures.GEYSER) - .feature(EndFeatures.SURFACE_VENT) - .feature(EndFeatures.SULPHURIC_LAKE) - .feature(EndFeatures.SULPHURIC_CAVE) - .feature(EndFeatures.HYDRALUX) - .feature(EndFeatures.CHARNIA_GREEN) - .feature(EndFeatures.CHARNIA_ORANGE) - .feature(EndFeatures.CHARNIA_RED_RARE) - .spawn(EndEntities.END_FISH, 50, 3, 8) - .spawn(EndEntities.CUBOZOA, 50, 3, 8) - .spawn(EntityType.ENDERMAN, 50, 1, 4); + .music(EndSounds.MUSIC_OPENSPACE) + .loop(EndSounds.AMBIENT_SULPHUR_SPRINGS) + .waterColor(25, 90, 157) + .waterFogColor(30, 65, 61) + .fogColor(207, 194, 62) + .fogDensity(1.5F) + .terrainHeight(0F) + .particles(EndParticles.SULPHUR_PARTICLE, 0.001F) + .feature(EndFeatures.GEYSER) + .feature(EndFeatures.SURFACE_VENT) + .feature(EndFeatures.SULPHURIC_LAKE) + .feature(EndFeatures.SULPHURIC_CAVE) + .feature(EndFeatures.HYDRALUX) + .feature(EndFeatures.CHARNIA_GREEN) + .feature(EndFeatures.CHARNIA_ORANGE) + .feature(EndFeatures.CHARNIA_RED_RARE) + .spawn(EndEntities.END_FISH, 50, 3, 8) + .spawn(EndEntities.CUBOZOA, 50, 3, 8) + .spawn(EntityType.ENDERMAN, 50, 1, 4); } @Override @@ -72,21 +74,19 @@ public class SulphurSpringsBiome extends EndBiome.Config { @Override public SurfaceRuleBuilder surface() { + RuleSource surfaceBlockRule = new SwitchRuleSource( + new SulphuricSurfaceNoiseCondition(), + List.of( + SurfaceRules.state(surfaceMaterial().getAltTopMaterial()), + SurfaceRules.state(surfaceMaterial().getTopMaterial()), + SULPHURIC_ROCK, + BRIMSTONE + ) + ); return super - .surface() - .rule(2, - SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, - new SwitchRuleSource( - new SulphuricSurfaceNoiseCondition(), - List.of( - SurfaceRules.state(surfaceMaterial().getAltTopMaterial()), - SurfaceRules.state(surfaceMaterial().getTopMaterial()), - SULPHURIC_ROCK, - BRIMSTONE - ) - ) - ) - ); + .surface() + .rule(2, SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, surfaceBlockRule)) + .rule(2, SurfaceRules.ifTrue(SurfaceRules.stoneDepthCheck(5, false, false, CaveSurface.FLOOR), surfaceBlockRule)); } }; } diff --git a/src/main/java/ru/betterend/world/surface/SulphuricSurfaceNoiseCondition.java b/src/main/java/ru/betterend/world/surface/SulphuricSurfaceNoiseCondition.java index 3e4da424..1ad16c08 100644 --- a/src/main/java/ru/betterend/world/surface/SulphuricSurfaceNoiseCondition.java +++ b/src/main/java/ru/betterend/world/surface/SulphuricSurfaceNoiseCondition.java @@ -15,14 +15,10 @@ public class SulphuricSurfaceNoiseCondition implements NumericProvider { public int getNumber(SurfaceRulesContextAccessor context) { final int x = context.getBlockX(); final int z = context.getBlockZ(); - final double value = NOISE.eval(x * 0.03, z * 0.03) + NOISE.eval(x * 0.1, z * 0.1) * 0.3 + MHelper.randRange( - -0.1, - 0.1, - MHelper.RANDOM - ); + final double value = NOISE.eval(x * 0.03, z * 0.03) + NOISE.eval(x * 0.1, z * 0.1) * 0.3 + MHelper.randRange(-0.1, 0.1, MHelper.RANDOM); if (value < -0.6) return 0; if (value < -0.3) return 1; - if (value < -0.5) return 2; + if (value < 0.5) return 2; return 3; } }