Converted Biome generation to new BCLib builder

This commit is contained in:
Frank 2021-12-07 12:11:08 +01:00
parent 96c65b7bb2
commit 016a3048bd
29 changed files with 871 additions and 618 deletions

View file

@ -88,11 +88,13 @@ public class EndBiomes {
/**
* Put existing {@link EndBiome} as a sub-biome into selected parent.
*
* @param biome - {@link EndBiome} instance
* @param biomeConfig - {@link EndBiome.Config} instance
* @param parent - {@link EndBiome} to be linked with
* @return registered {@link EndBiome}
*/
public static EndBiome registerSubBiome(EndBiome biome, EndBiome parent) {
public static EndBiome registerSubBiome(EndBiome.Config biomeConfig, EndBiome parent) {
final EndBiome biome = EndBiome.create(biomeConfig);
if (Configs.BIOME_CONFIG.getBoolean(biome.getID(), "enabled", true)) {
BiomeAPI.registerSubBiome(parent, biome);
}
@ -102,11 +104,12 @@ public class EndBiomes {
/**
* Registers {@link EndBiome} and adds it into worldgen.
*
* @param biome - {@link EndBiome} instance
* @param biomeConfig - {@link EndBiome.Config} instance
* @param type - {@link BiomeType}
* @return registered {@link EndBiome}
*/
public static EndBiome registerBiome(EndBiome biome, BiomeType type) {
public static EndBiome registerBiome(EndBiome.Config biomeConfig, BiomeType type) {
final EndBiome biome = EndBiome.create(biomeConfig);
if (Configs.BIOME_CONFIG.getBoolean(biome.getID(), "enabled", true)) {
if (type == BiomeType.LAND) {
BiomeAPI.registerEndLandBiome(biome);
@ -146,7 +149,8 @@ public class EndBiomes {
}
}
public static EndCaveBiome registerCaveBiome(EndCaveBiome biome) {
public static EndCaveBiome registerCaveBiome(EndCaveBiome.Config biomeConfig) {
final EndCaveBiome biome = EndCaveBiome.create(biomeConfig);
if (Configs.BIOME_CONFIG.getBoolean(biome.getID(), "enabled", true)) {
BiomeAPI.registerBiome(biome);
CAVE_BIOMES.addBiome(biome);

View file

@ -321,16 +321,12 @@ public class EndFeatures {
}*/
}
public static BCLBiomeBuilder addDefaultFeatures(ResourceLocation biomeID, BCLBiomeBuilder builder, boolean hasCaves) {
public static BCLBiomeBuilder addDefaultFeatures(BCLBiomeBuilder builder, boolean hasCaves) {
builder.feature(FLAVOLITE_LAYER);
builder.feature(THALLASIUM_ORE);
builder.feature(ENDER_ORE);
builder.feature(CRASHED_SHIP);
if (biomeID.getPath().endsWith("_cave")) {
return builder;
}
// TODO replace cave features with carvers
if (hasCaves) {
builder.feature(ROUND_CAVE);

View file

@ -1,23 +1,63 @@
package ru.betterend.world.biome;
import java.util.function.BiFunction;
import net.minecraft.data.worldgen.StructureFeatures;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.world.level.biome.Biome;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.bclib.interfaces.StructureFeaturesAccessor;
import ru.bclib.world.biomes.BCLBiome;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndSounds;
public class EndBiome extends BCLBiome {
public EndBiome(BCLBiomeDef def) {
super(updateDef(def));
public abstract static class Config {
protected static final StructureFeaturesAccessor VANILLA_FEATURES = (StructureFeaturesAccessor)new StructureFeatures();
public final ResourceLocation ID;
protected Config(String name) {
this.ID = BetterEnd.makeID(name);
}
public EndBiome(ResourceLocation id, Biome biome, float fogDensity, float genChance, boolean hasCaves) {
super(id, biome, fogDensity, genChance);
this.addCustomData("has_caves", hasCaves);
protected abstract void addCustomBuildData(BCLBiomeBuilder builder);
public BiFunction<ResourceLocation, Biome, EndBiome> getSupplier(){
return EndBiome::new;
}
private static BCLBiomeDef updateDef(BCLBiomeDef def) {
EndFeatures.addDefaultFeatures(def);
return def;
protected boolean hasCaves(){
return true;
}
}
public EndBiome(ResourceLocation biomeID, Biome biome) {
super(biomeID, biome);
}
public static EndBiome create(Config biomeConfig){
BCLBiomeBuilder builder = BCLBiomeBuilder
.start(biomeConfig.ID)
.category(Biome.BiomeCategory.THEEND)
.music(SoundEvents.MUSIC_END)
.waterColor(4159204)
.waterFogColor(329011)
.fogColor(0xA080A0)
.skyColor(0)
.mood(EndSounds.AMBIENT_DUST_WASTELANDS)
.temperature(0.5f)
.wetness(0.5f)
.precipitation(Biome.Precipitation.NONE);
biomeConfig.addCustomBuildData(builder);
EndFeatures.addDefaultFeatures(builder, biomeConfig.hasCaves());
EndBiome biome = builder.build(biomeConfig.getSupplier());
biome.addCustomData("has_caves", biomeConfig.hasCaves());
return biome;
}
}

View file

@ -1,25 +1,33 @@
package ru.betterend.world.biome.air;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndStructures;
import ru.betterend.world.biome.EndBiome;
public class BiomeIceStarfield extends EndBiome {
public class BiomeIceStarfield extends EndBiome.Config {
public BiomeIceStarfield() {
super(new BCLBiomeDef(BetterEnd.makeID("ice_starfield")).addCustomData("has_caves", false)
.addStructureFeature(EndStructures.GIANT_ICE_STAR.getFeatureConfigured())
.setFogColor(224, 245, 254)
.setTemperature(0F)
.setFogDensity(2.2F)
.setFoliageColor(193, 244, 244)
.setGenChance(0.25F)
.setParticles(EndParticles.SNOWFLAKE, 0.002F)
.addFeature(EndFeatures.ICE_STAR)
.addFeature(EndFeatures.ICE_STAR_SMALL)
.addMobSpawn(EntityType.ENDERMAN, 20, 1, 4));
super("ice_starfield");
}
@Override
protected boolean hasCaves() {
return false;
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.structure(EndStructures.GIANT_ICE_STAR.getFeatureConfigured())
.fogColor(224, 245, 254)
.temperature(0F)
.fogDensity(2.2F)
.foliageColor(193, 244, 244)
.genChance(0.25F)
.particles(EndParticles.SNOWFLAKE, 0.002F)
.feature(EndFeatures.ICE_STAR)
.feature(EndFeatures.ICE_STAR_SMALL)
.spawn(EntityType.ENDERMAN, 20, 1, 4);
}
}

View file

@ -1,17 +1,17 @@
package ru.betterend.world.biome.cave;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import java.util.function.BiFunction;
import net.minecraft.resources.ResourceLocation;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.world.biome.EndBiome;
public class EmptyAuroraCaveBiome extends EndCaveBiome {
public EmptyAuroraCaveBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("empty_aurora_cave")).setFogColor(150, 30, 68)
.setFogDensity(2.0F)
.setPlantsColor(108, 25, 46)
.setWaterAndFogColor(186, 77, 237)
.setParticles(EndParticles.GLOWING_SPHERE, 0.001F));
public class EmptyAuroraCaveBiome extends EndCaveBiome.Config {
public static class Biome extends EndCaveBiome {
public Biome(ResourceLocation biomeID, net.minecraft.world.level.biome.Biome biome) {
super(biomeID, biome);
this.addFloorFeature(EndFeatures.BIG_AURORA_CRYSTAL, 1);
@ -28,3 +28,23 @@ public class EmptyAuroraCaveBiome extends EndCaveBiome {
return 0.1F;
}
}
public EmptyAuroraCaveBiome() {
super("empty_aurora_cave");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
super.addCustomBuildData(builder);
builder.fogColor(150, 30, 68)
.fogDensity(2.0F)
.plantsColor(108, 25, 46)
.waterAndFogColor(186, 77, 237)
.particles(EndParticles.GLOWING_SPHERE, 0.001F);
}
@Override
public BiFunction<ResourceLocation, net.minecraft.world.level.biome.Biome, EndBiome> getSupplier() {
return EmptyAuroraCaveBiome.Biome::new;
}
}

View file

@ -1,12 +1,17 @@
package ru.betterend.world.biome.cave;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.betterend.registry.EndFeatures;
import java.util.function.BiFunction;
import net.minecraft.resources.ResourceLocation;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndFeatures;
import ru.betterend.world.biome.EndBiome;
public class EmptyEndCaveBiome extends EndCaveBiome.Config {
public static class Biome extends EndCaveBiome {
public Biome(ResourceLocation biomeID, net.minecraft.world.level.biome.Biome biome) {
super(biomeID, biome);
public class EmptyEndCaveBiome extends EndCaveBiome {
public EmptyEndCaveBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("empty_end_cave")).setFogDensity(2.0F));
this.addFloorFeature(EndFeatures.END_STONE_STALAGMITE, 1);
this.addCeilFeature(EndFeatures.END_STONE_STALACTITE, 1);
}
@ -21,3 +26,19 @@ public class EmptyEndCaveBiome extends EndCaveBiome {
return 0.1F;
}
}
public EmptyEndCaveBiome() {
super("empty_end_cave");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
super.addCustomBuildData(builder);
builder.fogDensity(2.0F);
}
@Override
public BiFunction<ResourceLocation, net.minecraft.world.level.biome.Biome, EndBiome> getSupplier() {
return Biome::new;
}
}

View file

@ -1,17 +1,17 @@
package ru.betterend.world.biome.cave;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import java.util.function.BiFunction;
import net.minecraft.resources.ResourceLocation;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.world.biome.EndBiome;
public class EmptySmaragdantCaveBiome extends EndCaveBiome {
public EmptySmaragdantCaveBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("empty_smaragdant_cave")).setFogColor(0, 253, 182)
.setFogDensity(2.0F)
.setPlantsColor(0, 131, 145)
.setWaterAndFogColor(31, 167, 212)
.setParticles(EndParticles.SMARAGDANT, 0.001F));
public class EmptySmaragdantCaveBiome extends EndCaveBiome.Config {
public static class Biome extends EndCaveBiome {
public Biome(ResourceLocation biomeID, net.minecraft.world.level.biome.Biome biome) {
super(biomeID, biome);
this.addFloorFeature(EndFeatures.SMARAGDANT_CRYSTAL, 1);
this.addFloorFeature(EndFeatures.SMARAGDANT_CRYSTAL_SHARD, 20);
@ -29,3 +29,23 @@ public class EmptySmaragdantCaveBiome extends EndCaveBiome {
return 0.1F;
}
}
public EmptySmaragdantCaveBiome() {
super("empty_smaragdant_cave");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
super.addCustomBuildData(builder);
builder.fogColor(0, 253, 182)
.fogDensity(2.0F)
.plantsColor(0, 131, 145)
.waterAndFogColor(31, 167, 212)
.particles(EndParticles.SMARAGDANT, 0.001F);
}
@Override
public BiFunction<ResourceLocation, net.minecraft.world.level.biome.Biome, EndBiome> getSupplier() {
return EmptySmaragdantCaveBiome.Biome::new;
}
}

View file

@ -1,37 +1,60 @@
package ru.betterend.world.biome.cave;
import java.util.Random;
import java.util.function.BiFunction;
import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.biome.Biome.BiomeCategory;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.GenerationStep;
import net.minecraft.world.level.levelgen.feature.Feature;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.bclib.api.biomes.BiomeAPI;
import ru.bclib.util.WeightedList;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.bclib.world.features.BCLFeature;
import ru.betterend.BetterEnd;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
import ru.betterend.world.features.terrain.caves.CaveChunkPopulatorFeature;
import java.util.Random;
public class EndCaveBiome extends EndBiome {
public static abstract class Config extends EndBiome.Config {
protected Config(String name) {
super(name);
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
BCLFeature feature = BCLFeature.makeChunkFeature(
BetterEnd.makeID(ID.getPath() + "_cave_populator"),
GenerationStep.Decoration.RAW_GENERATION,
new CaveChunkPopulatorFeature(() -> (EndCaveBiome) BiomeAPI.getBiome(ID))
);
builder.category(BiomeCategory.NONE)
.feature(feature)
.music(EndSounds.MUSIC_CAVES)
.loop(EndSounds.AMBIENT_CAVES);
}
@Override
protected boolean hasCaves() {
return false;
}
@Override
public BiFunction<ResourceLocation, Biome, EndBiome> getSupplier() {
return EndCaveBiome::new;
}
}
private WeightedList<Feature<?>> floorFeatures = new WeightedList<Feature<?>>();
private WeightedList<Feature<?>> ceilFeatures = new WeightedList<Feature<?>>();
public EndCaveBiome(BCLBiomeDef definition) {
super(makeDef(definition));
}
private static BCLBiomeDef makeDef(BCLBiomeDef definition) {
BCLFeature feature = BCLFeature.makeChunkFeature(
BetterEnd.makeID(definition.getID().getPath() + "_cave_populator"),
new CaveChunkPopulatorFeature(() -> (EndCaveBiome) BiomeAPI.getBiome(definition.getID()))
);
definition.setCategory(BiomeCategory.NONE).addFeature(feature);
definition.setMusic(EndSounds.MUSIC_CAVES);
definition.setLoop(EndSounds.AMBIENT_CAVES);
return definition;
public EndCaveBiome(ResourceLocation biomeID, Biome biome) {
super(biomeID, biome);
}
public void addFloorFeature(Feature<?> feature, float weight) {
@ -65,4 +88,8 @@ public class EndCaveBiome extends EndBiome {
public BlockState getWall(BlockPos pos) {
return null;
}
public static EndCaveBiome create(EndBiome.Config biomeConfig){
return (EndCaveBiome) EndBiome.create(biomeConfig);
}
}

View file

@ -1,22 +1,25 @@
package ru.betterend.world.biome.cave;
import java.util.function.BiFunction;
import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
import net.minecraft.world.level.block.state.BlockState;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.noise.OpenSimplexNoise;
import ru.betterend.registry.EndBlocks;
import ru.betterend.world.biome.EndBiome;
public class JadeCaveBiome extends EndCaveBiome {
public class JadeCaveBiome extends EndCaveBiome.Config {
public static class Biome extends EndCaveBiome {
private static final OpenSimplexNoise WALL_NOISE = new OpenSimplexNoise("jade_cave".hashCode());
private static final OpenSimplexNoise DEPTH_NOISE = new OpenSimplexNoise("depth_noise".hashCode());
private static final BlockState[] JADE = new BlockState[3];
public JadeCaveBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("jade_cave")).setFogColor(118, 150, 112)
.setFogDensity(2.0F)
.setWaterAndFogColor(95, 223, 255));
public Biome(ResourceLocation biomeID, net.minecraft.world.level.biome.Biome biome) {
super(biomeID, biome);
JADE[0] = EndBlocks.VIRID_JADESTONE.stone.defaultBlockState();
JADE[1] = EndBlocks.AZURE_JADESTONE.stone.defaultBlockState();
JADE[2] = EndBlocks.SANDY_JADESTONE.stone.defaultBlockState();
@ -30,3 +33,21 @@ public class JadeCaveBiome extends EndCaveBiome {
return JADE[index];
}
}
public JadeCaveBiome() {
super("jade_cave");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
super.addCustomBuildData(builder);
builder.fogColor(118, 150, 112)
.fogDensity(2.0F)
.waterAndFogColor(95, 223, 255);
}
@Override
public BiFunction<ResourceLocation, net.minecraft.world.level.biome.Biome, EndBiome> getSupplier() {
return JadeCaveBiome.Biome::new;
}
}

View file

@ -1,22 +1,21 @@
package ru.betterend.world.biome.cave;
import java.util.function.BiFunction;
import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.state.BlockState;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.bclib.blocks.BlockProperties;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.world.biome.EndBiome;
public class LushAuroraCaveBiome extends EndCaveBiome {
public LushAuroraCaveBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("lush_aurora_cave")).setFogColor(150, 30, 68)
.setFogDensity(2.0F)
.setPlantsColor(108, 25, 46)
.setWaterAndFogColor(186, 77, 237)
.setParticles(EndParticles.GLOWING_SPHERE, 0.001F)
.setSurface(EndBlocks.CAVE_MOSS));
public class LushAuroraCaveBiome extends EndCaveBiome.Config {
public static class Biome extends EndCaveBiome {
public Biome(ResourceLocation biomeID, net.minecraft.world.level.biome.Biome biome) {
super(biomeID, biome);
this.addFloorFeature(EndFeatures.BIG_AURORA_CRYSTAL, 1);
this.addFloorFeature(EndFeatures.CAVE_BUSH, 5);
@ -46,3 +45,24 @@ public class LushAuroraCaveBiome extends EndCaveBiome {
.setValue(BlockProperties.TRIPLE_SHAPE, BlockProperties.TripleShape.TOP);
}
}
public LushAuroraCaveBiome() {
super("lush_aurora_cave");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
super.addCustomBuildData(builder);
builder.fogColor(150, 30, 68)
.fogDensity(2.0F)
.plantsColor(108, 25, 46)
.waterAndFogColor(186, 77, 237)
.particles(EndParticles.GLOWING_SPHERE, 0.001F)
.surface(EndBlocks.CAVE_MOSS);
}
@Override
public BiFunction<ResourceLocation, net.minecraft.world.level.biome.Biome, EndBiome> getSupplier() {
return LushAuroraCaveBiome.Biome::new;
}
}

View file

@ -1,19 +1,18 @@
package ru.betterend.world.biome.cave;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import java.util.function.BiFunction;
import net.minecraft.resources.ResourceLocation;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.world.biome.EndBiome;
public class LushSmaragdantCaveBiome extends EndCaveBiome {
public LushSmaragdantCaveBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("lush_smaragdant_cave")).setFogColor(0, 253, 182)
.setFogDensity(2.0F)
.setPlantsColor(0, 131, 145)
.setWaterAndFogColor(31, 167, 212)
.setParticles(EndParticles.SMARAGDANT, 0.001F)
.setSurface(EndBlocks.CAVE_MOSS));
public class LushSmaragdantCaveBiome extends EndCaveBiome.Config {
public static class Biome extends EndCaveBiome {
public Biome(ResourceLocation biomeID, net.minecraft.world.level.biome.Biome biome) {
super(biomeID, biome);
this.addFloorFeature(EndFeatures.SMARAGDANT_CRYSTAL, 1);
this.addFloorFeature(EndFeatures.SMARAGDANT_CRYSTAL_SHARD, 20);
@ -31,3 +30,24 @@ public class LushSmaragdantCaveBiome extends EndCaveBiome {
return 0.1F;
}
}
public LushSmaragdantCaveBiome() {
super("lush_smaragdant_cave");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
super.addCustomBuildData(builder);
builder.fogColor(0, 253, 182)
.fogDensity(2.0F)
.plantsColor(0, 131, 145)
.waterAndFogColor(31, 167, 212)
.particles(EndParticles.SMARAGDANT, 0.001F)
.surface(EndBlocks.CAVE_MOSS);
}
@Override
public BiFunction<ResourceLocation, net.minecraft.world.level.biome.Biome, EndBiome> getSupplier() {
return LushSmaragdantCaveBiome.Biome::new;
}
}

View file

@ -1,9 +1,7 @@
package ru.betterend.world.biome.land;
import net.minecraft.data.worldgen.StructureFeatures;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndEntities;
import ru.betterend.registry.EndFeatures;
@ -11,30 +9,34 @@ import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
public class AmberLandBiome extends EndBiome {
public class AmberLandBiome extends EndBiome.Config {
public AmberLandBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("amber_land"))
.setFogColor(255, 184, 71)
.setFogDensity(2.0F)
.setPlantsColor(219, 115, 38)
.setWaterAndFogColor(145, 108, 72)
.setMusic(EndSounds.MUSIC_FOREST)
.setLoop(EndSounds.AMBIENT_AMBER_LAND)
.setParticles(EndParticles.AMBER_SPHERE, 0.001F)
.setSurface(EndBlocks.AMBER_MOSS)
.addFeature(EndFeatures.AMBER_ORE)
.addFeature(EndFeatures.END_LAKE_RARE)
.addFeature(EndFeatures.HELIX_TREE)
.addFeature(EndFeatures.LANCELEAF)
.addFeature(EndFeatures.GLOW_PILLAR)
.addFeature(EndFeatures.AMBER_GRASS)
.addFeature(EndFeatures.AMBER_ROOT)
.addFeature(EndFeatures.BULB_MOSS)
.addFeature(EndFeatures.BULB_MOSS_WOOD)
.addFeature(EndFeatures.CHARNIA_ORANGE)
.addFeature(EndFeatures.CHARNIA_RED)
.addStructureFeature(StructureFeatures.END_CITY)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 4)
.addMobSpawn(EndEntities.END_SLIME, 30, 1, 2));
super("amber_land");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.fogColor(255, 184, 71)
.fogDensity(2.0F)
.plantsColor(219, 115, 38)
.waterAndFogColor(145, 108, 72)
.music(EndSounds.MUSIC_FOREST)
.loop(EndSounds.AMBIENT_AMBER_LAND)
.particles(EndParticles.AMBER_SPHERE, 0.001F)
.surface(EndBlocks.AMBER_MOSS)
.feature(EndFeatures.AMBER_ORE)
.feature(EndFeatures.END_LAKE_RARE)
.feature(EndFeatures.HELIX_TREE)
.feature(EndFeatures.LANCELEAF)
.feature(EndFeatures.GLOW_PILLAR)
.feature(EndFeatures.AMBER_GRASS)
.feature(EndFeatures.AMBER_ROOT)
.feature(EndFeatures.BULB_MOSS)
.feature(EndFeatures.BULB_MOSS_WOOD)
.feature(EndFeatures.CHARNIA_ORANGE)
.feature(EndFeatures.CHARNIA_RED)
.structure(VANILLA_FEATURES.getEND_CITY())
.spawn(EntityType.ENDERMAN, 50, 1, 4)
.spawn(EndEntities.END_SLIME, 30, 1, 2);
}
}

View file

@ -1,36 +1,43 @@
package ru.betterend.world.biome.land;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndEntities;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
public class BlossomingSpiresBiome extends EndBiome {
public class BlossomingSpiresBiome extends EndBiome.Config {
public BlossomingSpiresBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("blossoming_spires"))
.addCustomData("has_caves", false)
.setFogColor(241, 146, 229)
.setFogDensity(1.7F)
.setPlantsColor(122, 45, 122)
.setSurface(EndBlocks.PINK_MOSS)
.setMusic(EndSounds.MUSIC_FOREST)
.setLoop(EndSounds.AMBIENT_BLOSSOMING_SPIRES)
.addFeature(EndFeatures.SPIRE)
.addFeature(EndFeatures.FLOATING_SPIRE)
.addFeature(EndFeatures.TENANEA)
.addFeature(EndFeatures.TENANEA_BUSH)
.addFeature(EndFeatures.BULB_VINE)
.addFeature(EndFeatures.BUSHY_GRASS)
.addFeature(EndFeatures.BUSHY_GRASS_WG)
.addFeature(EndFeatures.BLOSSOM_BERRY)
.addFeature(EndFeatures.TWISTED_MOSS)
.addFeature(EndFeatures.TWISTED_MOSS_WOOD)
.addFeature(EndFeatures.SILK_MOTH_NEST)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 4)
.addMobSpawn(EndEntities.SILK_MOTH, 5, 1, 2));
super("blossoming_spires");
}
@Override
protected boolean hasCaves() {
return false;
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.fogColor(241, 146, 229)
.fogDensity(1.7F)
.plantsColor(122, 45, 122)
.surface(EndBlocks.PINK_MOSS)
.music(EndSounds.MUSIC_FOREST)
.loop(EndSounds.AMBIENT_BLOSSOMING_SPIRES)
.feature(EndFeatures.SPIRE)
.feature(EndFeatures.FLOATING_SPIRE)
.feature(EndFeatures.TENANEA)
.feature(EndFeatures.TENANEA_BUSH)
.feature(EndFeatures.BULB_VINE)
.feature(EndFeatures.BUSHY_GRASS)
.feature(EndFeatures.BUSHY_GRASS_WG)
.feature(EndFeatures.BLOSSOM_BERRY)
.feature(EndFeatures.TWISTED_MOSS)
.feature(EndFeatures.TWISTED_MOSS_WOOD)
.feature(EndFeatures.SILK_MOTH_NEST)
.spawn(EntityType.ENDERMAN, 50, 1, 4)
.spawn(EndEntities.SILK_MOTH, 5, 1, 2);
}
}

View file

@ -1,44 +1,47 @@
package ru.betterend.world.biome.land;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.data.worldgen.Features;
import net.minecraft.data.worldgen.StructureFeatures;
import net.minecraft.data.worldgen.placement.EndPlacements;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.levelgen.GenerationStep.Decoration;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndEntities;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
public class ChorusForestBiome extends EndBiome {
public class ChorusForestBiome extends EndBiome.Config {
public ChorusForestBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("chorus_forest"))
.setFogColor(87, 26, 87)
.setFogDensity(1.5F)
.setPlantsColor(122, 45, 122)
.setWaterAndFogColor(73, 30, 73)
.setSurface(EndBlocks.CHORUS_NYLIUM)
.setParticles(ParticleTypes.PORTAL, 0.01F)
.setLoop(EndSounds.AMBIENT_CHORUS_FOREST)
.setMusic(EndSounds.MUSIC_DARK)
.addFeature(EndFeatures.VIOLECITE_LAYER)
.addFeature(EndFeatures.END_LAKE_RARE)
.addFeature(EndFeatures.PYTHADENDRON_TREE)
.addFeature(EndFeatures.PYTHADENDRON_BUSH)
.addFeature(EndFeatures.PURPLE_POLYPORE)
.addFeature(Decoration.VEGETAL_DECORATION, Features.CHORUS_PLANT)
.addFeature(Decoration.VEGETAL_DECORATION, Features.CHORUS_PLANT)
.addFeature(EndFeatures.CHORUS_GRASS)
.addFeature(EndFeatures.CHORUS_MUSHROOM)
.addFeature(EndFeatures.TAIL_MOSS)
.addFeature(EndFeatures.TAIL_MOSS_WOOD)
.addFeature(EndFeatures.CHARNIA_PURPLE)
.addFeature(EndFeatures.CHARNIA_RED_RARE)
.addStructureFeature(StructureFeatures.END_CITY)
.addMobSpawn(EndEntities.END_SLIME, 5, 1, 2)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 4));
super("chorus_forest");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.fogColor(87, 26, 87)
.fogDensity(1.5F)
.plantsColor(122, 45, 122)
.waterAndFogColor(73, 30, 73)
.surface(EndBlocks.CHORUS_NYLIUM)
.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)
//TODO: 1.18 why was this added twice?
//.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);
}
}

View file

@ -1,23 +1,26 @@
package ru.betterend.world.biome.land;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndSounds;
import ru.betterend.registry.EndStructures;
import ru.betterend.world.biome.EndBiome;
public class CrystalMountainsBiome extends EndBiome {
public class CrystalMountainsBiome extends EndBiome.Config {
public CrystalMountainsBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("crystal_mountains"))
.addStructureFeature(EndStructures.MOUNTAIN.getFeatureConfigured())
.setPlantsColor(255, 133, 211)
.setSurface(EndBlocks.CRYSTAL_MOSS)
.setMusic(EndSounds.MUSIC_OPENSPACE)
.addFeature(EndFeatures.ROUND_CAVE)
.addFeature(EndFeatures.CRYSTAL_GRASS)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 2));
super("crystal_mountains");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.structure(EndStructures.MOUNTAIN.getFeatureConfigured())
.plantsColor(255, 133, 211)
.surface(EndBlocks.CRYSTAL_MOSS)
.music(EndSounds.MUSIC_OPENSPACE)
.feature(EndFeatures.ROUND_CAVE)
.feature(EndFeatures.CRYSTAL_GRASS)
.spawn(EntityType.ENDERMAN, 50, 1, 2);
}
}

View file

@ -1,35 +1,38 @@
package ru.betterend.world.biome.land;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
public class DragonGraveyardsBiome extends EndBiome {
public class DragonGraveyardsBiome extends EndBiome.Config {
public DragonGraveyardsBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("dragon_graveyards"))
.setGenChance(0.1F)
.setFogColor(244, 46, 79)
.setFogDensity(1.3F)
.setParticles(EndParticles.FIREFLY, 0.0007F)
.setMusic(EndSounds.MUSIC_OPENSPACE)
.setLoop(EndSounds.AMBIENT_GLOWING_GRASSLANDS)
.setSurface(EndBlocks.SANGNUM)
.setWaterAndFogColor(203, 59, 167)
.setPlantsColor(244, 46, 79)
.addFeature(EndFeatures.OBSIDIAN_PILLAR_BASEMENT)
.addFeature(EndFeatures.DRAGON_BONE_BLOCK_ORE)
.addFeature(EndFeatures.FALLEN_PILLAR)
.addFeature(EndFeatures.OBSIDIAN_BOULDER)
.addFeature(EndFeatures.GIGANTIC_AMARANITA)
.addFeature(EndFeatures.LARGE_AMARANITA)
.addFeature(EndFeatures.SMALL_AMARANITA)
.addFeature(EndFeatures.GLOBULAGUS)
.addFeature(EndFeatures.CLAWFERN)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 2));
super("dragon_graveyards");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.genChance(0.1f)
.fogColor(244, 46, 79)
.fogDensity(1.3F)
.particles(EndParticles.FIREFLY, 0.0007F)
.music(EndSounds.MUSIC_OPENSPACE)
.loop(EndSounds.AMBIENT_GLOWING_GRASSLANDS)
.surface(EndBlocks.SANGNUM)
.waterAndFogColor(203, 59, 167)
.plantsColor(244, 46, 79)
.feature(EndFeatures.OBSIDIAN_PILLAR_BASEMENT)
.feature(EndFeatures.DRAGON_BONE_BLOCK_ORE)
.feature(EndFeatures.FALLEN_PILLAR)
.feature(EndFeatures.OBSIDIAN_BOULDER)
.feature(EndFeatures.GIGANTIC_AMARANITA)
.feature(EndFeatures.LARGE_AMARANITA)
.feature(EndFeatures.SMALL_AMARANITA)
.feature(EndFeatures.GLOBULAGUS)
.feature(EndFeatures.CLAWFERN)
.spawn(EntityType.ENDERMAN, 50, 1, 2);
}
}

View file

@ -1,29 +1,31 @@
package ru.betterend.world.biome.land;
import net.minecraft.data.worldgen.StructureFeatures;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
public class DryShrublandBiome extends EndBiome {
public class DryShrublandBiome extends EndBiome.Config {
public DryShrublandBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("dry_shrubland"))
.setFogColor(132, 35, 13)
.setFogDensity(1.2F)
.setWaterAndFogColor(113, 88, 53)
.setPlantsColor(237, 122, 66)
.setSurface(EndBlocks.RUTISCUS)
.setMusic(EndSounds.MUSIC_OPENSPACE)
.addFeature(EndFeatures.LUCERNIA_BUSH_RARE)
.addFeature(EndFeatures.ORANGO)
.addFeature(EndFeatures.AERIDIUM)
.addFeature(EndFeatures.LUTEBUS)
.addFeature(EndFeatures.LAMELLARIUM)
.addStructureFeature(StructureFeatures.END_CITY)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 2));
super("dry_shrubland");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.fogColor(132, 35, 13)
.fogDensity(1.2F)
.waterAndFogColor(113, 88, 53)
.plantsColor(237, 122, 66)
.surface(EndBlocks.RUTISCUS)
.music(EndSounds.MUSIC_OPENSPACE)
.feature(EndFeatures.LUCERNIA_BUSH_RARE)
.feature(EndFeatures.ORANGO)
.feature(EndFeatures.AERIDIUM)
.feature(EndFeatures.LUTEBUS)
.feature(EndFeatures.LAMELLARIUM)
.structure(VANILLA_FEATURES.getEND_CITY())
.spawn(EntityType.ENDERMAN, 50, 1, 2);
}
}

View file

@ -1,26 +1,29 @@
package ru.betterend.world.biome.land;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.data.worldgen.StructureFeatures;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
public class DustWastelandsBiome extends EndBiome {
public class DustWastelandsBiome extends EndBiome.Config {
public DustWastelandsBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("dust_wastelands"))
.setFogColor(226, 239, 168)
.setFogDensity(2)
.setWaterAndFogColor(192, 180, 131)
.setSurface(EndBlocks.ENDSTONE_DUST)
.setDepth(1.5F)
.setParticles(ParticleTypes.WHITE_ASH, 0.01F)
.setLoop(EndSounds.AMBIENT_DUST_WASTELANDS)
.setMusic(EndSounds.MUSIC_OPENSPACE)
.addStructureFeature(StructureFeatures.END_CITY)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 2));
super("dust_wastelands");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.fogColor(226, 239, 168)
.fogDensity(2)
.waterAndFogColor(192, 180, 131)
.surface(EndBlocks.ENDSTONE_DUST)
//TODO: 1.18 removed
//.depth(1.5F)
.particles(ParticleTypes.WHITE_ASH, 0.01F)
.loop(EndSounds.AMBIENT_DUST_WASTELANDS)
.music(EndSounds.MUSIC_OPENSPACE)
.structure(VANILLA_FEATURES.getEND_CITY())
.spawn(EntityType.ENDERMAN, 50, 1, 2);
}
}

View file

@ -1,10 +1,7 @@
package ru.betterend.world.biome.land;
import net.minecraft.data.worldgen.StructureFeatures;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.betterend.registry.EndBlocks;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndEntities;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
@ -12,38 +9,42 @@ import ru.betterend.registry.EndSounds;
import ru.betterend.registry.EndStructures;
import ru.betterend.world.biome.EndBiome;
public class FoggyMushroomlandBiome extends EndBiome {
public class FoggyMushroomlandBiome extends EndBiome.Config {
public FoggyMushroomlandBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("foggy_mushroomland"))
.addStructureFeature(EndStructures.GIANT_MOSSY_GLOWSHROOM
.getFeatureConfigured())
.setPlantsColor(73, 210, 209)
.setFogColor(41, 122, 173)
.setFogDensity(3)
.setWaterAndFogColor(119, 227, 250)
.setSurface(EndBlocks.END_MOSS, EndBlocks.END_MYCELIUM)
.setParticles(EndParticles.GLOWING_SPHERE, 0.001F)
.setLoop(EndSounds.AMBIENT_FOGGY_MUSHROOMLAND)
.setMusic(EndSounds.MUSIC_FOREST)
.addFeature(EndFeatures.END_LAKE)
.addFeature(EndFeatures.MOSSY_GLOWSHROOM)
.addFeature(EndFeatures.BLUE_VINE)
.addFeature(EndFeatures.UMBRELLA_MOSS)
.addFeature(EndFeatures.CREEPING_MOSS)
.addFeature(EndFeatures.DENSE_VINE)
//.addFeature(EndFeatures.PEARLBERRY)
.addFeature(EndFeatures.CYAN_MOSS)
.addFeature(EndFeatures.CYAN_MOSS_WOOD)
.addFeature(EndFeatures.END_LILY)
.addFeature(EndFeatures.BUBBLE_CORAL)
.addFeature(EndFeatures.CHARNIA_CYAN)
.addFeature(EndFeatures.CHARNIA_LIGHT_BLUE)
.addFeature(EndFeatures.CHARNIA_RED_RARE)
.addStructureFeature(StructureFeatures.END_CITY)
.addMobSpawn(EndEntities.DRAGONFLY, 80, 2, 5)
.addMobSpawn(EndEntities.END_FISH, 20, 2, 5)
.addMobSpawn(EndEntities.CUBOZOA, 10, 3, 8)
.addMobSpawn(EndEntities.END_SLIME, 10, 1, 2)
.addMobSpawn(EntityType.ENDERMAN, 10, 1, 2));
super("foggy_mushroomland");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.structure(EndStructures.GIANT_MOSSY_GLOWSHROOM.getFeatureConfigured())
.plantsColor(73, 210, 209)
.fogColor(41, 122, 173)
.fogDensity(3)
.waterAndFogColor(119, 227, 250)
//TODO: 1.18 surface Rules
//.surface(EndBlocks.END_MOSS, EndBlocks.END_MYCELIUM)
.particles(EndParticles.GLOWING_SPHERE, 0.001F)
.loop(EndSounds.AMBIENT_FOGGY_MUSHROOMLAND)
.music(EndSounds.MUSIC_FOREST)
.feature(EndFeatures.END_LAKE)
.feature(EndFeatures.MOSSY_GLOWSHROOM)
.feature(EndFeatures.BLUE_VINE)
.feature(EndFeatures.UMBRELLA_MOSS)
.feature(EndFeatures.CREEPING_MOSS)
.feature(EndFeatures.DENSE_VINE)
//.feature(EndFeatures.PEARLBERRY)
.feature(EndFeatures.CYAN_MOSS)
.feature(EndFeatures.CYAN_MOSS_WOOD)
.feature(EndFeatures.END_LILY)
.feature(EndFeatures.BUBBLE_CORAL)
.feature(EndFeatures.CHARNIA_CYAN)
.feature(EndFeatures.CHARNIA_LIGHT_BLUE)
.feature(EndFeatures.CHARNIA_RED_RARE)
.structure(VANILLA_FEATURES.getEND_CITY())
.spawn(EndEntities.DRAGONFLY, 80, 2, 5)
.spawn(EndEntities.END_FISH, 20, 2, 5)
.spawn(EndEntities.CUBOZOA, 10, 3, 8)
.spawn(EndEntities.END_SLIME, 10, 1, 2)
.spawn(EntityType.ENDERMAN, 10, 1, 2);
}
}

View file

@ -1,40 +1,42 @@
package ru.betterend.world.biome.land;
import net.minecraft.data.worldgen.StructureFeatures;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
public class GlowingGrasslandsBiome extends EndBiome {
public class GlowingGrasslandsBiome extends EndBiome.Config {
public GlowingGrasslandsBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("glowing_grasslands"))
.setFogColor(99, 228, 247)
.setFogDensity(1.3F)
.setParticles(EndParticles.FIREFLY, 0.001F)
.setMusic(EndSounds.MUSIC_OPENSPACE)
.setLoop(EndSounds.AMBIENT_GLOWING_GRASSLANDS)
.setSurface(EndBlocks.END_MOSS)
.setWaterAndFogColor(92, 250, 230)
.setPlantsColor(73, 210, 209)
.addFeature(EndFeatures.END_LAKE_RARE)
.addFeature(EndFeatures.LUMECORN)
.addFeature(EndFeatures.BLOOMING_COOKSONIA)
.addFeature(EndFeatures.SALTEAGO)
.addFeature(EndFeatures.VAIOLUSH_FERN)
.addFeature(EndFeatures.FRACTURN)
.addFeature(EndFeatures.UMBRELLA_MOSS_RARE)
.addFeature(EndFeatures.CREEPING_MOSS_RARE)
.addFeature(EndFeatures.TWISTED_UMBRELLA_MOSS_RARE)
.addFeature(EndFeatures.CHARNIA_CYAN)
.addFeature(EndFeatures.CHARNIA_GREEN)
.addFeature(EndFeatures.CHARNIA_LIGHT_BLUE)
.addFeature(EndFeatures.CHARNIA_RED_RARE)
.addStructureFeature(StructureFeatures.END_CITY)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 2));
super("glowing_grasslands");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.fogColor(99, 228, 247)
.fogDensity(1.3F)
.particles(EndParticles.FIREFLY, 0.001F)
.music(EndSounds.MUSIC_OPENSPACE)
.loop(EndSounds.AMBIENT_GLOWING_GRASSLANDS)
.surface(EndBlocks.END_MOSS)
.waterAndFogColor(92, 250, 230)
.plantsColor(73, 210, 209)
.feature(EndFeatures.END_LAKE_RARE)
.feature(EndFeatures.LUMECORN)
.feature(EndFeatures.BLOOMING_COOKSONIA)
.feature(EndFeatures.SALTEAGO)
.feature(EndFeatures.VAIOLUSH_FERN)
.feature(EndFeatures.FRACTURN)
.feature(EndFeatures.UMBRELLA_MOSS_RARE)
.feature(EndFeatures.CREEPING_MOSS_RARE)
.feature(EndFeatures.TWISTED_UMBRELLA_MOSS_RARE)
.feature(EndFeatures.CHARNIA_CYAN)
.feature(EndFeatures.CHARNIA_GREEN)
.feature(EndFeatures.CHARNIA_LIGHT_BLUE)
.feature(EndFeatures.CHARNIA_RED_RARE)
.structure(VANILLA_FEATURES.getEND_CITY())
.spawn(EntityType.ENDERMAN, 50, 1, 2);
}
}

