Biome separation, Smaragdant caves & cave fixes

This commit is contained in:
paulevsGitch 2021-03-09 05:01:40 +03:00
parent 231794363b
commit 3daf3421ee
44 changed files with 332 additions and 140 deletions

View file

@ -1,18 +0,0 @@
package ru.betterend.world.biome;
import ru.betterend.registry.EndBlocks;
import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndSounds;
public class EmptyEndCaveBiome extends EndCaveBiome {
public EmptyEndCaveBiome() {
super(new BiomeDefinition("empty_end_cave")
.setFogColor(255, 184, 71)
.setFogDensity(2.0F)
.setPlantsColor(219, 115, 38)
.setWaterAndFogColor(145, 108, 72)
.setMusic(EndSounds.MUSIC_FOREST)
.setParticles(EndParticles.AMBER_SPHERE, 0.001F)
.setSurface(EndBlocks.AMBER_MOSS));
}
}

View file

@ -1,33 +0,0 @@
package ru.betterend.world.biome;
import java.util.List;
import java.util.Random;
import com.google.common.collect.Lists;
import net.minecraft.world.gen.feature.Feature;
public class EndCaveBiome extends EndBiome {
private List<Feature<?>> floorFeatures = Lists.newArrayList();
private List<Feature<?>> ceilFeatures = Lists.newArrayList();
public EndCaveBiome(BiomeDefinition definition) {
super(definition.setCaveBiome());
}
public void addFloorFeature(Feature<?> feature) {
floorFeatures.add(feature);
}
public void addCeilFeature(Feature<?> feature) {
ceilFeatures.add(feature);
}
public Feature<?> getFloorFeature(Random random) {
return floorFeatures.isEmpty() ? null : floorFeatures.get(random.nextInt(floorFeatures.size()));
}
public Feature<?> getCeilFeature(Random random) {
return ceilFeatures.isEmpty() ? null : ceilFeatures.get(random.nextInt(ceilFeatures.size()));
}
}

View file

@ -1,9 +1,11 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.air;
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.land.BiomeDefinition;
import ru.betterend.world.biome.land.EndBiome;
public class BiomeIceStarfield extends EndBiome {
public BiomeIceStarfield() {

View file

@ -0,0 +1,12 @@
package ru.betterend.world.biome.cave;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.land.BiomeDefinition;
public class EmptyEndCaveBiome extends EndCaveBiome {
public EmptyEndCaveBiome() {
super(new BiomeDefinition("empty_end_cave")
.setFogDensity(2.0F)
.setMusic(EndSounds.MUSIC_FOREST));
}
}

View file

@ -0,0 +1,25 @@
package ru.betterend.world.biome.cave;
import ru.betterend.registry.EndFeatures;
import ru.betterend.registry.EndParticles;
import ru.betterend.registry.EndSounds;
import ru.betterend.world.biome.land.BiomeDefinition;
public class EmptySmaragdantCaveBiome extends EndCaveBiome {
public EmptySmaragdantCaveBiome() {
super(new BiomeDefinition("empty_smaragdant_cave")
.setFogColor(0, 253, 182)
.setFogDensity(2.0F)
.setPlantsColor(0, 131, 145)
.setWaterAndFogColor(31, 167, 212)
.setMusic(EndSounds.MUSIC_FOREST)
.setParticles(EndParticles.FIREFLY, 0.001F));
this.addFloorFeature(EndFeatures.SMARAGDANT_CRYSTAL, 1);
this.addFloorFeature(EndFeatures.SMARAGDANT_CRYSTAL_SHARD, 20);
}
@Override
public float getFloorDensity() {
return 0.1F;
}
}

View file

@ -0,0 +1,37 @@
package ru.betterend.world.biome.cave;
import java.util.Random;
import net.minecraft.util.collection.WeightedList;
import net.minecraft.world.gen.feature.Feature;
import ru.betterend.world.biome.land.BiomeDefinition;
import ru.betterend.world.biome.land.EndBiome;
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());
}
public void addFloorFeature(Feature<?> feature, int weight) {
floorFeatures.add(feature, weight);
}
public void addCeilFeature(Feature<?> feature, int weight) {
ceilFeatures.add(feature, weight);
}
public Feature<?> getFloorFeature(Random random) {
return floorFeatures.isEmpty() ? null : floorFeatures.pickRandom(random);
}
public Feature<?> getCeilFeature(Random random) {
return ceilFeatures.isEmpty() ? null : ceilFeatures.pickRandom(random);
}
public float getFloorDensity() {
return 0;
}
}

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import net.minecraft.world.gen.feature.ConfiguredStructureFeatures;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import ru.betterend.registry.EndBlocks;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import net.minecraft.particle.ParticleTypes;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import ru.betterend.registry.EndBlocks;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import java.util.List;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import net.minecraft.particle.ParticleTypes;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import net.minecraft.world.gen.feature.ConfiguredStructureFeatures;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import ru.betterend.registry.EndBlocks;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import ru.betterend.registry.EndBlocks;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import net.minecraft.particle.ParticleTypes;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import net.minecraft.particle.ParticleTypes;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import ru.betterend.registry.EndEntities;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import net.minecraft.world.gen.feature.ConfiguredStructureFeatures;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import ru.betterend.registry.EndBlocks;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import net.minecraft.world.gen.feature.ConfiguredStructureFeatures;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import java.io.InputStream;
import java.util.List;

View file

@ -1,4 +1,4 @@
package ru.betterend.world.biome;
package ru.betterend.world.biome.land;
import net.minecraft.entity.EntityType;
import net.minecraft.world.gen.feature.ConfiguredStructureFeatures;