Cave biome populators

This commit is contained in:
paulevsGitch 2021-03-20 09:06:55 +03:00
parent 3dcafa522c
commit 945a322b53
44 changed files with 182 additions and 43 deletions

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome.land;
package ru.betterend.world.biome;
import java.io.InputStream;
import java.util.List;
@ -14,6 +14,7 @@ import net.minecraft.world.biome.Biome;
import ru.betterend.config.Configs;
import ru.betterend.util.JsonFactory;
import ru.betterend.util.StructureHelper;
import ru.betterend.world.biome.land.BiomeDefinition;
import ru.betterend.world.features.EndFeature;
import ru.betterend.world.features.ListFeature;
import ru.betterend.world.features.ListFeature.StructureInfo;

View file

@ -4,8 +4,8 @@ import net.minecraft.entity.EntityType;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndStructures;
import ru.betterend.world.biome.EndBiome;
import ru.betterend.world.biome.land.BiomeDefinition;
import ru.betterend.world.biome.land.EndBiome;
public class BiomeIceStarfield extends EndBiome {
public BiomeIceStarfield() {

View file

@ -6,15 +6,27 @@ import net.minecraft.block.BlockState;
import net.minecraft.util.collection.WeightedList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.gen.feature.Feature;
import ru.betterend.registry.EndBiomes;
import ru.betterend.world.biome.EndBiome;
import ru.betterend.world.biome.land.BiomeDefinition;
import ru.betterend.world.biome.land.EndBiome;
import ru.betterend.world.features.EndFeature;
import ru.betterend.world.features.terrain.caves.CaveChunkPopulatorFeature;
public class EndCaveBiome extends EndBiome {
private WeightedList<Feature<?>> floorFeatures = new WeightedList<Feature<?>>();
private WeightedList<Feature<?>> ceilFeatures = new WeightedList<Feature<?>>();
public EndCaveBiome(BiomeDefinition definition) {
super(definition.setCaveBiome());
super(makeDef(definition));
}
private static BiomeDefinition makeDef(BiomeDefinition definition) {
EndFeature feature = EndFeature.makeChunkFeature(
definition.getID().getPath() + "_cave_populator",
new CaveChunkPopulatorFeature(() -> (EndCaveBiome) EndBiomes.getBiome(definition.getID()))
);
definition.addFeature(feature).setCaveBiome();
return definition;
}
public void addFloorFeature(Feature<?> feature, int weight) {

View file

@ -7,6 +7,7 @@ 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;
public class AmberLandBiome extends EndBiome {
public AmberLandBiome() {

View file

@ -5,6 +5,7 @@ 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 BlossomingSpiresBiome() {

View file

@ -9,6 +9,7 @@ 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 ChorusForestBiome() {

View file

@ -5,6 +5,7 @@ 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 CrystalMountainsBiome() {

View file

@ -5,6 +5,7 @@ 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 DragonGraveyardsBiome() {

View file

@ -5,6 +5,7 @@ import net.minecraft.world.gen.feature.ConfiguredStructureFeatures;
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 DryShrublandBiome() {

View file

@ -5,6 +5,7 @@ import net.minecraft.particle.ParticleTypes;
import net.minecraft.world.gen.feature.ConfiguredStructureFeatures;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.EndBiome;
public class DustWastelandsBiome extends EndBiome {
public DustWastelandsBiome() {

View file

@ -8,6 +8,7 @@ import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndSounds;
import ru.betterend.registry.EndStructures;
import ru.betterend.world.biome.EndBiome;
public class FoggyMushroomlandBiome extends EndBiome {
public FoggyMushroomlandBiome() {

View file

@ -6,6 +6,7 @@ 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 GlowingGrasslandsBiome() {

View file

@ -6,6 +6,7 @@ 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 LanternWoodsBiome() {

View file

@ -6,6 +6,7 @@ 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 MegalakeBiome() {

View file

@ -7,6 +7,7 @@ import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndSounds;
import ru.betterend.registry.EndStructures;
import ru.betterend.world.biome.EndBiome;
public class MegalakeGroveBiome extends EndBiome {
public MegalakeGroveBiome() {

View file

@ -5,6 +5,7 @@ import net.minecraft.particle.ParticleTypes;
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 PaintedMountainsBiome() {

View file

@ -7,6 +7,7 @@ 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 ShadowForestBiome() {

View file

@ -5,6 +5,7 @@ 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 {

View file

@ -6,6 +6,7 @@ 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 UmbrellaJungleBiome() {