View file

@ -1,40 +1,42 @@
package ru.betterend.world.biome.land;
import net.minecraft.data.worldgen.StructureFeatures;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
public class LanternWoodsBiome extends EndBiome {
public class LanternWoodsBiome extends EndBiome.Config {
public LanternWoodsBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("lantern_woods"))
.setFogColor(189, 82, 70)
.setFogDensity(1.1F)
.setWaterAndFogColor(171, 234, 226)
.setPlantsColor(254, 85, 57)
.setSurface(EndBlocks.RUTISCUS)
.setMusic(EndSounds.MUSIC_FOREST)
.setParticles(EndParticles.GLOWING_SPHERE, 0.001F)
.addFeature(EndFeatures.END_LAKE_NORMAL)
.addFeature(EndFeatures.FLAMAEA)
.addFeature(EndFeatures.LUCERNIA)
.addFeature(EndFeatures.LUCERNIA_BUSH)
.addFeature(EndFeatures.FILALUX)
.addFeature(EndFeatures.AERIDIUM)
.addFeature(EndFeatures.LAMELLARIUM)
.addFeature(EndFeatures.BOLUX_MUSHROOM)
.addFeature(EndFeatures.AURANT_POLYPORE)
.addFeature(EndFeatures.POND_ANEMONE)
.addFeature(EndFeatures.CHARNIA_ORANGE)
.addFeature(EndFeatures.CHARNIA_RED)
.addFeature(EndFeatures.RUSCUS)
.addFeature(EndFeatures.RUSCUS_WOOD)
.addStructureFeature(StructureFeatures.END_CITY)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 2));
super("lantern_woods");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.fogColor(189, 82, 70)
.fogDensity(1.1F)
.waterAndFogColor(171, 234, 226)
.plantsColor(254, 85, 57)
.surface(EndBlocks.RUTISCUS)
.music(EndSounds.MUSIC_FOREST)
.particles(EndParticles.GLOWING_SPHERE, 0.001F)
.feature(EndFeatures.END_LAKE_NORMAL)
.feature(EndFeatures.FLAMAEA)
.feature(EndFeatures.LUCERNIA)
.feature(EndFeatures.LUCERNIA_BUSH)
.feature(EndFeatures.FILALUX)
.feature(EndFeatures.AERIDIUM)
.feature(EndFeatures.LAMELLARIUM)
.feature(EndFeatures.BOLUX_MUSHROOM)
.feature(EndFeatures.AURANT_POLYPORE)
.feature(EndFeatures.POND_ANEMONE)
.feature(EndFeatures.CHARNIA_ORANGE)
.feature(EndFeatures.CHARNIA_RED)
.feature(EndFeatures.RUSCUS)
.feature(EndFeatures.RUSCUS_WOOD)
.structure(VANILLA_FEATURES.getEND_CITY())
.spawn(EntityType.ENDERMAN, 50, 1, 2);
}
}

View file

@ -1,42 +1,46 @@
package ru.betterend.world.biome.land;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.betterend.registry.EndBlocks;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndEntities;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndSounds;
import ru.betterend.registry.EndStructures;
import ru.betterend.world.biome.EndBiome;
public class MegalakeBiome extends EndBiome {
public class MegalakeBiome extends EndBiome.Config {
public MegalakeBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("megalake"))
.addStructureFeature(EndStructures.MEGALAKE.getFeatureConfigured())
.setPlantsColor(73, 210, 209)
.setFogColor(178, 209, 248)
.setWaterAndFogColor(96, 163, 255)
.setFogDensity(1.75F)
.setMusic(EndSounds.MUSIC_WATER)
.setLoop(EndSounds.AMBIENT_MEGALAKE)
.setSurface(EndBlocks.END_MOSS, EndBlocks.ENDSTONE_DUST)
.setDepth(0F)
.addFeature(EndFeatures.END_LOTUS)
.addFeature(EndFeatures.END_LOTUS_LEAF)
.addFeature(EndFeatures.BUBBLE_CORAL_RARE)
.addFeature(EndFeatures.END_LILY_RARE)
.addFeature(EndFeatures.UMBRELLA_MOSS)
.addFeature(EndFeatures.CREEPING_MOSS)
//.addFeature(EndFeatures.PEARLBERRY)
.addFeature(EndFeatures.CHARNIA_CYAN)
.addFeature(EndFeatures.CHARNIA_LIGHT_BLUE)
.addFeature(EndFeatures.CHARNIA_RED_RARE)
.addFeature(EndFeatures.MENGER_SPONGE)
.addMobSpawn(EndEntities.DRAGONFLY, 50, 1, 3)
.addMobSpawn(EndEntities.END_FISH, 50, 3, 8)
.addMobSpawn(EndEntities.CUBOZOA, 50, 3, 8)
.addMobSpawn(EndEntities.END_SLIME, 5, 1, 2)
.addMobSpawn(EntityType.ENDERMAN, 10, 1, 2));
super("megalake");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.structure(EndStructures.MEGALAKE.getFeatureConfigured())
.plantsColor(73, 210, 209)
.fogColor(178, 209, 248)
.waterAndFogColor(96, 163, 255)
.fogDensity(1.75F)
.music(EndSounds.MUSIC_WATER)
.loop(EndSounds.AMBIENT_MEGALAKE)
//TODO: 1.18 surface Rules
//.surface(EndBlocks.END_MOSS, EndBlocks.ENDSTONE_DUST)
//TODO: 1.18 removed
//.depth(0F)
.feature(EndFeatures.END_LOTUS)
.feature(EndFeatures.END_LOTUS_LEAF)
.feature(EndFeatures.BUBBLE_CORAL_RARE)
.feature(EndFeatures.END_LILY_RARE)
.feature(EndFeatures.UMBRELLA_MOSS)
.feature(EndFeatures.CREEPING_MOSS)
//.feature(EndFeatures.PEARLBERRY)
.feature(EndFeatures.CHARNIA_CYAN)
.feature(EndFeatures.CHARNIA_LIGHT_BLUE)
.feature(EndFeatures.CHARNIA_RED_RARE)
.feature(EndFeatures.MENGER_SPONGE)
.spawn(EndEntities.DRAGONFLY, 50, 1, 3)
.spawn(EndEntities.END_FISH, 50, 3, 8)
.spawn(EndEntities.CUBOZOA, 50, 3, 8)
.spawn(EndEntities.END_SLIME, 5, 1, 2)
.spawn(EntityType.ENDERMAN, 10, 1, 2);
}
}

View file

@ -1,8 +1,7 @@
package ru.betterend.world.biome.land;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndEntities;
import ru.betterend.registry.EndFeatures;
@ -11,35 +10,40 @@ import ru.betterend.registry.EndSounds;
import ru.betterend.registry.EndStructures;
import ru.betterend.world.biome.EndBiome;
public class MegalakeGroveBiome extends EndBiome {
public class MegalakeGroveBiome extends EndBiome.Config {
public MegalakeGroveBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("megalake_grove"))
.addStructureFeature(EndStructures.MEGALAKE_SMALL.getFeatureConfigured())
.setPlantsColor(73, 210, 209)
.setFogColor(178, 209, 248)
.setWaterAndFogColor(96, 163, 255)
.setFogDensity(2.0F)
.setParticles(EndParticles.GLOWING_SPHERE, 0.001F)
.setMusic(EndSounds.MUSIC_WATER)
.setLoop(EndSounds.AMBIENT_MEGALAKE_GROVE)
.setSurface(EndBlocks.END_MOSS)
.setDepth(0F)
.addFeature(EndFeatures.LACUGROVE)
.addFeature(EndFeatures.END_LOTUS)
.addFeature(EndFeatures.END_LOTUS_LEAF)
.addFeature(EndFeatures.BUBBLE_CORAL_RARE)
.addFeature(EndFeatures.END_LILY_RARE)
.addFeature(EndFeatures.UMBRELLA_MOSS)
//.addFeature(EndFeatures.PEARLBERRY)
.addFeature(EndFeatures.CREEPING_MOSS)
.addFeature(EndFeatures.CHARNIA_CYAN)
.addFeature(EndFeatures.CHARNIA_LIGHT_BLUE)
.addFeature(EndFeatures.CHARNIA_RED_RARE)
.addFeature(EndFeatures.MENGER_SPONGE)
.addMobSpawn(EndEntities.DRAGONFLY, 20, 1, 3)
.addMobSpawn(EndEntities.END_FISH, 20, 3, 8)
.addMobSpawn(EndEntities.CUBOZOA, 50, 3, 8)
.addMobSpawn(EndEntities.END_SLIME, 5, 1, 2)
.addMobSpawn(EntityType.ENDERMAN, 10, 1, 2));
super("megalake_grove");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.structure(EndStructures.MEGALAKE_SMALL.getFeatureConfigured())
.plantsColor(73, 210, 209)
.fogColor(178, 209, 248)
.waterAndFogColor(96, 163, 255)
.fogDensity(2.0F)
.particles(EndParticles.GLOWING_SPHERE, 0.001F)
.music(EndSounds.MUSIC_WATER)
.loop(EndSounds.AMBIENT_MEGALAKE_GROVE)
.surface(EndBlocks.END_MOSS)
//TODO: 1.18 removed
//.depth(0F)
.feature(EndFeatures.LACUGROVE)
.feature(EndFeatures.END_LOTUS)
.feature(EndFeatures.END_LOTUS_LEAF)
.feature(EndFeatures.BUBBLE_CORAL_RARE)
.feature(EndFeatures.END_LILY_RARE)
.feature(EndFeatures.UMBRELLA_MOSS)
//.feature(EndFeatures.PEARLBERRY)
.feature(EndFeatures.CREEPING_MOSS)
.feature(EndFeatures.CHARNIA_CYAN)
.feature(EndFeatures.CHARNIA_LIGHT_BLUE)
.feature(EndFeatures.CHARNIA_RED_RARE)
.feature(EndFeatures.MENGER_SPONGE)
.spawn(EndEntities.DRAGONFLY, 20, 1, 3)
.spawn(EndEntities.END_FISH, 20, 3, 8)
.spawn(EndEntities.CUBOZOA, 50, 3, 8)
.spawn(EndEntities.END_SLIME, 5, 1, 2)
.spawn(EntityType.ENDERMAN, 10, 1, 2);
}
}

