Sulphur Springs fixes
This commit is contained in:
parent
a25a02592a
commit
a5e203acb3
3 changed files with 58 additions and 61 deletions
|
@ -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
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue