Sulphur Springs fixes

This commit is contained in:
paulevsGitch 2021-12-23 20:25:26 +03:00
parent a25a02592a
commit a5e203acb3
3 changed files with 58 additions and 61 deletions

View file

@ -20,28 +20,29 @@ public class ChorusForestBiome extends EndBiome.Config {
@Override @Override
protected void addCustomBuildData(BCLBiomeBuilder builder) { protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.fogColor(87, 26, 87) builder
.fogDensity(1.5F) .fogColor(87, 26, 87)
.plantsColor(122, 45, 122) .fogDensity(1.5F)
.waterAndFogColor(73, 30, 73) .plantsColor(122, 45, 122)
.particles(ParticleTypes.PORTAL, 0.01F) .waterAndFogColor(73, 30, 73)
.loop(EndSounds.AMBIENT_CHORUS_FOREST) .particles(ParticleTypes.PORTAL, 0.01F)
.music(EndSounds.MUSIC_DARK) .loop(EndSounds.AMBIENT_CHORUS_FOREST)
.feature(EndFeatures.VIOLECITE_LAYER) .music(EndSounds.MUSIC_DARK)
.feature(EndFeatures.END_LAKE_RARE) .feature(EndFeatures.VIOLECITE_LAYER)
.feature(EndFeatures.PYTHADENDRON_TREE) .feature(EndFeatures.END_LAKE_RARE)
.feature(EndFeatures.PYTHADENDRON_BUSH) .feature(EndFeatures.PYTHADENDRON_TREE)
.feature(EndFeatures.PURPLE_POLYPORE) .feature(EndFeatures.PYTHADENDRON_BUSH)
.feature(Decoration.VEGETAL_DECORATION, EndPlacements.CHORUS_PLANT) .feature(EndFeatures.PURPLE_POLYPORE)
.feature(EndFeatures.CHORUS_GRASS) .feature(Decoration.VEGETAL_DECORATION, EndPlacements.CHORUS_PLANT)
.feature(EndFeatures.CHORUS_MUSHROOM) .feature(EndFeatures.CHORUS_GRASS)
.feature(EndFeatures.TAIL_MOSS) .feature(EndFeatures.CHORUS_MUSHROOM)
.feature(EndFeatures.TAIL_MOSS_WOOD) .feature(EndFeatures.TAIL_MOSS)
.feature(EndFeatures.CHARNIA_PURPLE) .feature(EndFeatures.TAIL_MOSS_WOOD)
.feature(EndFeatures.CHARNIA_RED_RARE) .feature(EndFeatures.CHARNIA_PURPLE)
.structure(VANILLA_FEATURES.getEND_CITY()) .feature(EndFeatures.CHARNIA_RED_RARE)
.spawn(EndEntities.END_SLIME, 5, 1, 2) .structure(VANILLA_FEATURES.getEND_CITY())
.spawn(EntityType.ENDERMAN, 50, 1, 4); .spawn(EndEntities.END_SLIME, 5, 1, 2)
.spawn(EntityType.ENDERMAN, 50, 1, 4);
} }
@Override @Override

View file

@ -4,6 +4,8 @@ import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.SurfaceRules; 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.biomes.BCLBiomeBuilder;
import ru.bclib.api.surface.SurfaceRuleBuilder; import ru.bclib.api.surface.SurfaceRuleBuilder;
import ru.bclib.api.surface.rules.SwitchRuleSource; import ru.bclib.api.surface.rules.SwitchRuleSource;
@ -31,25 +33,25 @@ public class SulphurSpringsBiome extends EndBiome.Config {
@Override @Override
protected void addCustomBuildData(BCLBiomeBuilder builder) { protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder builder
.music(EndSounds.MUSIC_OPENSPACE) .music(EndSounds.MUSIC_OPENSPACE)
.loop(EndSounds.AMBIENT_SULPHUR_SPRINGS) .loop(EndSounds.AMBIENT_SULPHUR_SPRINGS)
.waterColor(25, 90, 157) .waterColor(25, 90, 157)
.waterFogColor(30, 65, 61) .waterFogColor(30, 65, 61)
.fogColor(207, 194, 62) .fogColor(207, 194, 62)
.fogDensity(1.5F) .fogDensity(1.5F)
.terrainHeight(0F) .terrainHeight(0F)
.particles(EndParticles.SULPHUR_PARTICLE, 0.001F) .particles(EndParticles.SULPHUR_PARTICLE, 0.001F)
.feature(EndFeatures.GEYSER) .feature(EndFeatures.GEYSER)
.feature(EndFeatures.SURFACE_VENT) .feature(EndFeatures.SURFACE_VENT)
.feature(EndFeatures.SULPHURIC_LAKE) .feature(EndFeatures.SULPHURIC_LAKE)
.feature(EndFeatures.SULPHURIC_CAVE) .feature(EndFeatures.SULPHURIC_CAVE)
.feature(EndFeatures.HYDRALUX) .feature(EndFeatures.HYDRALUX)
.feature(EndFeatures.CHARNIA_GREEN) .feature(EndFeatures.CHARNIA_GREEN)
.feature(EndFeatures.CHARNIA_ORANGE) .feature(EndFeatures.CHARNIA_ORANGE)
.feature(EndFeatures.CHARNIA_RED_RARE) .feature(EndFeatures.CHARNIA_RED_RARE)
.spawn(EndEntities.END_FISH, 50, 3, 8) .spawn(EndEntities.END_FISH, 50, 3, 8)
.spawn(EndEntities.CUBOZOA, 50, 3, 8) .spawn(EndEntities.CUBOZOA, 50, 3, 8)
.spawn(EntityType.ENDERMAN, 50, 1, 4); .spawn(EntityType.ENDERMAN, 50, 1, 4);
} }
@Override @Override
@ -72,21 +74,19 @@ public class SulphurSpringsBiome extends EndBiome.Config {
@Override @Override
public SurfaceRuleBuilder surface() { public SurfaceRuleBuilder surface() {
RuleSource surfaceBlockRule = new SwitchRuleSource(
new SulphuricSurfaceNoiseCondition(),
List.of(
SurfaceRules.state(surfaceMaterial().getAltTopMaterial()),
SurfaceRules.state(surfaceMaterial().getTopMaterial()),
SULPHURIC_ROCK,
BRIMSTONE
)
);
return super return super
.surface() .surface()
.rule(2, .rule(2, SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, surfaceBlockRule))
SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, .rule(2, SurfaceRules.ifTrue(SurfaceRules.stoneDepthCheck(5, false, false, CaveSurface.FLOOR), surfaceBlockRule));
new SwitchRuleSource(
new SulphuricSurfaceNoiseCondition(),
List.of(
SurfaceRules.state(surfaceMaterial().getAltTopMaterial()),
SurfaceRules.state(surfaceMaterial().getTopMaterial()),
SULPHURIC_ROCK,
BRIMSTONE
)
)
)
);
} }
}; };
} }

View file

@ -15,14 +15,10 @@ public class SulphuricSurfaceNoiseCondition implements NumericProvider {
public int getNumber(SurfaceRulesContextAccessor context) { public int getNumber(SurfaceRulesContextAccessor context) {
final int x = context.getBlockX(); final int x = context.getBlockX();
final int z = context.getBlockZ(); 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( 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);
-0.1,
0.1,
MHelper.RANDOM
);
if (value < -0.6) return 0; if (value < -0.6) return 0;
if (value < -0.3) return 1; if (value < -0.3) return 1;
if (value < -0.5) return 2; if (value < 0.5) return 2;
return 3; return 3;
} }
} }