View file

@ -1,34 +1,36 @@
package ru.betterend.world.biome.land;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.data.worldgen.StructureFeatures;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.betterend.registry.EndBlocks;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
public class NeonOasisBiome extends EndBiome {
public class NeonOasisBiome extends EndBiome.Config {
public NeonOasisBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("neon_oasis"))
.setGenChance(0.5F)
.setFogColor(226, 239, 168)
.setFogDensity(2)
.setWaterAndFogColor(106, 238, 215)
.setSurface(EndBlocks.ENDSTONE_DUST, EndBlocks.END_MOSS)
.setParticles(ParticleTypes.WHITE_ASH, 0.01F)
.setLoop(EndSounds.AMBIENT_DUST_WASTELANDS)
.setMusic(EndSounds.MUSIC_OPENSPACE)
.addFeature(EndFeatures.DESERT_LAKE)
.addFeature(EndFeatures.NEON_CACTUS)
.addFeature(EndFeatures.UMBRELLA_MOSS)
.addFeature(EndFeatures.CREEPING_MOSS)
.addFeature(EndFeatures.CHARNIA_GREEN)
.addFeature(EndFeatures.CHARNIA_CYAN)
.addFeature(EndFeatures.CHARNIA_RED)
.addStructureFeature(StructureFeatures.END_CITY)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 2));
super("neon_oasis");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.genChance(0.5F)
.fogColor(226, 239, 168)
.fogDensity(2)
.waterAndFogColor(106, 238, 215)
//TODO: 1.18 surface Rules
//.surface(EndBlocks.ENDSTONE_DUST, EndBlocks.END_MOSS)
.particles(ParticleTypes.WHITE_ASH, 0.01F)
.loop(EndSounds.AMBIENT_DUST_WASTELANDS)
.music(EndSounds.MUSIC_OPENSPACE)
.feature(EndFeatures.DESERT_LAKE)
.feature(EndFeatures.NEON_CACTUS)
.feature(EndFeatures.UMBRELLA_MOSS)
.feature(EndFeatures.CREEPING_MOSS)
.feature(EndFeatures.CHARNIA_GREEN)
.feature(EndFeatures.CHARNIA_CYAN)
.feature(EndFeatures.CHARNIA_RED)
.structure(VANILLA_FEATURES.getEND_CITY())
.spawn(EntityType.ENDERMAN, 50, 1, 2);
}
}

View file

@ -2,24 +2,27 @@ package ru.betterend.world.biome.land;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndSounds;
import ru.betterend.registry.EndStructures;
import ru.betterend.world.biome.EndBiome;
public class PaintedMountainsBiome extends EndBiome {
public class PaintedMountainsBiome extends EndBiome.Config {
public PaintedMountainsBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("painted_mountains"))
.addStructureFeature(EndStructures.PAINTED_MOUNTAIN.getFeatureConfigured())
.setFogColor(226, 239, 168)
.setFogDensity(2)
.setWaterAndFogColor(192, 180, 131)
.setMusic(EndSounds.MUSIC_OPENSPACE)
.setLoop(EndSounds.AMBIENT_DUST_WASTELANDS)
.setSurface(EndBlocks.ENDSTONE_DUST)
.setParticles(ParticleTypes.WHITE_ASH, 0.01F)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 2));
super("painted_mountains");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.structure(EndStructures.PAINTED_MOUNTAIN.getFeatureConfigured())
.fogColor(226, 239, 168)
.fogDensity(2)
.waterAndFogColor(192, 180, 131)
.music(EndSounds.MUSIC_OPENSPACE)
.loop(EndSounds.AMBIENT_DUST_WASTELANDS)
.surface(EndBlocks.ENDSTONE_DUST)
.particles(ParticleTypes.WHITE_ASH, 0.01F)
.spawn(EntityType.ENDERMAN, 50, 1, 2);
}
}

View file

@ -1,44 +1,46 @@
package ru.betterend.world.biome.land;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.data.worldgen.StructureFeatures;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndEntities;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
public class ShadowForestBiome extends EndBiome {
public class ShadowForestBiome extends EndBiome.Config {
public ShadowForestBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("shadow_forest"))
.setFogColor(0, 0, 0)
.setFogDensity(2.5F)
.setPlantsColor(45, 45, 45)
.setWaterAndFogColor(42, 45, 80)
.setSurface(EndBlocks.SHADOW_GRASS)
.setParticles(ParticleTypes.MYCELIUM, 0.01F)
.setLoop(EndSounds.AMBIENT_CHORUS_FOREST)
.setMusic(EndSounds.MUSIC_DARK)
.addFeature(EndFeatures.VIOLECITE_LAYER)
.addFeature(EndFeatures.END_LAKE_RARE)
.addFeature(EndFeatures.DRAGON_TREE)
.addFeature(EndFeatures.DRAGON_TREE_BUSH)
.addFeature(EndFeatures.SHADOW_PLANT)
.addFeature(EndFeatures.MURKWEED)
.addFeature(EndFeatures.NEEDLEGRASS)
.addFeature(EndFeatures.SHADOW_BERRY)
.addFeature(EndFeatures.TWISTED_VINE)
.addFeature(EndFeatures.PURPLE_POLYPORE)
.addFeature(EndFeatures.TAIL_MOSS)
.addFeature(EndFeatures.TAIL_MOSS_WOOD)
.addFeature(EndFeatures.CHARNIA_PURPLE)
.addFeature(EndFeatures.CHARNIA_RED_RARE)
.addStructureFeature(StructureFeatures.END_CITY)
.addMobSpawn(EndEntities.SHADOW_WALKER, 80, 2, 4)
.addMobSpawn(EntityType.ENDERMAN, 40, 1, 4)
.addMobSpawn(EntityType.PHANTOM, 1, 1, 2));
super("shadow_forest");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.fogColor(0, 0, 0)
.fogDensity(2.5F)
.plantsColor(45, 45, 45)
.waterAndFogColor(42, 45, 80)
.surface(EndBlocks.SHADOW_GRASS)
.particles(ParticleTypes.MYCELIUM, 0.01F)
.loop(EndSounds.AMBIENT_CHORUS_FOREST)
.music(EndSounds.MUSIC_DARK)
.feature(EndFeatures.VIOLECITE_LAYER)
.feature(EndFeatures.END_LAKE_RARE)
.feature(EndFeatures.DRAGON_TREE)
.feature(EndFeatures.DRAGON_TREE_BUSH)
.feature(EndFeatures.SHADOW_PLANT)
.feature(EndFeatures.MURKWEED)
.feature(EndFeatures.NEEDLEGRASS)
.feature(EndFeatures.SHADOW_BERRY)
.feature(EndFeatures.TWISTED_VINE)
.feature(EndFeatures.PURPLE_POLYPORE)
.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.SHADOW_WALKER, 80, 2, 4)
.spawn(EntityType.ENDERMAN, 40, 1, 4)
.spawn(EntityType.PHANTOM, 1, 1, 2);
}
}

