78 lines
4.6 KiB
Java
78 lines
4.6 KiB
Java
package biomesoplenty.common.biome.nether;
|
|
|
|
import biomesoplenty.api.enums.BOPClimates;
|
|
import biomesoplenty.common.biome.NetherBiomeTemplate;
|
|
import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures;
|
|
import net.minecraft.client.audio.BackgroundMusicTracks;
|
|
import net.minecraft.entity.EntityClassification;
|
|
import net.minecraft.entity.EntityType;
|
|
import net.minecraft.particles.ParticleTypes;
|
|
import net.minecraft.util.SoundEvents;
|
|
import net.minecraft.world.biome.*;
|
|
import net.minecraft.world.gen.GenerationStage;
|
|
import net.minecraft.world.gen.carver.ConfiguredCarvers;
|
|
import net.minecraft.world.gen.feature.Features;
|
|
import net.minecraft.world.gen.feature.structure.StructureFeatures;
|
|
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder;
|
|
import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilders;
|
|
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder;
|
|
|
|
public class UndergrowthBiome extends NetherBiomeTemplate
|
|
{
|
|
public UndergrowthBiome()
|
|
{
|
|
this.addWeight(BOPClimates.NETHER, 10);
|
|
}
|
|
|
|
@Override
|
|
protected void configureBiome(Biome.Builder builder)
|
|
{
|
|
builder.precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.NETHER).depth(0.1F).scale(0.2F).temperature(2.0F).downfall(0.0F);
|
|
|
|
builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(0x1C2109).skyColor(calculateSkyColor(2.0F)).ambientParticle(new ParticleEffectAmbience(ParticleTypes.MYCELIUM, 0.00714F)).ambientLoopSound(SoundEvents.AMBIENT_WARPED_FOREST_LOOP).ambientMoodSound(new MoodSoundAmbience(SoundEvents.AMBIENT_CRIMSON_FOREST_MOOD, 6000, 8, 2.0D)).ambientAdditionsSound(new SoundAdditionsAmbience(SoundEvents.AMBIENT_NETHER_WASTES_ADDITIONS, 0.0111D)).backgroundMusic(BackgroundMusicTracks.createGameMusic(SoundEvents.MUSIC_BIOME_NETHER_WASTES)).build());
|
|
}
|
|
|
|
@Override
|
|
protected void configureGeneration(BiomeGenerationSettings.Builder builder)
|
|
{
|
|
builder.surfaceBuilder(ConfiguredSurfaceBuilders.NETHER);
|
|
|
|
//Terrain
|
|
builder.addStructureStart(StructureFeatures.RUINED_PORTAL_NETHER);
|
|
builder.addStructureStart(StructureFeatures.NETHER_BRIDGE);
|
|
builder.addStructureStart(StructureFeatures.BASTION_REMNANT);
|
|
builder.addCarver(GenerationStage.Carving.AIR, ConfiguredCarvers.NETHER_CAVE);
|
|
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Features.SPRING_OPEN);
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Features.PATCH_FIRE);
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Features.PATCH_SOUL_FIRE);
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Features.GLOWSTONE_EXTRA);
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Features.GLOWSTONE);
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Features.BROWN_MUSHROOM_NETHER);
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Features.RED_MUSHROOM_NETHER);
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Features.ORE_MAGMA);
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, Features.SPRING_CLOSED);
|
|
|
|
//Vegetation
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, BOPConfiguredFeatures.UNDERGROWTH_TREES);
|
|
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, BOPConfiguredFeatures.NETHER_BRAMBLE);
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, BOPConfiguredFeatures.UNDERGROWTH_FLOWERS);
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, BOPConfiguredFeatures.SPROUTS_UNDERGROWTH);
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, BOPConfiguredFeatures.DEAD_GRASS_45);
|
|
builder.addFeature(GenerationStage.Decoration.UNDERGROUND_DECORATION, BOPConfiguredFeatures.NETHER_VINES);
|
|
|
|
DefaultBiomeFeatures.addNetherDefaultOres(builder);
|
|
}
|
|
|
|
@Override
|
|
protected void configureMobSpawns(MobSpawnInfo.Builder builder)
|
|
{
|
|
//Entities
|
|
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.GHAST, 50, 4, 4));
|
|
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.MAGMA_CUBE, 2, 4, 4));
|
|
builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.HOGLIN, 9, 3, 4));
|
|
builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.STRIDER, 60, 1, 2));
|
|
}
|
|
}
|