View file

@ -1,38 +1,47 @@
package ru.betterend.world.biome.land;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndEntities;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
import ru.betterend.world.surface.SurfaceBuilders;
public class SulphurSpringsBiome extends EndBiome {
public class SulphurSpringsBiome extends EndBiome.Config {
public SulphurSpringsBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("sulphur_springs"))
.addCustomData("has_caves", false)
.setSurface(SurfaceBuilders.SULPHURIC_SURFACE.configured(SurfaceBuilders.DEFAULT_END_CONFIG))
.setMusic(EndSounds.MUSIC_OPENSPACE)
.setLoop(EndSounds.AMBIENT_SULPHUR_SPRINGS)
.setWaterColor(25, 90, 157)
.setWaterFogColor(30, 65, 61)
.setFogColor(207, 194, 62)
.setFogDensity(1.5F)
.setDepth(0F)
.setParticles(EndParticles.SULPHUR_PARTICLE, 0.001F)
.addFeature(EndFeatures.GEYSER)
.addFeature(EndFeatures.SURFACE_VENT)
.addFeature(EndFeatures.SULPHURIC_LAKE)
.addFeature(EndFeatures.SULPHURIC_CAVE)
.addFeature(EndFeatures.HYDRALUX)
.addFeature(EndFeatures.CHARNIA_GREEN)
.addFeature(EndFeatures.CHARNIA_ORANGE)
.addFeature(EndFeatures.CHARNIA_RED_RARE)
.addMobSpawn(EndEntities.END_FISH, 50, 3, 8)
.addMobSpawn(EndEntities.CUBOZOA, 50, 3, 8)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 4));
super("sulphur_springs");
}
@Override
protected boolean hasCaves() {
return false;
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder
//TODO: 1.18 surface Rules
//.surface(SurfaceBuilders.SULPHURIC_SURFACE.configured(SurfaceBuilders.DEFAULT_END_CONFIG))
.music(EndSounds.MUSIC_OPENSPACE)
.loop(EndSounds.AMBIENT_SULPHUR_SPRINGS)
.waterColor(25, 90, 157)
.waterFogColor(30, 65, 61)
.fogColor(207, 194, 62)
.fogDensity(1.5F)
//TODO: 1.18 removed
//.depth(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);
}
}

View file

@ -1,27 +1,29 @@
package ru.betterend.world.biome.land;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
import ru.betterend.world.surface.SurfaceBuilders;
public class UmbraValleyBiome extends EndBiome {
public class UmbraValleyBiome extends EndBiome.Config {
public UmbraValleyBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("umbra_valley"))
.setFogColor(100, 100, 100)
.setPlantsColor(172, 189, 190)
.setWaterAndFogColor(69, 104, 134)
.setSurface(SurfaceBuilders.UMBRA_SURFACE.configured(SurfaceBuilders.DEFAULT_END_CONFIG))
.setParticles(EndParticles.AMBER_SPHERE, 0.0001F)
.setLoop(EndSounds.UMBRA_VALLEY)
.setMusic(EndSounds.MUSIC_DARK)
.addFeature(EndFeatures.UMBRALITH_ARCH)
.addFeature(EndFeatures.THIN_UMBRALITH_ARCH)
.addFeature(EndFeatures.INFLEXIA)
.addFeature(EndFeatures.FLAMMALIX)
);
super("umbra_valley");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.fogColor(100, 100, 100)
.plantsColor(172, 189, 190)
.waterAndFogColor(69, 104, 134)
//TODO: 1.18 surface Rules
//.surface(SurfaceBuilders.UMBRA_SURFACE.configured(SurfaceBuilders.DEFAULT_END_CONFIG))
.particles(EndParticles.AMBER_SPHERE, 0.0001F)
.loop(EndSounds.UMBRA_VALLEY)
.music(EndSounds.MUSIC_DARK)
.feature(EndFeatures.UMBRALITH_ARCH)
.feature(EndFeatures.THIN_UMBRALITH_ARCH)
.feature(EndFeatures.INFLEXIA)
.feature(EndFeatures.FLAMMALIX);
}
}

View file

@ -1,44 +1,46 @@
package ru.betterend.world.biome.land;
import net.minecraft.data.worldgen.StructureFeatures;
import net.minecraft.world.entity.EntityType;
import ru.bclib.world.biomes.BCLBiomeDef;
import ru.betterend.BetterEnd;
import ru.bclib.api.biomes.BCLBiomeBuilder;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
public class UmbrellaJungleBiome extends EndBiome {
public class UmbrellaJungleBiome extends EndBiome.Config {
public UmbrellaJungleBiome() {
super(new BCLBiomeDef(BetterEnd.makeID("umbrella_jungle"))
.setFogColor(87, 223, 221)
.setWaterAndFogColor(119, 198, 253)
.setFoliageColor(27, 183, 194)
.setFogDensity(2.3F)
.setParticles(EndParticles.JUNGLE_SPORE, 0.001F)
.setMusic(EndSounds.MUSIC_FOREST)
.setLoop(EndSounds.AMBIENT_UMBRELLA_JUNGLE)
.setSurface(EndBlocks.JUNGLE_MOSS)
.addFeature(EndFeatures.END_LAKE)
.addFeature(EndFeatures.UMBRELLA_TREE)
.addFeature(EndFeatures.JELLYSHROOM)
.addFeature(EndFeatures.TWISTED_UMBRELLA_MOSS)
.addFeature(EndFeatures.SMALL_JELLYSHROOM_FLOOR)
.addFeature(EndFeatures.JUNGLE_GRASS)
.addFeature(EndFeatures.CYAN_MOSS)
.addFeature(EndFeatures.CYAN_MOSS_WOOD)
.addFeature(EndFeatures.JUNGLE_FERN_WOOD)
.addFeature(EndFeatures.SMALL_JELLYSHROOM_WALL)
.addFeature(EndFeatures.SMALL_JELLYSHROOM_WOOD)
.addFeature(EndFeatures.SMALL_JELLYSHROOM_CEIL)
.addFeature(EndFeatures.JUNGLE_VINE)
.addFeature(EndFeatures.CHARNIA_CYAN)
.addFeature(EndFeatures.CHARNIA_GREEN)
.addFeature(EndFeatures.CHARNIA_LIGHT_BLUE)
.addFeature(EndFeatures.CHARNIA_RED_RARE)
.addStructureFeature(StructureFeatures.END_CITY)
.addMobSpawn(EntityType.ENDERMAN, 50, 1, 2));
super("umbrella_jungle");
}
@Override
protected void addCustomBuildData(BCLBiomeBuilder builder) {
builder.fogColor(87, 223, 221)
.waterAndFogColor(119, 198, 253)
.foliageColor(27, 183, 194)
.fogDensity(2.3F)
.particles(EndParticles.JUNGLE_SPORE, 0.001F)
.music(EndSounds.MUSIC_FOREST)
.loop(EndSounds.AMBIENT_UMBRELLA_JUNGLE)
.surface(EndBlocks.JUNGLE_MOSS)
.feature(EndFeatures.END_LAKE)
.feature(EndFeatures.UMBRELLA_TREE)
.feature(EndFeatures.JELLYSHROOM)
.feature(EndFeatures.TWISTED_UMBRELLA_MOSS)
.feature(EndFeatures.SMALL_JELLYSHROOM_FLOOR)
.feature(EndFeatures.JUNGLE_GRASS)
.feature(EndFeatures.CYAN_MOSS)
.feature(EndFeatures.CYAN_MOSS_WOOD)
.feature(EndFeatures.JUNGLE_FERN_WOOD)
.feature(EndFeatures.SMALL_JELLYSHROOM_WALL)
.feature(EndFeatures.SMALL_JELLYSHROOM_WOOD)
.feature(EndFeatures.SMALL_JELLYSHROOM_CEIL)
.feature(EndFeatures.JUNGLE_VINE)
.feature(EndFeatures.CHARNIA_CYAN)
.feature(EndFeatures.CHARNIA_GREEN)
.feature(EndFeatures.CHARNIA_LIGHT_BLUE)
.feature(EndFeatures.CHARNIA_RED_RARE)
.structure(VANILLA_FEATURES.getEND_CITY())
.spawn(EntityType.ENDERMAN, 50, 1, 2);
}
}